Helping translate the installer and context menu entry
The installer is localized. This means, that the installer itself, the context menu entry and the entry in the Windows control panel can be translated. This page tries to explain, how to contribute new translations, and to give some more context to the strings to translate.
Add a new translation
To add a new translation, the file en.nsh
should be downloaded and then renamed to new_langauge.nsh
. Because it is a simple text file, open the file with a text editor (the Windows text editor works fine) and work on your translation. Then send the file to me.
The file contains basically four different types of entries:
LoadLanguageFile “${NSISDIR}\Contrib\Language files\language_file.nlf”
The LoadLanguageFile
instruction is necessary to load the localized button and page texts of the installer itself. The language file (e.g. English.nlf
) is provided by the NSIS project. Checkout the link to find your language file and replace English.nlf
with the one for your language.
For German the entry looks like this:
LoadLanguageFile "${NSISDIR}\Contrib\Language files\German.nlf"
LangString Name language_id “localized_language_name”
LangString Name
holds the localized name of the language. The variable ${LANG_ENGLISH}
is the language ID code for English, defined by the NSIS project. Every language has such a variable. So the language ID code variable needs to be adjusted for the language to be added. If you don’t know the ID, just ignore it. I’ll care about that.
For German the entry looks like this:
LangString Name ${LANG_GERMAN} "Deutsch"
VIAddVersionKey /LANG=language_id “field” “value”
The VIAddVersionKey
instruction adds field values to the installer file properties. It also requires to be given the language ID as shown above. Please note, that you must not remove any field here, but not all fields require a translation. See the following table.
Field | Description | Value localized |
---|---|---|
ProductName |
Name of bde-lock | no |
ProductVersion |
Version of bde-lock | no |
FileVersion |
Installer file version | no |
FileDescription |
Installer file description | yes |
Comment |
User-friendly comment about the installer | yes |
LegalCopyright |
Copyright information | no |
So usually only FileDescription
and Comment
need to be changed for the translation.
LangString variable language_id “localized_text”
The LangString
instruction assigns a localized text to a variable. The language ID code defines the corresponding language, under which the variable content should be used. With one exception, all variables should be translated. The following table gives more context and explains, where the strings appear.
Variable | Description | Value localized |
---|---|---|
LicenseButtonText |
Button text on the installers license page | yes |
LicenseHeaderText |
Header text on the installers license page | yes |
MsgBitlockerError |
Warning shown, if the installer cannot find the registry key, that indicates the presence of BitLocker during installation | yes |
MsgWindowsVersion |
Warning shown, if the installer finds an unsupported Windows version | yes |
RegContextMenuEntry |
entry shown in the drive context menu | yes |
RegUninstallDispNam |
Program name shown in System properties > Programs > Uninstall program |
yes |
RegUninstallComment |
Comment shown for the program in System properties > Programs > Uninstall program |
yes |
RegUninstallReadme |
The name and repository path of the localized (translated) version of README.md | (yes) |
UserLanguageId |
Windows language ID (needs to be set correctly, but not translated) | no |
The most important string is RegContextMenuEntry
. It is the one shown in the drive context menu to lock the drive.
Reporting a translation error
If you come across a translation issue, file a new github issue.
Translating the projects README.md
…