有沒有辦法在ember/emberjs-bootstrap TextField標籤上使用i18n。i18n可以應用於emberjs TextFields/Labels等嗎?
例如
{{view "Bootstrap.Forms.TextField" valueBinding="account.email" label={{t 'account.email'}}}}
這是行不通的,但我尋找的東西,如果它能夠通過把手語法,而不需要我延長我想支持i18n的每個元素。
有沒有辦法在ember/emberjs-bootstrap TextField標籤上使用i18n。i18n可以應用於emberjs TextFields/Labels等嗎?
例如
{{view "Bootstrap.Forms.TextField" valueBinding="account.email" label={{t 'account.email'}}}}
這是行不通的,但我尋找的東西,如果它能夠通過把手語法,而不需要我延長我想支持i18n的每個元素。
我不確定您是否已經使用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...'
};
我用這作爲一種解決方法,這是沒有地方接近優雅的定義。
{{#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視圖。
感謝分享。我用這個很好,但我的問題是我想用我提到的方式在TextField視圖中使用翻譯。我知道我可以擴展它並編寫標籤來使用翻譯,但是如果有直接的方式將標籤提及爲{{t user.edit.title}}。請仔細閱讀相關代碼。 – sudhanshu
實際上,我的問題不在於EmberJS https://github.com/wycats/handlebars.js/issues/222 – sudhanshu