2013-01-25 50 views
0

有沒有辦法在ember/emberjs-bootstrap TextField標籤上使用i18n。i18n可以應用於emberjs TextFields/Labels等嗎?

例如

{{view "Bootstrap.Forms.TextField" valueBinding="account.email" label={{t 'account.email'}}}} 

這是行不通的,但我尋找的東西,如果它能夠通過把手語法,而不需要我延長我想支持i18n的每個元素。

回答

2

我不確定您是否已經使用Ember-i18n,但它與Ember良好的集成,似乎是一個很好的開始構建或擴展。這裏有一些簡單的例子,一個使用插值數據。

<h2>{{t user.edit.title}}</h2> 

<h2>{{t user.followers.title count="2"}}</h2> 

你鍵作爲

Em.I18n.translations = { 
    'user.edit.title': 'Edit User', 
    'user.followers.title.one': 'One Follower', 
    'user.followers.title.other': 'All {{count}} Followers', 
    'button.add_user.title': 'Add a user', 
    'button.add_user.text': 'Add', 
    'button.add_user.disabled': 'Saving...' 
}; 
+0

感謝分享。我用這個很好,但我的問題是我想用我提到的方式在TextField視圖中使用翻譯。我知道我可以擴展它並編寫標籤來使用翻譯,但是如果有直接的方式將標籤提及爲{{t user.edit.title}}。請仔細閱讀相關代碼。 – sudhanshu

+0

實際上,我的問題不在於EmberJS https://github.com/wycats/handlebars.js/issues/222 – sudhanshu

0

我用這作爲一種解決方法,這是沒有地方接近優雅的定義。

{{#T frontend.signup.name}} 
{{view "Bootstrap.Forms.TextField" valueBinding="account.name" label=i18Label}} 
{{/T}} 

Handlebars.registerHelper "T", (key, options) -> 
ret = options.fn(i18Label: I18n.t(key)) 

通常我每次都會得到一個字符串的情況。只有其他方式才能擴展TextField視圖。

相關問題