0

多言語のiOS/Androidアプリで作業しており、xmlファイルを使用して翻訳を取得しています。翻訳関数はi18n-xxxクラスを探し、html要素のテキストをそのクラスのテキストをxmlファイルのテキストに置き換えます。

例:

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 に答える