滴答软件

  • 首页
  • 技术服务
  • 服务案例
  • 技术博客
    • 全部分类
    • 软件开发
    • 微信小程序
    • ERP开发
  • 项目询价

网站多语言实现技术细节之一

2021年8月8日admin

前面的两篇文章分别介绍了网站多语言的使用场景和实现方案,本节就将更深入的介绍技术细节,如果没有看过前面文章的,可以点去大概看下,这里不再重复上面的内容。

我们将从这几方面进行阐述:收集页面待翻译字符串;存入Redis待处理;编写第三方翻译接口;编写翻译算法;输出翻译后的字符串。

首先,如何收集页面上需要翻译的字符串呢?

用过Laravel、Thinkphp等第三方开源框架的应该都有印象,系统会默认提供一个翻译的助手函数,正常我们通过语言包把内容翻译后就可以了,我们就是利用了类似的方法,如果没有接触过上面说的开源框架也没关系,接下来我们会说明。我们会预先定义一个页面方法,这个方法是可以在view层被执行,现在的架构都是mvc架构,页面的显示都是通过view层文件渲染出来的,比如view层常用的Smart模板引擎,都有很多的预定义方法,我们可以参考然后可以方便实现我们需要的这个功能。

这个语言方法中我们将会进行一次封装,具体逻辑是:首先调用系统的默认语言函数,如果系统语言包没有定义该语言对应的内容,则通过逻辑判断进行我们接下来的逻辑,从我们缓存的语言文件进行读取解析,如果有则直接返回,如果没有则通过逻辑判断,执行进一步的逻辑,调用翻译接口去翻译。那么这些没有翻译的字符串将会被收集起来,进行到下一个步骤,存入Redis待处理。

字符串存入Redis,为什么要存如Redis呢,这也是基于执行效率考虑的。其他方法也可以考虑,比如存入数据库或者存入文件都可以。但是推荐Redis,如果对Redis不熟悉,可以考虑数据库。这是为调用翻译接口准备的,因为翻译接口都是一条一条字符串进行翻译的,很少支持批量的。对每个字符串收集到Redis中,还要进行重复性判断,如果已经存在了则不再继续存入,确保唯一。这里还有个细节可以根据自己的需求进行取舍,调用接口翻译之后,你是想把字符串继续留在Redis中还是删除掉。不删除的话,后期还可以继续使用,可以通过后台定时任务的方式可以进行翻译文件的统一更新(如果有需要的话),我们是翻译完了之后就删除。

(未完下节继续)

标签: ERP系统开发, 全站翻译, 电商网站建设, 网站国际化, 网页多语言
上一篇 我们是如何实现网站页面内容多语言的
下一篇 网站多语言实现技术细节之二

近期文章

  • 化妆品企业如何使用ERP系统提升企业利润
  • 公司的信息化系统对公司业务有哪些帮助
  • 软件项目开发的流程有哪些
  • 如何选择专业的软件开发公司
  • 如何设计一款符合公司业务的CRM系统

分类目录

  • ERP定制开发 (73)
  • Social Marketing (1)
  • Web Design (1)
  • 公司产品 (9)
  • 婚纱摄影小程序 (2)
  • 小程序开发公司 (30)
  • 微信公众号 (12)
  • 微信小程序 (161)
  • 技术分享 (11)
  • 民宿小程序 (1)
  • 热点资讯 (9)
  • 网站开发 (3)
  • 苏州ERP开发 (44)
  • 苏州ERP开发公司 (66)
  • 苏州软件外包企业 (97)
  • 苏州软件定制开发 (103)
  • 苏州软件开发公司 (98)
  • 行业新闻 (4)
  • 软件开发 (200)
  • 默认分类 (27)

文章归档

  • 2023年十二月 (1)
  • 2023年七月 (9)
  • 2023年六月 (9)
  • 2023年五月 (40)
  • 2023年四月 (30)
  • 2023年三月 (26)
  • 2023年二月 (13)
  • 2021年九月 (2)
  • 2021年八月 (4)
  • 2021年七月 (2)
  • 2020年十月 (1)
  • 2020年七月 (1)
  • 2020年六月 (1)
  • 2020年三月 (2)
  • 2019年十二月 (1)
  • 2019年十一月 (2)
  • 2019年十月 (10)
  • 2019年九月 (1)
  • 2019年八月 (23)
  • 2019年七月 (33)
  • 2019年六月 (24)
  • 2019年五月 (32)
  • 2019年四月 (19)
  • 2019年三月 (42)
  • 2019年二月 (29)
  • 2019年一月 (39)
  • 2018年十二月 (2)
  • 2018年十一月 (9)
  • 2018年十月 (3)
  • 2018年九月 (24)
  • 2018年八月 (8)
  • 2018年六月 (5)
  • 2018年五月 (3)
  • 2018年三月 (2)
  • 2018年一月 (3)
  • 2017年十二月 (5)
  • 2017年九月 (1)
  • 2016年四月 (1)

联系我们

联系邮箱:yzhu@didasoft.cn
服务热线:0512-65693880
服务热线:+86 155-0167-7862 (周一至周日)
公司地址: 苏州工业园区东平街299号欧瑞大厦320
工作时间: 09:00 - 18:00 ( 周一至周五 )

友情链接

苏州PHP开发
苏州APP开发
微信小程序开发
苏州软件开发公司
小程序制作开发

专业 高效 诚信 价值

滴答软件
  • 首页
  • 技术博客
  • 项目询价
  • FAQ问答
版权所有 © 2020 苏州滴答软件科技有限公司 苏ICP备16017844号

苏公网安备 32059002004131号