fix(i18n):改变参数分隔方式为 ; 号。使用原来的 , 号会出现一些数字被分隔的 bug

This commit is contained in:
lxy 2021-01-19 22:01:20 +08:00
parent 5dd3c836aa
commit ed19095b14
3 changed files with 3 additions and 3 deletions

View File

@ -61,7 +61,7 @@ placeholder: 这是提示文本
<title class="i18n" data-iname="page.title" data-ivalue="${blog_title!}"></title>
```
`data-ivalue` 可以接收一个或多个可变参数【多个参数使用英文逗号(`,`)分隔】。在执行国际化的时候,会将此值带入并进行渲染。
`data-ivalue` 可以接收一个或多个可变参数【多个参数使用英文分号(`;`)分隔】。在执行国际化的时候,会将此值带入并进行渲染。
使用通配符方式时,`zh.yml` 应该使用如下方式编写:

View File

@ -39,7 +39,7 @@ var I18N = function() {
var attr = $(this).data('iattr');
args.push(name);
if (value) {
value = value.split(",");
value = value.split(";");
args = args.concat(value);
}

2
script/i18n.min.js vendored
View File

@ -1 +1 @@
"use strict";var I18N=function(){var _doc,_i18nlanguage,LOG_TAG="I18N";var _load=function _load(){if(!window.$){Util.loadJS(Poi.themeBase+"/source/js/lib.js",_load)}else if(!window.$.i18n){Util.loadJS(Poi.themeBase+"/source/lib/jquery-i18n/jquery.i18n.min.js",_load)}else if(!window.jsyaml){Util.loadJS(Poi.themeBase+"/source/lib/js-yaml/dist/js-yaml.min.js",_load)}else{_execI18n()}};var _renderI18n=function _renderI18n(){if(!$.i18n){Log.e("未能加载国际化插件,终止国际化操作!",LOG_TAG)}$.i18n.unload();$.i18n.load(_doc);$(".i18n").each(function(){var args=[];var name=$(this).data("iname");var value=$(this).data("ivalue")+"";var attr=$(this).data("iattr");args.push(name);if(value){value=value.split(",");args=args.concat(value)}var text=$.i18n._.apply($.i18n,args);if(attr){$(this).attr(attr,text)}else{$(this).text(text)}})};var _execI18n=function _execI18n(){if(Util.getLocalStorage(_i18nlanguage+".yml")){_doc=JSON.parse(Util.getLocalStorage(_i18nlanguage+".yml"));_renderI18n()}else{$.ajax({url:Poi.themeBase+"/languages/"+_i18nlanguage+".yml",success:function success(data){_doc=jsyaml.safeLoad(data,"utf8");if(!_doc){Log.w("读取读取国际化数据失败",LOG_TAG);return}Util.setLocalStorage(_i18nlanguage+".yml",JSON.stringify(_doc),60*60*24);_renderI18n()}})}};return{init:function init(){if(Poi.i18n&&Poi.i18n!="auto"){_i18nlanguage=Poi.i18n}else if(Util.getLocalStorage("_i18nlanguage")){_i18nlanguage=Util.getLocalStorage("_i18nlanguage")}else{_i18nlanguage=Util.getNavLangSub();Util.setLocalStorage("_i18nlanguage",_i18nlanguage,60*60*24*30)}if(!_i18nlanguage){_i18nlanguage="zh";Log.w("未能判断语言将使用默认语言zh",LOG_TAG)}_load()}}}();
"use strict";var I18N=function(){var _doc,_i18nlanguage,LOG_TAG="I18N";var _load=function _load(){if(!window.$){Util.loadJS(Poi.themeBase+"/source/js/lib.js",_load)}else if(!window.$.i18n){Util.loadJS(Poi.themeBase+"/source/lib/jquery-i18n/jquery.i18n.min.js",_load)}else if(!window.jsyaml){Util.loadJS(Poi.themeBase+"/source/lib/js-yaml/dist/js-yaml.min.js",_load)}else{_execI18n()}};var _renderI18n=function _renderI18n(){if(!$.i18n){Log.e("未能加载国际化插件,终止国际化操作!",LOG_TAG)}$.i18n.unload();$.i18n.load(_doc);$(".i18n").each(function(){var args=[];var name=$(this).data("iname");var value=$(this).data("ivalue")+"";var attr=$(this).data("iattr");args.push(name);if(value){value=value.split(";");args=args.concat(value)}var text=$.i18n._.apply($.i18n,args);if(attr){$(this).attr(attr,text)}else{$(this).text(text)}})};var _execI18n=function _execI18n(){if(Util.getLocalStorage(_i18nlanguage+".yml")){_doc=JSON.parse(Util.getLocalStorage(_i18nlanguage+".yml"));_renderI18n()}else{$.ajax({url:Poi.themeBase+"/languages/"+_i18nlanguage+".yml",success:function success(data){_doc=jsyaml.safeLoad(data,"utf8");if(!_doc){Log.w("读取读取国际化数据失败",LOG_TAG);return}Util.setLocalStorage(_i18nlanguage+".yml",JSON.stringify(_doc),60*60*24);_renderI18n()}})}};return{init:function init(){if(Poi.i18n&&Poi.i18n!="auto"){_i18nlanguage=Poi.i18n}else if(Util.getLocalStorage("_i18nlanguage")){_i18nlanguage=Util.getLocalStorage("_i18nlanguage")}else{_i18nlanguage=Util.getNavLangSub();Util.setLocalStorage("_i18nlanguage",_i18nlanguage,60*60*24*30)}if(!_i18nlanguage){_i18nlanguage="zh";Log.w("未能判断语言将使用默认语言zh",LOG_TAG)}_load()}}}();