基于js的APP多语言处理

本文出自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都行:

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

原文地址:https://www.cnblogs.com/APICloud/p/11193061.html

时间: 2024-08-11 11:55:03

基于js的APP多语言处理的相关文章

借助动态代码生成技术在基于Webkit引擎的HTML5网页JS内调用易语言函数

作者:庄晓立(Liigo) 日期:2015年3月3日夜 原创链接:http://blog.csdn.net/liigo/article/details/44045177 版权所有,转载请注明出处:http://blog.csdn.net/liigo 前两天我协助解决了一个技术问题,在此稍作记录和总结. 具体来说,就是在使用基于Webkit引擎的封装组件wke的过程中,需要把一个易语言函数注册给JavaScript引擎,让它可以在网页里被调用(就像在网页里调用普通JavaScript函数一样).如

jquery:基于js的框架

jquery:基于js的框架 框架: 1.方便使用 2.解决了兼容性的问题 官方网站jQuery.com(2点几版本的不支持IE6.7.8) this 当前环境下指代的对象 闭包(closer) 1.可以让局部变量持续的保存下来 在一个函数(对象)里面定义一个函数,这个内部函数可以访问外面函数的局部变量,而且可以让外面的变量引用,可以持续保存局部变量 一个函数里面必须包含一个函数,而且要引用外面函数的变量,里面的函数必须要返回出去,可以使用相同名称的变量 缺点:对内存耗需比较大,可能会导致内存泄

基于 Autojs 的 APP、小程序自动化测试 SDK

原文:https://blog.csdn.net/laobingm/article/details/98317394 autojs sdk基于 Autojs 的 APP.小程序自动化测试 SDK,支持:启动应用.停留等待.判断存在.文本点击.颜色点击.循环点击.坐标拾取.语音播报.通知栏提示.音量调节.震动等数十项能力. autojs sdk 在 Auto.js 的基础上,通过大量接口优化提升了模块的通用性,并进行丰富的功能扩展. 运行环境下载下载方式:sdk 测试阶段请加群下载 autojs

基于 Autojs 的 APP、小程序自动化测试 SDK - 2019年8月3日

原文:https://blog.csdn.net/laobingm/article/details/98317394 autojs sdk基于 Autojs 的 APP.小程序自动化测试 SDK,支持:启动应用.停留等待.判断存在.文本点击.颜色点击.循环点击.坐标拾取.语音播报.通知栏提示.音量调节.震动等数十项能力. autojs sdk 在 Auto.js 的基础上,通过大量接口优化提升了模块的通用性,并进行丰富的功能扩展. 运行环境下载下载方式:sdk 测试阶段请加群下载 autojs

【转】基于laravel制作APP接口(API)

这篇文章主要介绍了基于laravel制作APP接口(API)的相关资料,需要的朋友可以参考下 前期准备 前言,为什么做以及要做个啥本人姓小名白,不折不扣编程届小白一名,但是自从大一那会儿接触到编程这件奇妙的事情,就完完全全的陷入的程序的世界. 这不,最近又开始折腾APP了,话说现在开发一款APP真是容易,只用JavaScript和一点点HTML+css技术就可以完成.但是做APP的后台就不一样了.开发了APP,想让读点数据进去,那我们就要去开发个后台了. laravel框架,是我最喜欢的PHP框

常见排序算法基于JS的实现

一:冒泡排序 1. 原理 a. 从头开始比较相邻的两个待排序元素,如果前面元素大于后面元素,就将二个元素位置互换 b. 这样对序列的第0个元素到n-1个元素进行一次遍历后,最大的一个元素就“沉”到序列的最后位置(第n-1个位置,n为待排序元素个数) c.排除此次排序最后面的那个元素(n=n-1),继续对剩余序列重复前面两步 d. 当(n= n-1)=0时,排序完成 2. 具体实现 以如下待排序序列为例: 到此,第一次冒泡完成,最大值7冒泡到最后面. 然后继续对除最后元素(7)外的序列进行冒泡排序

基于js全屏动画焦点图幻灯片

今天给大家分享一款基于js全屏动画焦点图幻灯片.这款焦点图内的内容以动画形式出现和消失.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="slideshow" id="slideshow"> <ol class="slides"> <li class="current"> <div class="description"&g

基于phonegap开发app的实践

app开发告一段落,期间遇到不少问题,写篇文章记录一下. 为虾米要用phonegap 开发app,至少要考虑android和ios两个版本吧,android偶可以应付,ios表示完全木有接触过,于是时间成本.开发成本上去了.phonegap则解决了这个问题,而且对po主而言,用web开发的方式来搞app很爽啊有木有! 当然,用之前还是要调研下,基于phonegap的app有木有成功案例.大公司里腾讯的qq邮箱ios版,豆瓣的豆瓣音乐人都是基于phonegap.重点看了看豆瓣音乐人,很无耻的反编译

[WebOS]基于JS的HP-WebOS开发中Eclipse安装Aptana插件时报"Bad Gateway"错误解决方案

进入Aptana官网:http://www.aptana.com/ 跳转到下载页面,选择下载Eclipse plugin installation, 发现官网只给出在线更新的网址: http://download.aptana.com/studio3/plugin/install 但是试过在线更新的童鞋都知道这是多么蛋疼的事情,于是,google到解决方法: 复制在线更新链接,在浏览器打开,你会看到会自动跳转到: http://d1iwq2e2xrohf.cloudfront.net/tools