2012-02-16 8 views
4

私はRailsアプリケーションでember.jsを使用しようとしています。Ember.jsハンドルバーグローバリゼーションアプローチ

ハンドブックのビューテンプレートの内容をグローバル化することに関する特定の質問があります。

私はmyview.handlebars.erbを作成して、サーバー側で翻訳された文字列を取得する必要がありますか(これは試していません)、各言語ごとに別々のハンドルバーテンプレートを作成する必要があります)?

これは理想的な方法ですか?

答えて

4

エンバー・国際化は、ソリューションを提供します:https://github.com/jamesarosen/ember-i18n

+0

Yaay!それを愛してください:) – thanikkal

+4

これは意味がないこの "user.followers.title.other"のような文字列でいっぱいのテンプレートで終わるので、問題のあるアプローチです。テンプレートには次のように書かれています: '{{count}} Followers'なので、何をレイアウトしているのか理解できます。 Jed.jsや他のgettextソリューションをヘルパーでよりうまく包むようにする。 –

6

あなたsatisfactioinにこの作業を取得しましたか?

もう1つの選択肢(http://travis-ci.orgで使用)はi18n-jsです。 ローカライゼーションをすべて同じ場所(config/locales/[x] .yml)に保存して、自動的にアセットのパスに追加できるので好きです。

そのDRY事の

パート;)あなたのハンドルバーで

構文はほとんど同じで、私達はちょうど私達にハンドルヘルパー

Handlebars.registerHelper('i18n', function(key) { 
    return new Handlebars.SafeString(I18n.t(key)) 
}); 

してから{{国際化「path.to.translation "}}をハンドルバービューに表示します。

+0

+1これは本当に素晴らしい選択肢です。 – thanikkal

+1

他の回答にもフラグが立てられている問題解決策。 –

+1

これを '{{bindAttr ... title =" i18n 'path.to.translation' "}}'スコープ内で使用したいのですが、どうすればいいですか? – p1100i