![bootstrap 4 language switcher bootstrap 4 language switcher](https://i.pinimg.com/originals/11/15/67/1115673fdce1798fde1a2a148c834652.png)
It uses ICU format (ICU stands for International Components for Unicode) and is a wildly usedįormat for specifying complex translation texts. This does not work out-of-the box but can be done with a plugin called ngx-translate-messageformat-compiler. It can automatically choose the right form the following: Ngx-translate also supports more complex translation parameters including so-called pluralization More complex translation texts (Pluralization & Selections) should be safe to use because it uses Angular's DomSanitizer to filter potentially harmful tags like or. in your de.json file it would look like this: It is also possible to use the original text as a key for your translation message. So: Better use with the nested right from the start. If you want to convert the flat format into the nested format you'll have to clean up these keys. With the nested format since demo can't have a text and children at the same time. the flat version can use demo and demo.title which is not possible The flat format might include keys which can't be used in the nested format.Į.g. This not only helps you during development but also helps the translator. You also see that -button is used in the same context. This key is used on the events screen in a list that should confirm events. In which context the translations are used. It's a good practice to create detailed keys - your translators will love the additional context they provide!Į.g. On the part of your application you are currently working on. Tools like BabelEdit can display the JSON file as a tree, allowing you to focus