With the upcoming release Picard will support a localized Windows installer for the first time. At the moment the installer is available in English, Italian and German. But it would be great if we could provide even more languages.
If somebody is interested in helping out I think this is a great and easy way to contribute to Picard. There is not much text in the installer that needs to be translated, and it is only a single file that needs to be edited. Most of the installer text actually is already translated by the installer itself, it is just some custom text the Picard installer has that needs translation.
Simple way to help:
- First make sure the language you want to install to is listed at picard/installer/picard-setup.nsi.in at master · metabrainz/picard · GitHub . These are all the languages currently supported by the NSIS installer, adding other languages is currently not easily possible.
- Download the English translation from https://raw.githubusercontent.com/metabrainz/picard/master/installer/languages/English.nsh and rename it to the language name in the previous list. E.g. if you want to translate into Czech name the file
Czech.nsh
. - Translate the text in the file. A few rules:
-
Replace the
${LANG_ENGLISH}
with the language name as used in the filename, but all uppercase. So for Czech translation use${LANG_CZECH}
-
Only translate the last part in quotation marks, keep the rest of the lines as is.
As an example this text line:LangString SectionRequired ${LANG_ENGLISH} "Program files (required)"
becomes this for Italian:
LangString SectionRequired ${LANG_ITALIAN} "File programma (richiesti)"
-
All translations must be done in a single file. If a line break is needed enter
$\n
where the line break should be. -
If you need to use single or double quotation marks in a text and the used quotation marks (single or double) are identical to the ones used to surround the entire translation, encode it with
$\"
or$\'
. E.g.LangString OptionRemoveSettings ${LANG_ENGLISH} "This is text with $\"quotation$\" marks :)"
-
- If everything is translated, post the file here and let me know how you would like to be credited in the commit message (full name, username, something else, not at all). Please note that as all of Picard code is licensed under the GPL that you need to agree that the translation will be used and distributed with Picard according to the GPL.
Advanced workflow:
The better way instead of downloading the file is to properly fork and clone the Git reporitory from Github, add the translated file directly into installer/languages
, commit your changes and open a pull request on Github. See picard/CONTRIBUTING.md at master · metabrainz/picard · GitHub for details on how to do this. Feel free to ask for help here.
In addition to adding the file you should also edit installer/picard-setup.nsi.in and remove the semicolon before the line of the LOAD_LANGUAGE
macro for your language. E.g. for Czech the existing line:
; !insertmacro LOAD_LANGUAGE "Czech"
becomes
!insertmacro LOAD_LANGUAGE "Czech"
Screenshots:
To help with translation here are screenshots of relevant installer views for reference. I could not capture every translation on this, but you should get the idea.
Thanks a lot in advance for everybody who wants to help. And of course if you want to help translate Picard’s user interface your help is also much appreciated. The main translation for Picard (and most of MusicBrainz) is done on Transifex, you can see the status of the Picard UI translation at https://www.transifex.com/musicbrainz/musicbrainz/picard/ .