Finally, the preliminary release is ready. I think it's suitable moment to talk how to do own localization.
Windows's users have to acquire the perl language, namely unglitch perl under cygwin, for this need to install cygwin and its revision of the perl (if the installation is new, you shoud just mark the appropriate point). We need to do following operations in the command line interpritator (cygwin, sh, perl):
1. At the beginning to parse the file for we're convinced that the program understand it correctly:
Code:
$qm2any notepad.qm
Complete!
2. Extract all lines from the file:
Code:
$qm2any notepad.qm -e file.txt
Complete!
The program generate usual text file in the encoding windows-1251, the lines are separated by "0D0A". We just replace original lines at the Notepad and save it again (save as) the file and choose Unicode Big Endian at the "encoding" before saving.
You should look for the general quantity of lines in file don't change by chance, program compiles the file despite mistakes you done.
3. Now, try to remake the original file with file of localization:
Code:
$qm2any notepad.qm -r file.txt -o out.qm
Complete!
4. Check the correctness of compilation:
Code:
$qm2any out.qm
Complete!
So, we get "Complete" only at the all usual situations, if irregular situation will be happened the program show like following message:
Code:
$qm2any lib_en-us.qm
Hash-list parse error: [16302] incorrect base offset!
Hash-list separator error: [000155] unknown separator!
Complete!
If the message like this appeared - it's not meant that the program cannot localize file correctly, but it requires supplemental analysis:
Code:
$qm2any lib_en-us.qm -v
...
In any case - if you're not ready to analyze detailed report of program, just attache original file to message which describe the mistake.
Next step: localization without reflash.
We need Yano's inetd (telnet), smbd and for Windows - Motorola USBNET drivers.
1. Start inetd and connect the body by telnet:
Code:
>telnet 192.168.16.2
MontaVista(R) Linux(R) Consumer Electronics Edition 3.1
Linux/armv5tel 2.4.20_mvlcee31-mainstone_pxa27x
(none) login: root
MontaVista(R) Linux(R) Consumer Electronics Edition 3.1
No directory /root!
Logging in with home = "/".
#
2. Copy original language from folder "for read only" and paste to folder have possibility of writing:
Code:
# cp -r /usr/language/string/en-gb /ezxlocal/
#
3. Remount copied folder instead original:
Code:
# mount --bind /ezxlocal/en-gb /usr/language/string/en-gb
#
Ok. Half the work has been done, now we can rewrite files in the home directory and immediately check the correctness of localization. Run smbd (moto) and type in the address line (PC):
Code:
\\192.168.16.2\system\ezxlocal\en-gb
Accordingly the algorithm was described above - localize files and save them to the folder at the body (/ezxlocal/en-gb). Usually all changes appear immediately after restart of localizable program, however, if it's not happened - just change in setup the language to Automatic and then to English again.
The body's going leave localized before restart.