MessageFormat in Javascript (Parameter in lokalisierten UI-Strings)
Was ist ein guter Weg für den Umgang Parameter in lokalisierten Zeichenfolgen in javascript?
Ich bin mit dem gleichen format wie in java MessageFormat-Klasse, z.B.:
There are {0} apples in basket ID {1}.
Wo {0}
ersetzt werden, mit dem ersten parameter {1}
mit der zweiten.
Dies ist der Anruf, den ich verwenden möchte in JS (d.h. ich implementieren möchten origStr
):
var str = replaceParams(origStr, [5, 'AAA']);
Ich vermute, dass die beste Strategie wäre, einen regulären Ausdruck zu verwenden. Wenn ja, bitte bieten Sie einen guten regulären Ausdruck. Aber ich bin offen zu hören, alle anderen Optionen.
InformationsquelleAutor der Frage Ovesh | 2009-08-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Oder entsprechend Ihrer Anforderung:
Können Sie hinzufügen fancy i18n-Funktionen wie ordinal-ich-fying (was auch immer es heißt):
InformationsquelleAutor der Antwort strager
Aussieht, ich war nur ungefähr 3 Jahre zu spät, aber für den Fall, jemand braucht noch eine tatsächliche eigenständige MessageFormat-Bibliothek für JS:
https://github.com/SlexAxton/messageformat.js
Da ya go! Kompiliert JS - so kann es wirklich schnell, und unterstützt
SelectFormat
undPluralFormat
.Hinweis: Dies ist ICU MessageFormat das ist ein bisschen anders (lies: besser) als die Sachen, die möglicherweise erstellt werden, in Ihrer Sprache.
InformationsquelleAutor der Antwort Alex Sexton
Können Sie L10ns. Es verwendet die ICU-s MessageFormat.
Können Sie auch definieren, es mit PluralFormat. Um die plural-form die richtige für Apple.
In der obigen Aussage CLDR definiert die plural form
one
undother
. Weitere Informationen finden Sie in Ihrer Dokumentation.InformationsquelleAutor der Antwort einstein