git clone [email protected]:renuo/lawoon-frontend.git
Translations are held in public/i18n/{locale}.json and generated on each server start.
If you add new keys and want to generate without server start, run:
bin/generate-i18nTranslations can be nested:
{
"parentKey": {
"childKey": "Child Value"
}
}With the generate-command a static .ts-File is created. All translations are available via the static class I18n.t.
(e.g. I18n.t.example). The keys will be sorted in the bin/check via bin/prettify-translations.
Example:
Given the translation
{
"example": "Hello {name}."
}// returns 'Hello world':
I18n.interpolate(i18n.t.example, {name: 'World'})Pluralization can be done via I18n.pluralize(translationString, counter), while translationString would be
a translation passed via I18n.t. and the counter a variable with the length. You can add two translations
to a key: one for the length 1 and other for all other lengths. All variables named count will be replaced
automatically via pluralize.
Example:
// selects `I18n.t.example.one` or `I18n.t.example.other` key pending on `exampleArray.length`
I18n.pluralize(I18n.t.example, exampleArray.length)and the translations:
{
"example": {
"one": "There is one example.",
"other": "There are {count} examples."
}
}