2012-03-26 25 views
3

我有有像道場全球化和NLS鍵

({ 

"name":"test", 
"comma" : ", ", 
"hello":"Hello", 
"welcome_msg": this.name+this.comma+this.hello 

}) 

我想有歡迎消息是"Hello, test"條目的道場NLS密鑰文件,所以基本上要使用的名稱,逗號和呼叫鍵的上面定義在此值字段中創建字符串而不是直接使用。

有沒有辦法實現上述this.comma或$ {comma}?基本的法語和其他語言結腸和一些SPL人物角色將有更多的空間之前和之後,而在英國只有一個空格後...

在這方面的任何幫助,將不勝感激..謝謝

+0

如果您使用新的AMD風格的NLS文件,那麼我認爲您可以將任何代碼放入其中。但是,正如克雷格的答案所建議的那樣,您可能應該在簡單性方面犯錯。 – hugomg 2012-03-27 13:24:49

回答

2

我使用dojo.replace。但是我在小部件代碼中使用這個而不是實際的nls文件。

var i18n = ... 
var name = ... 
dojo.replace('{0}{1} {2}', [i18n.hello, i18n.comma, name]); 

但是,我不明白這是如何幫助你試圖完成。爲什麼不離開的歡迎消息

"welcome_msg": "Hello, {0}" 

的NLS文件爲每種語言,所以任何其他NLS文件將有相應的標點符號和空格,你需要的。

+0

我同意。作爲一般的經驗法則,當涉及到NLS的東西時,總是使用字符串格式而不是連接。 – hugomg 2012-03-27 13:21:24

+0

Craig,你說的對,每個語言都會有一個單獨的NLS文件對應。我只是想知道字符串連接是否工作? – user1292547 2012-03-28 10:05:53