From: Martin M. <mm...@ag...> - 2003-11-15 23:00:48
|
###################################################################### Webmin/Usermin - Translation - Weekly HOWTO Original: http://webmin.mamemu.de/webmin/modules.html#newlang Martin Mewes - Webmin/Usermin Translation Co-Ordinator (WTCO) Last changed: 13.11.2003 ###################################################################### History: 13.11.2003 New Development-Release of Webmin available 10.11.2003 Webmin-Version 1.121 released as stable 07.11.2003 Usermin-Version 1.051 released as stable. Administrative: 05.11.2003 The Server for mailman.mamemu.de has moved to a new loaction and my script for automatically submitting this FAQ did not work properly. Now all things should be fixed. In addition you can download old versions at my place as well. There is a "Shrine" available now ;-) http://webmin.mamemu.de/wtco-shrine.html ###################################################################### TOC: 1. Latest Stuff for downloading 2. Adding New Languages to Webmin 3. Is there a way to use localization when developing a new theme? 4. Please and always use HTML-Entities where and if possible. 5. Samples 6. Special Hint ###################################################################### 1. Latest Stuff for downloading Current Stable Release for Webmin is 1.121 http://prdownloads.sourceforge.net/sourceforge/webadmin/webmin-1.121.tar.gz http://prdownloads.sourceforge.net/webadmin/webmin-1.121-1.noarch.rpm http://webmin.mamemu.de/devel/tarballs/webmin-1.121-minimal.tar.gz Current Development Release for Webmin is 1.122 http://webmin.mamemu.de/devel/rpm/webmin-1.122-1.src.rpm http://webmin.mamemu.de/devel/rpm/webmin-1.122-1.noarch.rpm http://webmin.mamemu.de/devel/tarballs/webmin-1.122.tar.gz Current Stable Release for Usermin is 1.051 http://prdownloads.sourceforge.net/webadmin/usermin-1.051.tar.gz http://prdownloads.sourceforge.net/webadmin/usermin-1.051-1.noarch.rpm Current Development Release for Usermin is 1.051 http://webmin.mamemu.de/devel/rpm/usermin-1.051-1.noarch.rpm http://webmin.mamemu.de/devel/rpm/usermin-1.051-1.src.rpm http://webmin.mamemu.de/devel/tarballs/usermin-1.051.tar.gz Current Stable Release for VirtualMin is 1.51 http://webmin.mamemu.de/download/modules/virtual-server-1.51.wbm.gz ###################################################################### 2. Adding New Languages to Webmin New translations of the existing core Webmin modules are always welcome. If you want to translate Webmin into a new language or update one of the existing translations, follow these steps : Get the latest development version of Webmin so that you can see the latest translations that have been done by other people. In the file lang_list.txt in the Webmin root directory, add a new line for your language like : lang=sw,titles=1,charset=iso-6666-6 Swahili The lang= part defines the short code for the language, and should follow the ISO standard where possible. The titles= part controls whether Webmin should use letter images for displaying page titles in the language, and should be set to 1 if your language uses european characters. The optional charset= part sets the character set that is sent to the web browser when using the language, so that is can automatically select the right font to use. Switch to your new language in the Webmin Configuration module under the Language icon. In the directory lang under the Webmin root and in each of the lang subdirectories under the module directories, create a new file called sw (or whatever the short code for your language is) that is a translation of the en file in the same directory. In each of the module.info files under the module directories, add a new desc_sw= line that is a translation of the desc= line. In each of the module directories, create a new file called config.info.sw which is a translation of config.info (if it exists). In the help subdirectory under each of the module directories (where they exist), translate all of the something.html files into something.sw.html. A table of currently translated languages is available so that you can see how much has been done for each language and module so far. There is also a list of other translators that you might want to contact before doing your own translation work. You don't have to finish translating the entire of Webmin for your translation to be useful. Many people just do a few modules at a time, or skip the help pages initially. When your translation has made some progress, send a .tar.gz file of all the translated files to Martin Mewes at we...@we... so that he can include it in the main Webmin distribution. The best way to tar up everything is with the command : tar czf /tmp/translation.tar.gz */lang/sw lang/sw */module.info */config.info.sw */help/*.sw.html ###################################################################### 3. Is there a way to use localization when developing a new theme? Yes (by Jamie Cameron) There is a way to do this - create a lang/ subdirectory under your theme with the usual en, de and other files. Then in your theme CGIs or .pl, use code like : %mytext = &load_language("my-theme-directory"); print "<b>$mytext{'something'}</b> <p>\n"; ###################################################################### 4. Please and always use HTML-Entities where and if possible. To find your own HTML-Entities you may try to ask Google for "HTML-Entities" + ISOXXXX-X where ISOXXXX-X must be replaced with _your_ ISO-Code. Useful Links to HTML-Entities German http://www.ramsch.org/martin/uni/fmi-hp/iso8859-1.html Unicode http://www.theorem.ca/~mvcorks/code/charsets/auto.html ###################################################################### 5. Samples: This is a sample module.info <cat> category=system desc_ru_SU=òÁÓÐÉÓÁÎÉÅ ÚÁÄÁÎÉÊ longdesc=Schedule the execution of one-off commands or scripts. desc_zh_TW.Big5=«ü¥O±Æµ{ os_support=solaris slackware-linux redhat-linux mandrake-linux debian-linux suse-linux united-linux open-linux turbo-linux corel-linux msc-linux freebsd netb desc_pl=Zlecone polecenia desc=Scheduled Commands desc_es=Comandos Planificados desc_de=Geplante AT-Aufträge name=At depends=1.102 version=1.102 desc_pt_BR=Comandos Agendados desc_hu=Ütemezett feladatok desc_ru_RU=Ðàñïèñàíèå çàäàíèé desc_ca=Ordres Planificades </cat> As you see in the /desc_de/ I used HTML-Entities in it. ------------------------------------------------------------------- This is a sample config.info.de <cat> # config.info.de-File for at # written by Dieter Hürten (www.webmin.de) - DH # die...@te... ###################################################################### # Last patched: 07.08.2003 Martin Mewes for WEBMIN - MM # Questions, comments, snide-remarks: we...@we... ###################################################################### # DH at_dir=AT- Aufträge Verzeichnis,0 # MM at_style=AT-Systemtyp,1,linux-Linux,solaris-Solaris,freebsd-FreeBSD </cat> As you can see I have have added a Notice on top of the file, which is not really needed, but you may follow this. Please see the differences between the /-/ within /AT-Systemtyp/ and the descriptions at the end of the line /at_style/. Do NOT rewrite freebsd-FreeBSD into freebsd-FreeBSD as this may render this Webmin-Module not usable in your language. This shall tell you, that you should TEST your translation and switch back and forth between English and $your_language in order to see if everything is up. ------------------------------------------------------------------- This is a sample lang/de <cat> # de-File for at # written by Dieter Hürten (www.webmin.de) - DH # die...@te... ###################################################################### # Last patched: 07.08.2003 Martin Mewes for WEBMIN - MM # Questions, comments, snide-remarks: we...@we... ###################################################################### #DH index_user=Ausführen als Benutzer index_date=Ausführen am index_time=Ausführen um index_cmd=Auszuführende Befehle index_id=Auftrags-ID index_exec=Ausführen auf index_created=Erzeugt am index_dir=Ausführen im Verzeichnis index_return=Befehls-Liste index_cdate=Aktuelles Datum index_ctime=Aktuelle Zeit edit_cmd=Vollständiges Skript zum Ausführen edit_header=Einzelheiten des geplanten Befehls edit_delete=Diesen Befehl abbrechen edit_ejob=Geplanter Befehl existiert nicht mehr! create_euser=Fehlender oder ungültiger Benutzername create_ecmd=Keine Anweisungen angegeben create_edir=Fehlendes oder ungültiges Verzeichnis delete_egone=Befehl bereits ausgeführt oder gelöscht acl_users=Darf geplante Befehle bearbeiten für acl_only=Nur diese Benutzer acl_except=Alle Benutzer außer #MM - 07.08.2003 index_title=Geplante AT-Befehle index_header=Neuer geplanter AT-Befehl edit_title=Geplanter AT-Befehl edit_ecannot=Sie sind nicht berechtigt, diesen geplanten Befehl zu bearbeiten. create_err=Konnte AT-Befehl nicht einrichten create_edate=Fehlende oder ungültige Datums- oder Zeitangabe create_efuture=Datum und/oder Zeit liegt in der Vergangenheit create_ecannot=Sie sind nicht berechtigt, geplante AT-Befehle für diesen Benutzer anzulegen delete_err=Konnte AT-Befehl nicht abbrechen acl_all=Alle Benutzer acl_this=Aktuellen Webmin-Benutzer </cat> As you can see I have not newly translated stuff that has already been done. I have added my stuff at the end of the file. ------------------------------------------------------------------- After "patching" you may want to use this little script I called "install.sh" for copying things into the right directory, so that you can actually see your work. I have placed this in /home/<username>/trans/at/ and I run it with su -c "sh install.sh" #!/bin/sh cp -fv module.info config.info.de /usr/libexec/webmin/at/ cp -fv lang/de /usr/libexec/webmin/at/lang/de rm -fv /etc/webmin/module.infos.cache Please note that you have to "patch" this for every single directory. Example: /home/<username>/trans/apache/install.sh #!/bin/sh cp -fv module.info config.info.de /usr/libexec/webmin/apache/ cp -fv lang/de /usr/libexec/webmin/apache/lang/de rm -fv /etc/webmin/module.infos.cache ###################################################################### 6. Special hint /usr/libexec/webmin/lang/en <original> feedback_desc2=This feedback will be sent to the developer of Webmin, not your system administrator, ISP or hosting company. Please write your feedback in english, even if you are currently running Webmin in another language. </original> You should add the following (after translating it into your language). <br>If you have a question or a request on the <u>Arabic Transalation</u>, please send a feedback <u>only</u> to <u>webmin@webmin.mamemu.de</u>. Complete line: feedback_desc2=This feedback will be sent to the developer of Webmin, not your system administrator, ISP or hosting company. Please write your feedback in english, even if you are currently running Webmin in another language.<br>If you have a question or a request on the <u>Arabic Transalation</u>, please send a feedback <u>only</u> to <u>webmin@webmin.mamemu.de</u>. And please do not forget to set proper HTML-Entities! If you want to take care of the translations yourself you may strip off we...@we... and replace it with your own eMail-Adress. Note for the German folks: I kindly take this part for DE-Translations exclusively ;-) kind regards Martin Mewes |