Simplify maintaining of dictionaries in AEM

April 21, 2018    aem utility


Why do you need this Utility or at least should give it a try?

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.

Features

There two common cases how everyone manages I18n dictionaries:

Excel (CSV)

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

HTML table

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

Sorting

Utility sorts all keys by the natural ordering, therefore it minimizes potential merge conflicts in the future.

P.S.

More detailed information and all available parameters could be -> here. Hope that this utility will help you to save some time ;)




comments powered by Disqus