2012-03-26 5 views
3

ich habe eine Schlüsseldatei DOJO nls, die Einträge haben wieDojo Globalisierung und nls Schlüssel

({ 

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

}) 

Ich möchte die Begrüßungsnachricht "Hello, test" haben sein, so dass im Grunde den Namen, Komma verwenden möchten, und hallo Schlüssel des oben definiert in diesem Feld Wert und erstellen Sie die Zeichenfolge anstelle der direkten Verwendung.

Gibt es eine Möglichkeit, die oben genannten wie this.comma oder $ {Komma} ?? im Grunde in Französisch und andere Sprachen Kolon und einige spl Zeichen wird zusätzlicher Platz vor und nach, während in Englisch nur einen Platz nach ...

jede Hilfe in dieser Hinsicht sehr geschätzt wird .. Dank

+0

Wenn Sie die neuen, AMD-Stil, NLS-Dateien verwenden, dann denke ich, Sie können, was Code Sie wollen in ihnen setzen. Sie sollten jedoch wahrscheinlich auf der Seite der Einfachheit irren, wie in Craigs Antwort vorgeschlagen. – hugomg

Antwort

2

Ich benutze dojo.replace. Aber ich benutze dies im Widget-Code und nicht die tatsächliche nls-Datei.

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

ABER, ich verstehe nicht, wie das mit dem hilft, was Sie erreichen möchten. Warum nicht die Willkommensnachricht als

"welcome_msg": "Hello, {0}" 

Die nls Datei pro Sprache ist, so dass jede andere nls Datei würde die entsprechende Interpunktion und Abstand, die Sie benötigen.

+0

Ich stimme zu. Als allgemeine Faustregel gilt, dass immer die String-Formatierung anstelle der Verkettung verwendet wird, wenn es um NLS-Sachen geht. – hugomg

+0

Craig, Sie haben Recht, es wird eine separate NLS-Datei für jede Sprache geben. Ich war nur neugierig, ob String-Verkettung funktioniert oder nicht? – user1292547