Nemp is designed to support multiple languages. You can change the interface language in the menu under Settings→Languages.
The original language is English for compatibility reasons. The German version used by (probably) most people is a translation maintained and kept up-to-date by myself. In the meantime, translations into Dutch and Russian have also been made for Nemp. These are from third parties and are more or less incomplete after an update. Since there were very extensive changes in version 5, these translations are also very incomplete.
Add language packs
Any languages can be added. For this Nemp needs the suitable translation files. In the folder "\Languages\<LanguageCode>\LC MESSAGES" must be a file "default.mo", which contains all translated texts in this language. From the language code Nemp generates a suitable menu entry at startup.
To create a new language file you need a so called PO editor, e.g. the one from https://poedit.net. With this editor you can create a new translation file. The necessary template for this, i.e. the "original texts" of Nemp, are contained in the file "default.pot", which is part of the source code of Nemp. This should be imported with the PO editor. The file can be found in the source code folder \src\ of the Nemp archive (not provided with the installer), or on GitHub.
This translation is a lot of work. If you want to help me add another language to Nemp, feel free to contact me by e-mail: firstname.lastname@example.org.
Some texts contain placeholders that absolutely must also appear in the translation, and in the same order. These placeholders are replaced by Nemp with matching data at runtime. Thereby mean:
- %d Placeholder for an integer, e.g. "Played %d times" to display the play counter.
- %s Placeholder for a string, e.g. "Refreshing information ... %s" to display the file (or folder) that is being refreshed.
- %% Escape symbol for the % character, e.g. for "Refreshing information (%d%%)" to display the percentage progress during the media library update.
- %1 Placeholder for a string in the context of drag and drop, e.g. "Move to category %1".
Some GUI elements automatically adapt (up to a certain limit) to the space requirements of the texts. For most elements, I make sure during development that more space is available than is needed in the generally compact English version.
Nevertheless, you should make sure that the translation does not require much more space than the original. Otherwise, some parts may not be displayed completely. If this is not possible in individual cases because the space is too limited, please contact me by e-mail (email@example.com). Then I'll have a look if it's possible to modify the GUI a little bit at this point.