我正在开发一个多语言 iOS/Android 应用程序并使用 xml 文件来获取我的翻译。翻译函数查找 i18n-xxx 类,并用 xml 文件中的文本替换具有该类的 html 元素的文本。
例子:
html:
<a href="url.html" data-role="button" class="i18n-my-button">Button</a>
在 xml 文件中:
<translation id="i18n-my-button">
<en>Button</en>
<sv>Knapp</sv>
</translation>
Javascript:
...
$(xml).find("translation").each(function() {
...
var id = $(this).attr("id"); //i18n-my-button
var translation = $(this).find("sv").text(); //Knapp
...
$("." + id).find("span.ui-btn-text").text(translation);
});
通过这种方法,我几乎可以翻译任何 html 元素,例如按钮、单选按钮和复选框。但我无法翻译翻转拨动开关。
这就是我希望的样子:
<select name="slider" id="flip-a" data-role="slider">
<option value="off" class="i18n-off">Off</option>
<option value="on" class="i18n-on">On</option>
</select>
我希望能够使用与其他 html 元素相同的功能将“Off”和“On”翻译为“Av”和“På”。问题是 jQuery Mobile 将简单的选择翻译成一大段代码,我还没有确定我应该翻译什么元素以及如何翻译。
有什么建议么?