Ich möchte ICU-Standard für meine i18n in meiner Reaktion App verwenden. Ich möchte meine Sprachdateien wie http://userguide.icu-project.org/locale/localizing#TOC-.txt-resource-bundles speichern:i18n für reagieren, formatjs, react-intl
de {
key1 { "Deutsche Sprache "
"schwere Sprache" }
key2 { "Düsseldorf" }
}
Ich habe diese Bibliothek gefunden http://formatjs.io/react/. http://formatjs.io/ unterstützt ICU, aber ich kann kein gutes Beispiel finden, wie man meine Sprachdateien mit meiner App verbindet.
Ich ging durch ihr Tutorial und es scheint, ich könnte die Komponente <FormattedMessage>
verwenden. So z.B.
var intlData = {
"locales": "en-US",
"messages": {
"photos": "{name} took {numPhotos, plural,\n =0 {no photos}\n =1 {one photo}\n other {# photos}\n} on {takenDate, date, long}.\n"
}
};
React.render(
<Component {...intlData} />,
document.getElementById('example')
);
dann in irgendeiner Komponente habe ich
...
render: function() {
return (
<p>
<FormattedMessage
message={this.getIntlMessage('photos')}
name="Annie"
numPhotos={1000}
takenDate={Date.now()} />
</p>
);
}
Mein größtes Problem ist, wie meine Sprachdatei konvertieren z.B.
en-US {
photos { "{name} took {numPhotos, plural,\n =0 {no photos}\n =1 {one photo}\n other {# photos}\n} on {takenDate, date, long}.\n" }
}
in Format:
var intlData = {
"locales": "en-US",
"messages": {
"photos": "{name} took {numPhotos, plural,\n =0 {no photos}\n =1 {one photo}\n other {# photos}\n} on {takenDate, date, long}.\n"
}
};
Gibt es einen Parser/Konverter überhaupt?
Warum kämpfen mit icu Nachrichtenformat, wenn Sie https://react.i18next.com/ haben können;) – jamuhl