Fixed problem of converting more thant 256 chars.
[elinks.git] / po / perl / README
blob75b4100d500935544dd2c3b6940300558b9f4a0f
1 PURPOSE
2 =======
4 The scripts in this directory scan the PO files and search for
5 translations that assign the same accelerator to multiple buttons
6 in a dialog box or to multiple items in a menu.
8 In addition to this static checking, ELinks can also detect
9 conflicting accelerators at run time, if CONFIG_DEBUG is defined.
10 However, that requires the translator to run ELinks and manually scan
11 through all menus and dialogs, so some conflicts can be left
12 unnoticed.  The static checker will also detect conflicts that can
13 only occur on operating systems or configurations that the translator
14 is not currently using.
17 USAGE
18 =====
20 When a programmer adds a translatable string to the C source code of
21 ELinks, and the string contains an accelerator, he should also add a
22 special "gettext_accelerator_context" comment that names the menu or
23 dialog box in which the string will be used.  See the documentation of
24 msgaccel-prepare for the details.
26 When a programmer or translator runs "make update-po" in the elinks/po
27 directory, msgaccel-prepare reads the "gettext_accelerator_context"
28 comments in the source files and generates "accelerator_context"
29 comments in elinks.pot.  Then, msgmerge copies them from elinks.pot to
30 *.po.
32 When a translator edits a *.po file, she does not alter the
33 "accelerator_context" comments.
35 When a translator runs "make check-po" in the elinks/po directory,
36 msgaccel-check reads the "accelerator_context" comments in the *.po
37 file, checks the accelerators in the translations, and displays any
38 conflicts it finds.
41 FILES
42 =====
44 See each file for copying conditions.
46 msgaccel-prepare reads elinks.pot and the source files to which it
47 refers, and writes a new elinks.pot with information from
48 "gettext_accelerator_context" comments.
50 msgaccel-check reads just one *.po file and scans it for conflicts.
51 It does not access the C source files.
53 Locale/PO.pm was originally imported from Locale-PO-0.16 on CPAN, and
54 has since been patched to make it more suitable for these scripts.
55 (The build system, documentation, and test cases of Locale-PO were
56 not imported, because it isn't obvious where they should be placed.)
57 All changes should be sent back to the author for possible inclusion
58 in the standard version.   
61 TO DO
62 =====
64 Make sure that po/Makefile won't fail just because it can't find Perl.
65 This may already be the case, but check it.
67 Fix the issues documented in the BUGS section of each file.