From: Martin M. <mm...@me...> - 2004-09-30 22:01:10
|
###################################################################### Webmin/Usermin - Translation - Monthly HOWTO Original: http://webmin.mamemu.de/modules.html#newlang Martin Mewes - Webmin/Usermin Translation Co-Ordinator (WTCO) Last changed: 27.09.2004 ###################################################################### History: -------- 27.09.2004 Virtualmin-Development-Version 2.27 released 21.09.2004 Webmin-Development-Version 1.161 released Usermin-Development-Version 1.091 released 06.09.2004 Webmin-Version 1.160 released as stable Usermin-Version 1.090 released as stable 21.07.2004 Virtualmin-Version 2.10 released as stable ###################################################################### Current Stable Release for Webmin is 1.160 http://webmin.mamemu.de/devel/tarballs/webmin-1.160.tar.gz http://webmin.mamemu.de/devel/tarballs/webmin-1.160-1.noarch.rpm http://webmin.mamemu.de/devel/tarballs/webmin-1.160-minimal.tar.gz Current Development Release for Webmin is 1.161 http://webmin.mamemu.de/devel/tarballs/webmin-1.161.tar.gz Current Stable Release for Usermin is 1.090 http://webmin.mamemu.de/devel/tarballs/usermin-1.090.tar.gz http://webmin.mamemu.de/devel/tarballs/usermin-1.090-1.noarch.rpm Current Development Release for Usermin is 1.091 http://webmin.mamemu.de/devel/tarballs/usermin-1.091.tar.gz Current Stable Release for VirtualMin is 2.10 http://webmin.mamemu.de/download/virtualmin/virtual-server-2.10.wbm.gz Current Development Release for VirtualMin is 2.27 http://webmin.mamemu.de/download/virtualmin/virtual-server-2.27.wbm.gz ###################################################################### Administrative: --------------- Date: 2004-06-26 23:02 Summary: wbmtranslator 0.5.2 released Please see http://labs.libre-entreprise.org/projects/wbmtranslator/ for details. eMail-Adress for sending in translations to Webmin has changed. Please send in all stuff to tra...@we... in the future. 23.02.2004 If you are anoyed by these post you can filter this with procmail scanning for X-Webmin: monthly in the header. ###################################################################### TOC: 1. Adding New Languages to Webmin 2. Using wbmtranslator 3. Is there a way to use localization when developing a new theme? 4. Use a nice script for developing languages. 5. Samples 6. Special Hint ###################################################################### 1. 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 ###################################################################### 2. Using wbmtranslator This is a module by Emmanuel Saracco which can be downloaded here: http://labs.libre-entreprise.org/projects/wbmtranslator/ It consists of an easy to use webinterface in order to update current translations or setup new languages. Last not least it enables you to officially send in translations to WTCO at tra...@we... ###################################################################### 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. Use a nice script for developing languages. Christophe Chisogne developed a script which is available in a special Download-Area at www.webmin.com. http://www.webmin.com/wtco/char2ent.pl These and other stuff can be downloaded at http://www.mewes.tv/ As example: dodiff.sh An easy interface to diff between en-files and your language file. dolinks.sh As there are many symlinks between Webmin and Usermin on Jamies Computer I wrote this little script which does a symlink-detection for you. So it could be that if you develop for a Usermin- Module you enhance a Webmin-Module as well :-) This is the output from the help: perl char2ent.pl Usage: char2ent [--mode=html|work] [-b] [-c] 8bitfile.txt ... char2ent [--help] [--version] --mode=x, -m=x choose html mode (default) or work mode --backup, -b backup of modified file --confirm, -c confirm conversion of each file If you still need other 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: Editing usermin/at/lang/de is as easy as this :-) perl char2ent.pl --mode=work usermin/at/lang/de Conversion from &#ddd; entities to 8bit chars Converting file [usermin/at/lang/de]... And this now is the file ---------------------------------------------------------------------- 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 löschen 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 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 ---------------------------------------------------------------------- Now you can edit this file normally and if you are finished: perl char2ent.pl --mode=html usermin/at/lang/de Conversion from 8bit chars to &#ddd; entities Converting file [usermin/at/lang/de]... And this is the file: ---------------------------------------------------------------------- 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 löschen 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 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 ---------------------------------------------------------------------- Restrictions: You cannot use this procedure completely on ... config.info.* (WebMin) uconfig.info.* (UserMin) module.info (WebMin) .. because setting commas (,) or delimiters like a dash (-) are trailing symbols for webmin's perl scripts. You MUST write those symbols with pure HTML-Entities! ###################################################################### 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>tra...@we...</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>tra...@we...</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 tra...@we... and replace it with your own eMail-Adress. Note for the German folks: I kindly take this part for DE-Translations exclusively ;-) bis dahin - kind regards Martin Mewes -- ###################################################################### http://www.webmin.com/ | Webbased Administration Tool for http://webmin.mamemu.de/ | Unixoid Systems :-) Official Webmin/Usermin Translation Co-Ordinator 2003/2004 ###################################################################### |