hogan.jsを使用して、ブラウザにテンプレートを作成してください。私はホーガンがi18nをサポートしていると読んだが、これがどのように機能するかの例は見つからない。どのように翻訳されたテキストをhoganに渡し、どのタグをテンプレートに入れたら、{{_i}}と{{i18n}}の両方が見えましたか?Hogan.jsの国際化はどのように設定されていますか?
答えて
older forkのMustache.jsがTwitterから混乱していたようですが、Hoganと別のひげっこコンパイラーからもtwitterからです。フォークは、国際化のための{{_i}}
タグをサポートしています。これは、_
という名前のグローバル関数を呼び出します。この関数では、変換された値を検索する独自のメソッドを提供します。例えば。
translatedStrings = {
name: "Nom";
}
function _(i18nKey) {
return translatedStrings[i18nKey];
}
var template = "{{_i}}Name{{/i}}: {{username}}",
context = {username: "Jean Luc"};
Mustache.to_html(template, context);
"Nom:Jean Luc"を返します。例えば、ホーガンの国際化は、通常の口ひげのラムダで達成されたとのに対し:
translatedStrings = {
name: "Nom";
}
var template = "{{#i18n}}Name{{/i18n}}: {{username}}",
context = {
username: "Jean Luc",
i18n: function (i18nKey) {return translatedStrings[i18nKey];}
};
Hogan.compile(template).render(context);
はラムダを提供するの詳細についてはhttp://mustache.github.com/mustache.5.htmlを参照してください。したがって、主な違いは、Hoganでレンダリングするときは翻訳をルックアップする関数を常に提供しなければならないのに対して、mustache forkはグローバルメソッドを検索する点です。
これを実際に他の国際化アプローチと組み合わせるのは簡単です。 jquery-i18n-propertiesは、Javaと互換性のある.propertiesファイル( )の使用をサポートするjQueryプラグインです。
フレームワークは、Messages.propertiesというファイルをダウンロードしようとします。ブラウザの言語に応じて、 Messages_en.propertiesおよびMessages_en_US.propertiesをダウンロードします。これにより、翻訳の階層を非常に迅速に構築することができます。
では多少私が書き、slashnickの例を変更し、ホーガン/口ひげを使用して:
var template = "{{#i18n}}Name{{/i18n}}: {{username}}",
context = {
username: "Jean Luc",
i18n: function (i18nKey) {return jQuery.i18n.prop(key);}
};
// Init i18n
jQuery.i18n.properties(
{
name:'Messages',
path:'some/path',
mode : 'map'
});
Hogan.compile(template).render(context);
Messages.propertiesファイル:
Name = Name
Messages_fr.propertiesファイル:
Name = nom
を
私は本当にグロブをルックアップと特別なくそバージョンを使用する利点を参照してくださいアル機能(パフォーマンスはおそらく?)。
「jQuery.i18n.prop(key)」は「jQuery.i18n.prop(i18nKey) –
- 1. CodeIgniter設定ファイルの国際化?
- 2. 国際化されたWebサイトのオフラインアプリケーションキャッシュマニフェストを提供するにはどうすればよいですか?
- 3. レールプラグインを国際化/ローカライズするにはどうすればいいですか?
- 4. Grailsの国際化 - どのようにコード
- 5. どのようにRailsの国際
- 6. ASP.NETはどのようにマルチスレッド化されていますか?
- 7. バックボーンモデルのIDはどのように設定されていますか?
- 8. このエラーレベルはどのように設定されていますか?
- 9. resxファイルは国際化に適していますか?
- 10. IOS7 UITableViewは設定のようにグループ化されています。
- 11. UserControl幅は、実際の幅がそれに設定されている列に設定されています
- 12. 春の国際化:私はspring.Followingを通じて国際化を実装しようとしていますどのように動的に設定するロケール値
- 13. viewRendererは実際にどこに設定されていますか?
- 14. Azure Diagnosticsストレージアカウントはどのように設定されていますか?
- 15. iOSゲームはどのように設定されていますか?
- 16. ListViewItem.ListViewプロパティはどのように設定されていますか?
- 17. 国際化されていない文字列リテラルを抽出しますか?
- 18. DataGridViewCell.Datagridviewプロパティはどのように設定されますか?
- 19. time_tはどのように定義されていますか?
- 20. ダイヤモンドスキーマ:どのように正規化されていますか?
- 21. Railsの国際化
- 22. SSRSの国際化
- 23. カスタムモデルエラーの国際化
- 24. 中国語はどのようにコーディングしていますか?
- 25. XQUERYは実際にどのように使用されていますか?
- 26. Wami Recorderは実際にどのように実装されていますか?
- 27. Rails3:国際化がローカライズされていない "パスワード確認"など
- 28. モデルバリデーションのRails国際化(I18n):可能かどうか
- 29. Struts2 +国際化
- 30. YAML国際化
twitterでダスティン・ディアス(@ded)が好んでいるようです。 – Deeptechtons