jquery.i18n.properties中⽂⽂档(供参考)
版本: 1.2.2
关于
jQuery.i18n.properties是⼀个轻量级的jQuery插件,⽤于从.properties⽂件中提供javascript的国际化,就像在Java资源包中⼀样。它根据提供的语⾔和国家代码(ISO-639和ISO-3166)或浏览器报告的语⾔加载和解析资源包(.properties)。
资源束是包含区域设置特定键值对的“.properties”⽂件。在Java和Javascript项⽬之间共享i18n⽂件时,使⽤’.properties’⽂件进⾏翻译特别有⽤。此插件⾸先加载默认⽂件(例如Messages.properties),然后加载特定于特定区域的⽂件
(Messages_pt.properties,Messages_pt_BR.properties)(⽐如中⽂下的粤语),以便在没有提供翻译时,默认值始终可⽤。翻译的键将作为javascript变量/函数(如果翻译的值包含替换(例如,{0})或作为 map),开发⼈员可⽤。
特征
使⽤Java标准的“.properties”⽂件进⾏翻译
使⽤标准ISO-639作为语⾔代码,使⽤ISO-3166作为国家代码
将资源包从基本语⾔顺序加载到⽤户指定/浏览器指定的位置,因此对于未翻译的字符串始终有⼀个默认值(例如:
Messages.properties,Messages_pt.properties,Messages_pt_BR.properties)
如果未指定语⾔,请使⽤浏览器报告的语⾔
资源束字符串中的占位符替换(例如,msg_hello = Hello {0} !!)
⽀持键中的命名空间(例如,company.msgs.hello = Hello!)
⽀持多⾏属性值sort命令日期排序
可⽤作JavaScript 变量/函数或作为映射的资源束键(map)
可以指定实现的语⾔以防⽌不必要的下载
历史
这个项⽬最初由创建, 并发布在Google代码上。在2014年,它已经迁移到Github,现在是官⽅的存储库。
从那时起,其他伟⼤的贡献者加⼊了该项⽬(见下⾯的积分部分)。
它已被⽤于各种项⽬,包括(在演⽰⾥可以看到jquery-i18n属性在⾏动),⼀些
以下⾯的.properties⽂件
Messages.properties:
#此⾏被插件忽略
msg_hello = Hello
msg_world = World
msg_complex = Good morning {0}!
Messages_pt.properties:
#我们只提供⼀个“msg_hello”键
msg_hello = Bom dia
Messages_pt_BR.properties:
#我们只提供⼀个“msg_hello”键
msg_hello = Olá
现在,假设这些⽂件位于bundle/⽂件夹上。可以像下⾯调⽤插件:
// 这将初始化插件
// 这⾥会显⽰两个对话框: ⼀个⾥⾯的⽂本为 "Olá World"
// 另⼀个的⽂本为 "Good morning John!"
jQuery.i18n.properties({
name:'Messages',
path:'bundle/',
mode:'both',
language:'pt_BR',
checkAvailableLanguages: true,
async: true,
callback: function() {
// 我们指定的模式: 'both' ,所以翻译的值会将作为JS的变量/⽅法和⼀个map
//通过map访问⼀个简单的值
jQuery.i18n.prop('msg_hello');
// 通过map访问带占位符的值
jQuery.i18n.prop('msg_complex', 'John');
/
怎么switch语句/ 通过JS变量访问⼀个简单的值
alert(msg_hello +' '+ msg_world);
// 通过JS函数访问带占位符的值
alert(msg_complex('John'));
}
});
这将初始化插件(加载bundle⽂件并解析它们),并显⽰⼀个对话框,⽂本“OláWorld”和另⼀个显⽰“Good morning John!”。因为我们没有提供msg_world键的翻译,所以显⽰英⽂单词”World“。还要注意,键可⽤作映射,还可以作为javascript变量(对于简单字符串)和javascript函数(对于具有替换占位符的字符串)。
有关“checkAvailableLanguages”标志的更多信息,请参阅实现语⾔控制。mockplus 破解版
零代码开发app实现语⾔控制
您可以选择定义已实现的语⾔,并控制下载哪些属性⽂件。您可以通过在与语⾔属性⽂件相同的⽬录中创建⼀个⽂件languages.json来实现。languages.json包含已实现并可供下载的语⾔代码的列表。这样做的优点有两个:
1.  更少的HTTP连接。
jquery下载文件请求
2.  开发⼈员控制台中404错误较少。
这⾥有⼀个languages.json⽂件的例⼦:
{
"languages": [
"en_GB",
"es_ES",
"pt_BR",
开发者工具授权窗口点击允许没反应"sv_SE"
]
}
将这作为languages.json保存在与属性⽂件相同的⽬录中将阻⽌i18n尝试拉取除了列出的语⾔之外的任何语⾔。
最后⼀件事你需要做激活语⾔控制:你需要在你的调⽤代码中,设置⼀个标志,checkAvailableLanguages,在你设置传递给
i18n.properties函数的时候。如果不这样做,则应⽤语⾔查的默认下降⾏为。
异步语⾔⽂件加载
考虑到这⼀点…
如果您对设置提供了“async”标志并将其设置为true,则所有ajax调⽤都将异步执⾏,并且在语⾔⽂件已全部下载并解析后调⽤提供的回调。如果您关闭标志或将其设置为false,⾏为如前所述:所有⽂件将同步解析,并在过程结束时调⽤回调。
⽤法
使⽤插件
1.将其包含在您的部分:
<script type="text/javascript" language="JavaScript" src="js/jquery.i18n.properties-min.js"></script>
2.初始化插件(最⼩使⽤,将使⽤浏览器报告的语⾔),并访问翻译的值(假设存在⼀个名为“org.somekey”的键,它将被设置为⼀个变量,您可以直接在Javascript中使⽤):
<script>
jQuery.i18n.properties({
name: 'Messages',
callback: function(){ alert( org.somekey ); }
});
</script>
Firefox的附加要求
如果使⽤Firefox和Tomcat webapp,您可能会在Javascript控制台中得到⼀个syntax error。解决⽅案是告诉Tomcat属性⽂件应该解释为text/plain。为此,请将以下内容添加到l中:
<mime-mapping> <extension>properties</extension> <mime-type>text/plain</mime-type> </mime-mapping>
构建缩⼩的JavaScript⽂件
1.安装closure编译⼯具:
apt-get update && apt-get install closure-compiler
2.运⾏:
closure-compiler --js jquery.i18n.properties.js \ --js_output_file jquery.i18n.properties.min.js
选项
选项描述说明
名称(name)表⽰资源束的⽂件的部分名称(或名称)(例如,’Messags’或[‘Msg1’,’Msg2’])。默
认为“Messages”
可选,字符串
或字符串[]
语⾔ISO-639语⾔代码和可选的ISO-3166国家代码(例如,’en’,’en_US’,’pt_BR’)。如果未指定,将使⽤浏览
(language)器报告的语⾔。可选,字符串路径(path)包含要加载的“.properties”⽂件的⽬录的路径。可选,字符串
模式(mode)选项使资源束键可⽤作Javascript 变量/⽅法或作为⼀个map。如果您的捆绑的键包含Javascript保留字,则’map’选
项是必需的。可能的选项:’vars’(默认),’map’或’both’。
可选,字符串
缓存(cache)是否应由浏览器缓存bundle,或在每个⽹页加载时强制重新加载。默认为false(即强制重新加载)
选,boolean
编码
(encoding)
请求捆绑的编码。属性⽂件资源束指定为ISO-8859-1格式。默认为UTF-8以实现向后兼容性。可选 ,字符串
回调函数(callback)回调函数被称为uppon脚本执⾏完成。可选,⽅法名
选项描述说明

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。