2013-05-29 65 views
1

如何在i18n鍵中使用操作助手。例如,國際化關鍵是如何在用戶操作助手中使用國際化中的i18n鍵

Please <a{{action displayList}}>click here</a> to display the list. 

如何翻譯這與Ember運行時(即車把未編譯版本)正確

+0

我沒有看到你輸入 –

+0

代碼相關的國際化什麼這是一個國際密鑰。 fb.clickhere.msg =請點擊這裏來顯示列表。使用可用於要點的loc助手,翻譯完成。句柄中的代碼是{{loc fb.clickhere.msg}} – Dinesh

+0

您能否更新這個問題,並更多地瞭解您的代碼,根據我的理解,您定義了fb.clickhere.msg =「點擊此處「,並且您想使用{{loc fb.clickhere.msg}}呈現此按鈕,如果是這樣,您可以使用{{loc fb.clickhere.msg}}執行相同的操作,其中fb.clickhere.msg =」請單擊此處「 –

回答

0

如果車把助手支持返回Ember.View實例,然後下面定義的助手應該工作

{{localizedView fb.clickhere.msg}} 

Handlebars.registerBoundHelper("localizedView", function(value, options){ 
    // value = fb.clickhere.msg 
    var localizedString = loc(value); // localizedString = "<a{{action displayList}}>click here</a>" 
    return Ember.View.create({template: Ember.Handlebars.compile(localizedString)}); 
}) // Ofcourse you should define it before you can use this 
1

自從問了這個問題已經有一段時間了,但由於我沒有找到解決方案,所以讓我把我的解決方案放在這裏。我解決它的方式是使用Handlebars subexpressions。爲了您例如,它應該是這樣的:

在翻譯文件

var translations = { 
    'fb.clickhere.msg': 'Please <a {{actionDisplayList}}>click here</a> to display the list.' 
} 

在車把模板

{{t 'fb.clickhere.msg' actionDisplayList=(action "displayList") }}