Switzerland/get mo: Difference between revisions
No edit summary |
|||
Line 43: | Line 43: | ||
RuntimeError: The SUGAR_PATH environment variable is not set. |
RuntimeError: The SUGAR_PATH environment variable is not set. |
||
== Troubleshooting Part II == |
|||
.bz2 file is not created, get_mo silently terminates. |
|||
Running this script on a FedoraCore 6, wget (v1.10.2) seems to crash when the file that should be downloaded, already exists. |
|||
Unfortunately, the above script mentions some files two times, so wget always crashes. get_mo terminates due to the death of wget, |
|||
not creating the tar.bz2 file. |
|||
Simple workaround here is to change |
|||
exit 3 if !system(cmd) |
|||
into |
|||
system(cmd) |
|||
additional output can be given, when using |
|||
ruby -v ./Get_mo.rb |
|||
(This influences the VERBOSE variable). |
|||
== PS: Usage Information printed by get_mo (slightly inaccurate, because you ran this on the XO itself) == |
== PS: Usage Information printed by get_mo (slightly inaccurate, because you ran this on the XO itself) == |
Latest revision as of 00:06, 21 June 2008
get_mo, "for Dummies"
Looking for an easy way to quickly install .MO "language packages" (e.g. German and French) to an XO? Look no further - OLPC.ch provides this page for your convenience! This uses the File:Get mo.rb.txt script from OLPC's Niklaus Giger.
Open the Terminal activity, make sure you have all other Activities closed (e.g. don't keep Browse etc. running) and then type this:
$ su - # yum install ruby # mkdir get_mo; cd ~ # wget http://wiki.laptop.org/images/d/d4/Get_mo.rb.txt # mv Get_mo.rb.txt get_mo.rb # chmod +x get_mo.rb # ./get_mo.rb # cd /usr/share/locale # tar -jvxf /root/get_mo/mo_files.tar.bz2 # exit $ sugar-control-panel -s language German/Switzerland
Now press ctrl-alt-erase, just as the message says... and see Sugar in German!
ToDo
- Rewrite in Python, not Ruby? (more XO like, and prevent yum install ruby... Space constraints!)
- Link this page/tool from Translation-related Wiki pages
- Announce this page/tool on translation-related mailing lists
- Announce this page/tool to olpc-de and Austria, could be handy?
- Find list of Activities automatically, instead of hard-coding... contact the web server to get all available translations (just try)
- Specify what language(s) to install as an option
Troubleshooting
If you get this kind of error, then you ran sugar-control-panel as root and forget the exit above to become olpc again.
Traceback (most recent call last): File "/usr/bin/sugar-control-panel", line 26, in <module> sys.path.insert(0, env.get_shell_path()) File "/usr/lib/python2.5/site-packages/sugar/env.py", line 90, in get_shell_path return _get_sugar_path('shell', path) File "/usr/lib/python2.5/site-packages/sugar/env.py", line 36, in _get_sugar_path raise RuntimeError("The SUGAR_PATH environment variable is not set.") RuntimeError: The SUGAR_PATH environment variable is not set.
Troubleshooting Part II
.bz2 file is not created, get_mo silently terminates.
Running this script on a FedoraCore 6, wget (v1.10.2) seems to crash when the file that should be downloaded, already exists. Unfortunately, the above script mentions some files two times, so wget always crashes. get_mo terminates due to the death of wget, not creating the tar.bz2 file. Simple workaround here is to change
exit 3 if !system(cmd)
into
system(cmd)
additional output can be given, when using
ruby -v ./Get_mo.rb
(This influences the VERBOSE variable).
PS: Usage Information printed by get_mo (slightly inaccurate, because you ran this on the XO itself)
Hi!
You just successfully created the file mo_files.tar.bz2. Now we have to transfer it to the OLPC e.g. by copying onto a flash stick or via a network copy utility like scp. A USB flash will be mounted automatically if you insert it into the OLPC and will appear under a name like /media/MyUsbStick
On the OLPC: Open the terminal activity become root by calling "su" (no password needed by default) Then get the file, e.g. by using bash-3.2# scp user@10.0.2.1:/path/to/mo_files.tar.bz2 /home/olpc/ Now you have to unpack it bash-3.2# cd /usr/share/locale bash-3.2# tar -jvxf /home/olpc/mo_files.tar.bz2
To permanently set the desired language you have: edit /etc/sysconfig/i18n and change LANG=C to something like LANG=de_CH # für die deutsche Schweiz or LANG=de_FR # pour la Suisse romande
Set the correct keyboard mapping yo have to to edit /etc/keyboard Set it to KEYTABLE="sg" XKB_MODEL="olpc" XKB_LAYOUT="ch" XKB_VARIANT="" Prenez "sf" au lieu de "sg" si vous voulez un clavier Suisse romande. If you want to change the keyboard layout just for the current session use "setxkbmap ch". Set the desired language (German/Switzerland fuer Deutsch or French/Switzerland pour choisir le francais) $ sugar-control-panel -s language German/Switzerland
Now we have to restart the X-server, e.g. by pressing ctrl-alt-erase by calling as root killall X by rebooting
setxkbmap command for US/CH keyboard layout switching
setxkbmap -layout us,ch -option "grp:alt_shift_toggle" -variant olpc,de_nodeadkeys
Switch using Alt-Shift. Interesting Wiki links: