作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在研究 i18next 的可能性本地化库。
现在我有以下代码 ( full Fiddle is here ):
HTML
<div data-i18n="title"></div>
<input placeholder="Hello" value="name">
<div class="holder"></div>
<button class="lang" data-lang="en">Eng</button>
<button class="lang" data-lang="ch">Chi</button>
JS
$(document).ready(function () {
i18n.init({
"lng": 'en',
"resStore": resources,
"fallbackLng" : 'en'
}, function (t) {
$(document).i18n();
});
$('.lang').click(function () {
var lang = $(this).attr('data-lang');
i18n.init({
lng: lang
}, function (t) {
$(document).i18n();
});
});
});
它翻译了所有文本
元素,但问题是我无法翻译自定义属性
。例如,div 中的文本已翻译,但我无法理解如何翻译自定义属性,如 placeholder
和 value
。
另一个问题是我的翻译方式。每当单击 Chi
、Eng
按钮时,我都会初始化翻译(但我不确定这是正确的方法)。 编辑 我想我找到了解决这个问题的方法(我需要使用 setLng):i18n.setLng(lang, function(t) { ... })
最佳答案
询问后i18next creator这个问题直接,我收到了following reply : 我所需要的只是将我的自定义属性放在翻译元素的前面。这是一个例子:
<div data-i18n="[title]titleTransl"></div>
<input data-i18n="[placeholder]placeTransl" value="name">
如果需要多个属性,用;
分隔。
我从中学到了两件事:
关于javascript - 使用 i18next(占位符、值)翻译自定义属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22728797/
我是一名优秀的程序员,十分优秀!