2012-02-16 59 views
4

我想在我的Rails應用程序中使用ember.js。Ember.js把手全球化方法

針對全球化處理欄視圖模板內容有一個具體問題。

我應該嘗試創建myview.handlebars.erb並獲取在服務器端翻譯的字符串(還沒試過這個),或者我應該爲每種語言創建單獨的句柄模板(聽起來不像真的DRY,除非有更清晰的方法)?

最好的方法是什麼?

回答

4

灰燼-的I18n提供了一個解決方案:https://github.com/jamesarosen/ember-i18n

+0

Yaay!愛:) – thanikkal 2012-02-16 16:16:13

+4

這是一個有問題的方法,因爲你以一個完整的字符串像這樣的「user.followers.title.other」這樣的模板結束是沒有意義的。在模板中應該寫成:'All {{count}} Followers'',這樣你就可以理解你在鋪設什麼。更好地將Jed.js或其他gettext解決方案包裝到幫助程序中。 – 2013-03-20 17:38:40

6

你得到這個工作,你satisfactioin?

另一種選擇(我們在http://travis-ci.org使用的是i18n-js)。 我們喜歡它,因爲它可讓您將所有本地化保存在同一位置(config/locales/[x] .yml),並自動將它們添加到資產路徑中。

的該乾的事兒

部分;)

的語法在你的車把幾乎是一樣的,我們只是我們一個車把幫手

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

,然後{{國際化「path.to.translation 「}}在車把視圖中。

+0

+1,這也是一個非常好的選擇。 – thanikkal 2012-03-12 12:15:20

+1

有問題的解決方案也被標記在其他答案中。 – 2013-03-20 17:39:14

+1

我想在'{{bindAttr ... title =「i18n'path.to.translation'」}}範圍內使用這個,我該怎麼做? – p1100i 2013-08-20 10:42:35