mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-16 18:10:39 +02:00
48 lines
2.1 KiB
Plaintext
48 lines
2.1 KiB
Plaintext
Quick Start for translators:
|
|
|
|
For example Finnish translation:
|
|
|
|
1. Make sure that you have up-to-date Lazarus from SVN trunk.
|
|
2. Search for all *.fi.po files.
|
|
3. If PO file belongs to some package, make sure that this package is installed in IDE.
|
|
4. Rebuild Lazarus clean. This will update most packages translations.
|
|
5. Run 'sh localize.sh' (Linux) or 'localize.bat' (Windows) to update all remaining translations.
|
|
6. PO files are simple text files with an easy format.
|
|
Edit them with programs like poEdit (www.poedit.net) or Lokalize. Do not edit them manually.
|
|
7. Check your translated PO files with PoChecker tool (lazarus/components/pochecker/) and fix all
|
|
reported errors (you need to run only basic tests).
|
|
8. Post updated xxx.fi.po files to bug tracker (http://bugs.freepascal.org).
|
|
Do NOT post diffs for PO files.
|
|
|
|
Now the background:
|
|
|
|
The <lazarusdir>/languages directory contains stuff for internationalization of the Lazarus IDE.
|
|
|
|
There are other directories for CodeTools, LCL and various packages.
|
|
All language files can easily be updated by rebuilding Lazarus (make sure that packages,
|
|
for which you need to update translations, are installed in IDE) and then running
|
|
<lazarusdir>/localize.sh or <lazarusdir>\localize.bat script.
|
|
|
|
All text and messages used in the IDE (except special designer units)
|
|
should be placed into the unit lazarusidestrconsts.pas. This unit uses a
|
|
resourcestring section, so that the compiler will create the
|
|
<lazarusdir>/lazarusidestrconsts.rst file.
|
|
Since this is a FPC-only format it must be converted with the rstconv program:
|
|
|
|
cd <lazarusdir>/languages
|
|
rstconv -i ../lazarusidestrconsts.rst -o lazaruside.po
|
|
|
|
Hint: this is done by <lazarusdir>/localize.sh or <lazarusdir>\localize.bat.
|
|
|
|
This will create the file lazaruside.po, which should be translated in all
|
|
required languages to a lazaruside.xx.po file (it should have UTF-8 encoding).
|
|
For the xx see the gettext unit in the procedure TranslateResourceStrings.
|
|
|
|
For example:
|
|
|
|
German: lazaruside.de.po
|
|
Russian: lazaruside.ru.po
|
|
Spanish: lazaruside.es.po
|
|
French: lazaruside.fr.po
|
|
Italian: lazaruside.it.po
|