Starting with version 22.05.23 of Lazy Nezumi Pro, the UI translation files are stored externally. This means that you can update them and add new translations without having to update the app itself.
Translations are currently available for the following languages:
Please note that most translations are incomplete. See below if you'd like to help!
Here are links to the latest translation files:
The binary files (with .qm file extensions) should be placed in your LNP installation folder's translations subfolder. After restarting the app, you will see the languages in the Settings/Language menu list.
The presets should be copied to your user data folder. Each preset file contains translations of its name. These are used when you change the language.
You only need to download the source files and the Qt Linguist app if you plan on updating existing translations, or if you want to provide translations for new languages.
If you speak multiple languages and are a LNP user comfortable with most of its features, your help would be greatly appreciated! You don't need previous translation work experience to get started, although that would of course be helpful.
The existing translations are all incomplete, and it would be great to have support for new languages! Here's how you can help.
First, download the translation source files from the above link. Each of these files contains all the user-facing English text strings in LNP, along with their translations in the target language.
The format for these files is lazynezumipro_{lang}_{territory}.ts, where {lang} is a two letter code for the target language, and {territory} an optional two letter code for a specific version of this language. Here are some examples:
These files could be worked on in a text editor, but you'll want to use Qt Linguist instead (link provided above), as it will speed up your translation work!
Here's what it looks like after loading one of our source files:
Qt Linguist shows all the text strings for a given app context in the Strings window. When you select a string from this window, you will have the following fields in the translation area below:
Once you're done translating a string, click the little question mark icon next to it so that it becomes a checkmark. This marks this translation as finished, and you can move on to the next string. In order to get the most out of this app, we really recommend you read the Qt Linguist Guide for Translators.
If you would like to start working on a language that doesn't have an existing source file yet, use the lazynezumi.ts file. This file only contains un-translated strings.
When you load it into Linguist, you will be asked to select a target language and territory (you can also change this later via the Edit/Translation File Settings... menu). When saving it, use the file naming convention described above.
Strings that are grayed out are considered obsolete. This means that they are not currently being used in LNP, and you should ignore them.
Some strings will contain html code. Be careful when working on these to not break (or translate) the html tags themselves.
Some strings will contain numbered argument tags such as %1, %2, etc. Do not remove or translate these tags, as they will be used to insert text dynamically during runtime.
The app will warn you if the punctuation in your translation does not match the source text. Since the punctuation is not always consistent in the source strings to begin with, it's generally OK to ignore these warnings. Please use your best judgment when using punctuation, so that the tone of translation feels appropriate in the target language.
Please pay attention to the developer comments, as they can provide context about where in the UI this string is located. For example, menu items are generally short strings and never have punctuation. Status tips are shown at the bottom of the main LNP window where there isn't a lot of space. And Tool tips on the other hand can be longer and have multiple lines.
Some menu items can have accelerator keys that can be used to select them quickly. In English the key is specified by adding an ampersand (&) character before the letter. In some languages, the accelerator key is instead specified at the end of the string on its own. For example: "E&xit" becomes "終了 (&X)".
Important: do not rely on automatic translation tools such as Google Translate! The results they provide can range from weird to just totally wrong. If you are not fluent in the target language, please do not work on this language, as we will not accept your files.
Every now and then while you work, you should load your translations into LNP to see how they look. This will help you catch problems such as incorrect translations, strings that don't fit or line up well on their controls, and other issues.
To do this, you must first compile your source file (*.ts) into a binary file (*.qm) that LNP can read. This is accomplished using the lrelease.exe program included in the Qt Linguist folder. You can call this program from a command prompt, or you can just drag your source file onto the lrelease.bat file. This batch file will compile it and produce a binary file that you can then place in your LNP translations subfolder.
For presets, the translation system works a little differently. The file name of a preset is used for its English display string. For other languages, the display strings are stored in the <translations> section of the actual preset XML file, surrounded by the appropriate locale tags.
Here's an example for the Ruler - Perspective preset:
<translations>
<fr>Règle - Perspective</fr>
<ja>定規 - パース</ja>
<ko>통치자 - 원근법</ko>
<zh_TW>標尺 - 透視線</zh_TW>
<zh_CN>标尺 - 透视线</zh_CN>
</translations>
You can use the Preset/Open Preset Folder menu in LNP to go to where your presets are stored, and then edit them with a text editor that supports XML files, such as Notepad++. Be sure to set their encoding to UTF-8 so that all characters are displayed and saved correctly.
To test your changes, simply use the Preset/Reload Presets menu.
Once you are done and everything looks correct, please email us your saved translation source files (*.ts) and/or preset files so we can make the translations available for all users. (Please do not send the binary files, as we will build them ourselves for security reasons.)
You don't need to translate everything for your work to be useful! We will gladly accept partial translations.
But if you feel comfortable doing this work and plan on providing translations for a big portion of the app, please contact us first so we can arrange payment details.
Copyright © 2013-2023 Guillaume Stordeur. All rights reserved. Privacy Policy. EULA.
Lazy Nezumi is a trademark of Guillaume Stordeur. Developed in the USA.