本文出自APICloud官方论坛,

感谢论坛版哈兮 分享。

 

本期分享一个js的多语言处理插件i18n.js,此插件是基于JQuery.i18n.properties修改而来的。

实现的原理就是在本地放置一个或多个语言资源文件,然后通过js加载这些资源文件并反序列化成json对象,再根据资源文件中定义的键名去替换页面中需要显示的地方。

再说说用法:
1、在页面中引入i18n.js,加载后会给window对象增加一个名叫 i18n 的属性,是个对象。
2、加载资源文件

3、资源文件加载完成后,会在 i18n.localize 对象中得到加载结果。如资源文件名为默认的Layout,则会得到 i18n.localize.Layout这个对象,它是一个包含资源文件中所有键值对信息的对象,属性名为资源文件中的键名,属性值为资源文件中的键值。
4、资源文件名称为 xxx.res, 如Layout.res, Layout_zh.res或Layout_zh_CN.res
  内容格式如:

想了解更多详情的可以参看JQuery.i18n.properties 文档

最后附上一个相对完整的处理流程,以供参考,也欢迎有更好的建议提出。

APP启动时获取语言偏好设置:

根据获取的语言加载对应的资源文件:

最后用加载出来的结果去替换页面中需要根据语言显示的地方,不管是用模板引擎也好还是一个个去获取html元素后修改innerTEXT都行:



至此,这个插件基本的应用应该是没有什么问题了。

最新文章

  1. TypeScript 素描-变量声明
  2. 共用字体-UI界面编辑器(SkinStudio)教程
  3. 使用autotools系列工具自动部署源代码编译安装
  4. Spring(八)SSH整合简述
  5. 更强大的trim功能,过滤汉字等
  6. hibernate映射文件基础
  7. Java代码安全测试解决方案
  8. composer 说明<转>
  9. Findbugs初探-使用idea获取findbugs插件
  10. 依赖注入及AOP简述(五)——依赖注入的方式 .
  11. nodejs中EventEmitter
  12. 类别sort使用排序
  13. 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之七 || API项目整体搭建 6.2 轻量级ORM
  14. ConcurrentHashMap1.8源码分析
  15. C# - 设计模式 - 钩子模式
  16. Docker启动Get Permission Denied
  17. keras的网络结构与网络配置
  18. 学习笔记CB004:提问、检索、回答、NLPIR
  19. 【XSY2523】神社闭店之日 莫比乌斯反演
  20. oracle表结构和表内容差异比对【原】

热门文章

  1. 用于数组的delete p324
  2. python基础十五之递归函数
  3. python基础八之文件操作
  4. 2019年第二阶段我要变强个人训练赛第八场 B.序列(seq)
  5. java 实现类似spring的可配置的AOP框架
  6. 【js】react-native Could not find iPhone 6 simulator 和 Entry, ":CFBundleIdentifier", Does Not Exist 两种报错解决办法
  7. tensorflow在文本处理中的使用——skip-gram & CBOW原理总结
  8. 关于git命令
  9. vue-learning:26 - component - 组件三大API之一:prop
  10. TOJ5705动态序列操作(STL or treap)