0

我正在开发一个多语言 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 将简单的选择翻译成一大段代码,我还没有确定我应该翻译什么元素以及如何翻译。

有什么建议么?

4

1 回答 1

0

当滑块由 JQM 设置样式/创建时,您可以挂钩到触发的create事件。

$( ".selector" ).slider({
   create: function(event, ui) { 
      //Do translation here
   }
});
于 2012-06-07T14:33:01.060 回答