$Id: howto-translations.txt 55897 2020-07-21 17:15:56Z karl $ (This file public domain, originally written by Norbert Preining.) Dealing with translations of TeX Live programs ============================================== BIG FAT NOTE: Before starting please always fetch the latest NN.po from our svn server because we merge new strings into .po files in regular intervals. Here are explanations for gtranslator and poedit. I (np) prefer now gtranslator because it keeps the strings where no changes have been made in the format as they were, so there will be less commits and smaller commits. Another possibility is lokalize (please send details if you know them). Testing your translations: Please try (perl) install-tl --gui --debug-translation [--lang NN] tlmgr --debug-translation gui [--gui-lang NN] This will give warnings *in*the*terminal* which strings haven't been translated. Don't forget to update the PO-Revision-Date: near the top of the .po file! Using gtranslator (gtranslator.sf.net) -------------------------------------- Starting a new translation NN.po: - copy messages.pot to NN.po - open it with gtranslator - select from the menu: Edit -> Header and change the items under "Translator and Language", especially change CHARSET to utf8 - start translating The first column gives the status, you can sort by clicking on its head. Using poedit (poedit.sf.net) ---------------------------- Starting new translation NN.po: - start fresh poedit - click on "File -> New catalog from POT file" - select messages.pot (in tlpkg/translations/messages.pot) - A dialog opens that asks for some fields, like Project name and version: Team: Team's email address: Language: Country: Charset: UTF-8 Source code charset: Plural Forms: etc all of which is unknown to me, but I filled in at least the Language and the email of myself of tex-live@tug.org - click "Ok" - select where to save (either in tlpkg/translations/NN.po or somewhere else and send us the file) - start translating Editing an existing NN.po: - start poedit - open NN.po - start translating Requirements and advice for translations: ---------------------------------------- - please use \" instead of ", as can be seen in the original strings - several lines in the translations are merged together *without* adding anything. So if you want new lines please use \n in the text (as seen in several original strings) - if %s (one or more) is present, then they are replaced in the final strings with the respective infos. Please keep them. We update the messages.pot nightly and merge the strings into all the .po files (using msgmerge). That means if we change one of the english strings the translation will normally be marked as "fuzzy" in the .po file. In gtranslator the first column shows a warning sign if the message is fuzzy. In poedit those fuzzy translations are shown in red, telling you that those have had a change in the original string and the translation should be checked. So before any of you start out with editing a translation, please fetch the latest messages.pot and NN.po! For developers: -------------- Extraction of the messages == update of the po template messages.pot, and Merging/updating of the .po files see ../bin/tl-update-messages Statistics: pocount ../translations/*.po When a new translation (language) is added, add to lists in install-tl (under -lang), tlmgr.pl (under --gui-lang), tlmgrgui.pl (%code_lang). Unfortunately nothing checks these for consistency, up to us humans. When a new translation of the TL Guide is added, update texmf-dist/doc/texlive/index.html as well as the text of the guide itself. When a new translation of the top-level README txt/html is added, update Master/index.html.