Let’s imagine pretty common situation:
You are developing new functionality and your customer or business analytic provides you with new i18 keys which you should to add to your dictionaries. In case you have couple of languages it is quite easy and fast to update. Nevertheless you might have 14,18, or 20 languages and here it becomes really time consuming. At the worst case you will have merge conflicts during you feature will be merge.
And here simple utility comes to the scene.
There two common cases how everyone manages I18n dictionaries:
Utility supports to import new dictionary keys from csv file. Structure of CSV file has to be key,en||no,de,fr,it
File example:
key,en||no,de,fr,it
app.key.1,en key,de key,fr key,it key
app.key.2,en key2,de key2,fr key2,it key2
app.key.3,en key3,de key3,fr key3,it key3
app.key.4,en key4,de key4,fr key4,it key4
app.key.5,en key5,de key5,fr key5,it key5
It is pretty common to manage dictionary on a confluence page within plain html table.
Table example:
Key | en | de | it | fr |
---|---|---|---|---|
app.html.key1 | app.html.key1 | app.html.key1.de | app.html.key1.it | app.html.key1.fr |
app.html.key2 | app.html.key2 | app.html.key2.de | app.html.key2.it | app.html.key2.fr |
app.html.key3 | app.html.key3 | app.html.key3.de | app.html.key3.it | app.html.key3.fr |
app.html.key4 | app.html.key4 | app.html.key4.de | app.html.key4.it | app.html.key4.fr |
app.html.key5 | app.html.key5 | app.html.key5.de | app.html.key5.it | app.html.key5.fr |
app.html.key6 | app.html.key6 | app.html.key6.de | app.html.key6.it | app.html.key6.fr |
Utility sorts all keys by the natural ordering, therefore it minimizes potential merge conflicts in the future.
More detailed information and all available parameters could be -> here. Hope that this utility will help you to save some time ;)