Translations: updated README

git-svn-id: trunk@40331 -
This commit is contained in:
maxim 2013-02-16 19:15:53 +00:00
parent 6f199fa45b
commit 7a461e151b

View File

@ -1,31 +1,33 @@
Quick Start for translators:
For example Finnish translation:
Search for all *.fi.po files. They are simple text files with an easy format.
Edit them with programs like poEdit (www.poedit.net) or KBabel. Do not edit them manually.
Run 'sh localize.sh' (Linux) or 'localize.bat'(Windows) to update translations.
Check your translated .po files with PoChecker tool (lazarus/components/pochecker/) and fix all reported errors.
Post the updated xxx.fi.po files to bug tracker (http://bugs.freepascal.org).
Do NOT post diffs for .po files.
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 KBabel. 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 the 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 all the stuff for
internationalization of the lazarus IDE.
The <lazarusdir>/languages directory contains stuff for internationalization of the Lazarus IDE.
There are a few other directories for the codetools and the lcl. They work
all the same. All language files can easily be updated with the
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 the special designer units)
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:
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
@ -33,8 +35,8 @@ 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.
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: