Difference between revisions of "Internationalisation"

From Jmol
Jump to navigation Jump to search
(Wiki translation)
(Page not translated into any other languages: Some explanation same as the Japanese page version 2015/1/20 (Thu) 05:52 (UTC) was added.)
 
(19 intermediate revisions by 6 users not shown)
Line 1: Line 1:
''' Jmol Internationalisation and Localisation '''
+
{{Jmol Development Sections}}
 +
= Jmol Internationalisation and Localisation =
 +
 
 +
{{Lang:Internationalisation}}
 +
 
 +
'''`Internationalisation´''' is the process of designing software so that it can be adapted to various languages and regions without engineering changes. '''`Localisation´''' is the process of adapting software for a specific region or language by adding locale-specific components and translating text.
 +
 
 +
__TOC__
 +
 
 +
= Internationalisation =
 +
 
 +
:''This is meant for developers only''
 +
 
 +
== Application and Applet ==
 +
 
 +
In Jmol version 10.00.12 we changed from an unhandy (but well-known) translation process to a more powerful one using [http://www.gnu.org/software/gettext/gettext.html GNU's gettext] suite. The localisation section below contains a detailed explanation of this process. More documentation is available in [http://www.gnu.org/software/gettext/manual/ the gettext manual].
 +
 
 +
=== Coding ===
 +
All text fragments are called in the code like this:
 +
GT._("Here the English text")
 +
 
 +
 
 +
''Special case:''
 +
:When the text includes a variable word or phrase that comes from an external source (somewhere else in the code, which changes depending on the current situation), you should account for it in this way:
 +
GT._("Here the number {0} English text",someVariable)
 +
:The value of ''someVariable'' will be inserted at the position of ''{0}'', so it might render, e.g., as
 +
:: Here the number 1 English text
 +
:: Here the number 2 English text
 +
:: etc.
 +
:This is needed since the position of that word may be different in different languages. Translators should leave the {0} token as is but put it in the proper place. For example, Spanish translation would be:
 +
:: <code>"Aquí va el texto en español número {0}"</code>
 +
:: Aquí va el texto en español número 1
 +
:: Aquí va el texto en español número 2
 +
:: etc.
 +
: If more than one such words are needed, use {0}, {1}, etc., and the code changes a little bit, like in:
 +
GT._("The user {0} has an id of {1} for this session.",
 +
new String[]{ userName,sessID })
 +
 
 +
 
 +
''Comments for translators:''
 +
:If the text isn't self explanatory for the translators, a comment can be added for helping them understanding the context.
 +
:Use Java comments with the syntax <code>/// TRANSLATORS: explanation</code> (''note the '''3''' slashes'') just before the call to <code>GT._(...)</code>.
 +
:This comments will be included in the gettext files and will be visible by translators.
 +
/// TRANSLATORS: first line of explanation
 +
/// Second line of explanation
 +
GT._("The user {0} has an id of {1} for this session.",
 +
new String[]{ userName,sessID })
 +
 
 +
= Localisation =
  
 
Several pieces of Jmol can be translated into your local language:
 
Several pieces of Jmol can be translated into your local language:
__TOC__
 
  
<hr /><br />
+
You can check the [[Internationalisation/Current_Status|current status of translations]].
 +
 
 +
<br />
 
== Translating this Wiki ==
 
== Translating this Wiki ==
  
Line 14: Line 63:
  
 
We will suppose in the explanation that you want to translate a page named English_Page into XXXXX (language code: xx).
 
We will suppose in the explanation that you want to translate a page named English_Page into XXXXX (language code: xx).
<br /><br />
+
 
=== Page already translated into an other language ===
+
 
 +
 
 +
=== Page already translated into another language ===
  
 
* In the [http://wiki.jmol.org/index.php?title=Special%3AAllpages&from=&namespace=10 Template namespace], edit the existing page <tt>Lang:English_Page</tt>, add your language in it and save the page:
 
* In the [http://wiki.jmol.org/index.php?title=Special%3AAllpages&from=&namespace=10 Template namespace], edit the existing page <tt>Lang:English_Page</tt>, add your language in it and save the page:
Line 34: Line 85:
 
* Edit the <tt>English_Page</tt> to have the source code of the page, copy the entire source code (<tt>Ctrl+A</tt>, <tt>Ctrl+C</tt>) and cancel the page editing.
 
* Edit the <tt>English_Page</tt> to have the source code of the page, copy the entire source code (<tt>Ctrl+A</tt>, <tt>Ctrl+C</tt>) and cancel the page editing.
 
* Start editing the page in your language (<tt>English_Page/xx</tt>), paste the source code (<tt>Ctrl+V</tt>) and then translate the page.
 
* Start editing the page in your language (<tt>English_Page/xx</tt>), paste the source code (<tt>Ctrl+V</tt>) and then translate the page.
<br />
+
 
=== Page not translated into any other language ===
+
 
 +
=== Page not translated into any other languages ===
  
 
* Edit the template page (<tt>Template:Lang:English_Page</tt>) and initialize it:
 
* Edit the template page (<tt>Template:Lang:English_Page</tt>) and initialize it:
Line 50: Line 102:
 
|}
 
|}
 
----</nowiki>
 
----</nowiki>
 +
:* xx indicates the language code (e.g. ja)
 +
:* XXXXX indicates the language name in the designated language (e.g. 日本語)
 
* Edit the <tt>English_Page</tt>, insert <tt><nowiki>{{Lang:English_Page}}</nowiki></tt> at the beginning, copy the entire source code (<tt>Ctrl+A</tt>, <tt>Ctrl+C</tt>) and save the page.
 
* Edit the <tt>English_Page</tt>, insert <tt><nowiki>{{Lang:English_Page}}</nowiki></tt> at the beginning, copy the entire source code (<tt>Ctrl+A</tt>, <tt>Ctrl+C</tt>) and save the page.
 
* Start editing the page in your language (<tt>English_Page/xx</tt>), paste the source code (<tt>Ctrl+V</tt>) and then translate the page.
 
* Start editing the page in your language (<tt>English_Page/xx</tt>), paste the source code (<tt>Ctrl+V</tt>) and then translate the page.
  
<hr /><br />
+
<br />
 +
 
 
== Translating the application/applet ==
 
== Translating the application/applet ==
  
In Jmol version 10.00.12 we changed from an unhandy (but well-known) translation process to a more powerful one using [http://www.gnu.org/software/gettext/gettext.html GNU's gettext] suite. The following paragraphs contain a detailed explanation of this process. More documentation is available [http://www.gnu.org/software/gettext/manual/gettext.html here].
+
See the [[Internationalisation/Current_Status|current status]] of the translations.
<br /><br />
 
=== Simple explanation to add a new translation ===
 
  
Adding a new translation for the Jmol application/applet is quite easy. Only a few steps are required to add the translation.
+
Participating in the translation of the application or the applet can be achieved in several ways:
 +
{{:Internationalisation/Online}}
 +
{{:Internationalisation/Offline}}
 +
* A few items in the application cannot be translated by any of these two methods, and need a special procedure. See [[Internationalisation/Translating_html_files|Translating html files]].
  
'''1. Download the files for the translation:'''<br />
+
=== Translation of the ''Export to Web'' module ===
Download [http://svn.sourceforge.net/viewcvs.cgi/jmol/trunk/Jmol/src/org/jmol/translation/Jmol/Jmol.pot?view=log Jmol.pot] and rename it to <tt>''LANG''.po</tt>.<br />
 
Download [http://svn.sourceforge.net/viewcvs.cgi/jmol/trunk/Jmol/src/org/jmol/translation/JmolApplet/JmolApplet.pot?view=log JmolApplet.pot] and rename it to <tt>''LANG''.po</tt>.<br />
 
Note: <tt>''LANG''</tt> means your language code: e.g. <tt>de</tt> for German, <tt>fr</tt> for French and so on.<br />
 
Note: Since both files have the same name, you will have to save them in different directories or rename them.
 
<br /><br />
 
'''2. Install an editor for .po files:'''<br />
 
The .po files can be edited with many editors, see Detailed explanation.<br />
 
It's probably easier to use a dedicated editor, so the explanations below are based on [http://www.poedit.org/ poEdit], but feel free to use the editor you prefer.
 
poEdit is cross-platform (Windows, Unix, and probably Mac OS X in a near future).
 
  
Many other editors exist:
+
Although this module is part of the application, and therefore instructions above are applicable, there are some special characteristics that call for some precautions and a partially different procedure.
* [http://i18n.kde.org/tools/kbabel/ kbabel],
 
* [http://gtranslator.sourceforge.net/ gtranslator],
 
* [http://packages.debian.org/stable/devel/gettext-el Emacs po-mode],
 
* ...
 
<br />
 
'''3. Configure Jmol <tt>''LANG''</tt>.po:'''
 
  
<table border="0" cellspacing="0" width="100%"><tr><td>
+
* See [[Internationalisation/Offline/Export_to_Web|Translating the Export to Web module]].
Open Jmol <tt>''LANG''.po</tt> with poEdit.
 
  
Select Catalog / Settings in the menu.
 
 
Type the followings values in the fields:
 
* Project name and version: Jmol
 
* Team: Your language
 
* Team's email address: [mailto:Jmol-developers@lists.sf.net Jmol-developers@lists.sf.net]
 
* Language: Your language
 
* Country: Your country
 
* Charset: UTF-8
 
 
Save the modifications
 
</td><td>
 
[[Image:PoEdit_Settings.png]]
 
</td></tr></table>
 
 
<br />
 
<br />
'''4. Translate Jmol <tt>''LANG''.po</tt>:'''
 
The main window of poEdit is divided into several areas.<br />
 
The top area contains the list of strings to translate with their current translation. The background color of each line depends on the status of the translation:
 
* Blue: Not translated yet.
 
* Yellow: Fuzzy translation (needs verification).
 
* White: Translated.
 
* Red: Error.
 
  
When you select a line in the top area, the bottom areas is updated with the following:
+
== Translating the Applet-, User- and Developers-Guide ==
* Top-left area: String to translate.
 
* Bottom-left area: Current translation. Just type your translation in here.
 
  
[[Image:PoEdit.png]]
+
The guides are written in XML. ...
<br /><br />
 
'''5. Repeat steps 3 and 4 with JmolApplet <tt>''LANG''.po</tt>.'''
 
<br /><br />
 
'''6. Send the two .po files to a Jmol developer, so they will be added in the next Jmol release.'''<br />
 
Emails: [mailto:nicove@users.sourceforge.net nicove@users.sourceforge.net], [mailto:Jmol-developers@lists.sf.net Jmol-developers@lists.sf.net].
 
  
<hr /><br />
 
=== Simple explanation to update an existing translation ===
 
  
Updating an existing translation for the Jmol application/applet is quite easy. Only a few steps are required to update the translation.
+
1. First install and download:
<br /><br />
+
* [http://www.python.org/download/ Python] runtime
'''1. Download the files for the translation:'''<br />
+
* [ftp://xmlsoft.org/ libxml2-python] bindings ([http://users.skynet.be/sbi/libxml-python/ Windows-port])
Download <tt>''LANG''.po</tt> from the [http://svn.sourceforge.net/viewcvs.cgi/jmol/trunk/Jmol/src/org/jmol/translation/Jmol/ Jmol directory].<br />
+
* [http://www.gnu.org/software/gettext/gettext.html gettext] ([http://gnuwin32.sourceforge.net/packages/gettext.htm Windows-port]) - see also the first paragraphs in Translating the application/applet
Download <tt>''LANG''.po</tt> from the [http://svn.sourceforge.net/viewcvs.cgi/jmol/trunk/Jmol/src/org/jmol/translation/JmolApplet/ JmolApplet directory].<br />
+
* [http://ftp.gnome.org/pub/GNOME/sources/gnome-doc-utils/ gnome-doc-utils] - '''only''' Linux users, the Python scripts in Jmol-HEAD\doc\source are ('''only!''') for Windows users
Note: <tt>''LANG''</tt> means your language code: e.g. <tt>de</tt> for German, <tt>fr</tt> for French and so on.<br />
 
Note: Since both files have the same name, you will have to save them in different directories or rename them.
 
<br /><br />
 
'''2. Install an editor for .po files:'''
 
See step 2 in the explanations for adding a new translation.
 
<br /><br />
 
'''3. Translate each <tt>''LANG''.po</tt>:'''<br />
 
See step 4 in the explanations for adding a new translation.
 
<br /><br />
 
'''4. Send the two .po files to a Jmol developer, so they will be added in the next Jmol release.'''<br />
 
Emails: [mailto:nicove@users.sourceforge.net nicove@users.sourceforge.net], [mailto:Jmol-developers@lists.sf.net Jmol-developers@lists.sf.net].
 
  
<hr /><br />
+
'''Linux users:''' you should '''ALWAYS''' try to use youir package management to install (software-)packages.
=== Detailed explanation ===
 
  
1. Download and install [http://www.gnu.org/software/gettext/gettext.html gettext]. Linux users should try to install it using their distributions package management (like rpm, dpkg, apt, ...). Windows user download gettext from http://gnuwin32.sourceforge.net/packages/gettext.htm. Both make sure, that the gettext binaries are in your PATH environment variable.<br />
+
'''Windows users:''' you '''MUST''' add an environment variable <tt>PYTHON_PATH</tt>, which contains the directory where you installed Python, e.g. <tt>set PYTHON_PATH=C:\Program Files\Python24</tt>.
'''Note for Windows users:''' If you installed the gettext binaries into e.g. <tt>C:\Program Files\GnuWin32</tt>, then you need to add <tt>C:\Program Files\GnuWin32\bin;</tt> to the existing PATH environment variable: Control Panel &rarr; System &rarr; Environment Variable (Tab Extended) OR run the following command in a windows command shell: <tt>set PATH=%PATH%;C:\Program Files\GnuWin32\bin;.</tt>. Windows XP and Windows 2000 are currently supported.
 
<br /><br />
 
2. All targets related to internationalisation and localisation issues are part of <tt>build-i18n.xml</tt>. To create PO-template files, run <tt>ant -f build-i18n.xml update-pot</tt>. All <tt>''LANG''.po</tt> files (which contain the translation and are maintained by the translator himself) are updated with <tt>ant -f build-i18n.xml update-po</tt>. To create the final message catalogs, run <tt>ant -f build-i18n.xml update-catalog</tt>.
 
<br /><br />
 
3. To create a translation in your language, go to <tt>src/org/jmol/translation/Jmol</tt> (for the application) or <tt>src/org/jmol/translation/JmolApplet</tt> (for the applet) and copy <tt>Jmol(Applet).pot</tt> to <tt>''LANG''.po</tt> - <tt>''LANG''</tt> means your language code: e.g. <tt>de</tt> for German, <tt>fr</tt> for French and so on.
 
<br /><br />
 
4. To begin your translation, open the newly created <tt>''LANG''.po</tt> with an editor of your choice - '''Windows users be aware, that the editor MUST NOT add any control characters (like e.g. Word does)!.''' There are also specialised editors for this work: e.g. [http://www.poedit.org/ poedit], [http://i18n.kde.org/tools/kbabel/ kbabel], or [http://gtranslator.sourceforge.net/ gtranslator].
 
<br /><br />
 
5. The opened file will look like this:
 
  
# SOME DESCRIPTIVE TITLE.
+
Now you are done with the prerequisites.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 
# This file is distributed under the same license as the PACKAGE package.
 
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 
#
 
  
These lines are '''comments'''. Adjust them and add a descritpive title, the right copyright and your name as author. Be aware, that lines beginning with #, or #: have a special meaning and are not normal comments.
 
  
#, fuzzy
+
2. All targets related to internationalisation and localisation of the documentation are part of {{File|build-doc-i18n.xml}}. To create PO-template files, run <tt>ant -f build-doc-i18n.xml create-pot</tt>. All {{File|Jmol*Guide.''LANG''.po}} files (which contain the translation and are maintained by the translator himself) are updated with <tt>ant -f build-doc-i18n.xml update-po</tt>. To create the final (translated) XML file {{File|Jmol*Guide_''LANG''.docbook.xml}}, run <tt>ant -f build-doc-i18n.xml update-xml</tt>.
msgid ""
 
msgstr ""
 
"Project-Id-Version: PACKAGE VERSION\n"
 
"Report-Msgid-Bugs-To: jmol-developers@lists.sourceforge.net\n"
 
"POT-Creation-Date: 2005-06-01 02:02+0200\n"
 
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 
"Language-Team: LANGUAGE <LL@li.org>\n"
 
"MIME-Version: 1.0\n"
 
"Content-Type: text/plain; charset=UTF-8\n"
 
"Content-Transfer-Encoding: 8bit\n"
 
  
We call this part the '''po-headers'''. The line <tt>#, fuzzy</tt> says, that the headers are outdated. Customise <tt>"Project-Id-Version: PACKAGE VERSION\n"</tt>, <tt>"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"</tt>, <tt>"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"</tt> and maybe <tt>"Language-Team: LANGUAGE <LL@li.org>\n"</tt> (if you don't belong to a language team, then write <tt>none</tt>) and remove the fuzzy comment. In '''every case''' make sure, that <tt>Content-Type</tt> and <tt>Content-Transfer-Encoding</tt> are right (if possible, use <tt>UTF-8</tt>).
 
  
If you plan to use [http://www.poedit.org/ poedit] to do the translation, you can add several lines to the headers (replace <tt>LANGUAGE</tt> and <tt>COUNTRY</tt>).
+
3. To create a translation in your language, go to {{Directory|doc/source/po}} and copy {{File|Jmol*Guide.pot}} to {{File|Jmol*Guide.''LANG''.po}} - <tt>''LANG''</tt> means your language code: e.g. <tt>de</tt> for German, <tt>fr</tt> for French and so on.
  
"X-Poedit-Language: LANGUAGE\n"
 
"X-Poedit-Country: COUNTRY\n"
 
"X-Poedit-Basepath: ../../../..\n"
 
  
Then begin the "real" translation:
+
4. The rest is similar to the above Howto.
  
#: org/openscience/jmol/app/AboutDialog.java:57
 
#: org/openscience/jmol/app/GuiMap.java:155
 
msgid "About Jmol"
 
msgstr ""
 
 
#: org/openscience/jmol/app/AboutDialog.java:67
 
#: org/openscience/jmol/app/HelpDialog.java:77
 
#: org/openscience/jmol/app/WhatsNewDialog.java:68
 
#, java-format
 
msgid "Unable to find url \"{0}\"."
 
msgstr ""
 
[..]
 
  
A line or block beginning with <tt>msgid</tt> contains the untranslated (or original) string inside double quotation marks. Above this line, you see the location entries <tt>#: path/to/file.java:line</tt> (where the string can be found in the source) and sometimes some special comments <tt>#, java-format</tt> or <tt>#, fuzzy</tt> or even <tt>#, fuzzy, java-format</tt> (telling you more about the format of a string or the state of a translation) - these lines are added and changed automatically by running <tt>ant -f build-i18n.xml update-po</tt>. Place your translation into the line or block beginning with <tt>msgstr</tt> and inside double quotation marks.
+
<br />
<br /><br />
 
6. After finishing, add your translation (<tt>''LANG''.po</tt>) to Jmol SVN and your language code to property <tt>all.Jmol(Applet).languages</tt> in <tt>build-i18n.xml</tt>.
 
<br /><br />
 
7. At the end of this short howto, we should speak about special situations and a few hints, you should consider:
 
* double quotation marks inside a string must be escaped with a backslash: <tt>msgstr "... \" ..."</tt>
 
* single quotation marks must be doubled (two single quotation marks) for Java texts (<tt>#, java-format</tt>)
 
* <tt>#, fuzzy</tt> means that the translation string is outdated (e.g. the original string changed) - in this situation, check your translation and adjust it if necessary - then you can remove the fuzzy string (e.g. line <tt>#, fuzzy, java-format</tt> becomes <tt>#, java-format</tt>)
 
 
 
<hr /><br />
 
== Translating the Applet-, User- and Developers-Guide ==
 
 
 
The guides are written in XML. ...
 
<br /><br />
 
1. First install and download:
 
* [http://www.python.org/download/ Python] runtime
 
* [ftp://xmlsoft.org/ libxml2-python] bindings ([http://users.skynet.be/sbi/libxml-python/ Windows-port])
 
* [http://www.gnu.org/software/gettext/gettext.html gettext] ([http://gnuwin32.sourceforge.net/packages/gettext.htm Windows-port]) - see also the first paragraphs in Translating the application/applet
 
* [http://ftp.gnome.org/pub/GNOME/sources/gnome-doc-utils/ gnome-doc-utils] - '''only''' Linux users, the Python scripts in Jmol-HEAD\doc\source are ('''only!''') for Windows users
 
 
 
'''Note for Linux users:''' Linux users should '''ALWAYS''' try to use their package management to install (software-)packages.
 
 
 
'''Note for Windows users:''' Windows users '''MUST''' add an environment variable <tt>PYTHON_PATH</tt>, which contains the directory where you installed Python, e.g. <tt>set PYTHON_PATH=C:\Program Files\Python24</tt>.
 
 
 
Now you are done with the prerequisites.
 
<br /><br />
 
2. All targets related to internationalisation and localisation of the documentation are part of <tt>build-doc-i18n.xml</tt>. To create PO-template files, run <tt>ant -f build-doc-i18n.xml create-pot</tt>. All <tt>Jmol*Guide.''LANG''.po</tt> files (which contain the translation and are maintained by the translator himself) are updated with <tt>ant -f build-doc-i18n.xml update-po</tt>. To create the final (translated) XML file <tt>Jmol*Guide_''LANG''.docbook.xml</tt>, run <tt>ant -f build-doc-i18n.xml update-xml</tt>.
 
<br /><br />
 
3. To create a translation in your language, go to <tt>doc/source/po</tt> and copy <tt>Jmol*Guide.pot</tt> to <tt>Jmol*Guide.''LANG''.po</tt> - <tt>''LANG''</tt> means your language code: e.g. <tt>de</tt> for German, <tt>fr</tt> for French and so on.
 
<br /><br />
 
4. The rest is similar to the above Howto.
 
 
 
<hr /><br />
 
 
== Translating the Jmol and FAH websites ==
 
== Translating the Jmol and FAH websites ==
  
 
... to write
 
... to write

Latest revision as of 06:02, 20 January 2015

Jmol/JSmol Development

Jmol Internationalisation and Localisation


Geographylogo.png

Reference: English – Other: 日本語 ·


`Internationalisation´ is the process of designing software so that it can be adapted to various languages and regions without engineering changes. `Localisation´ is the process of adapting software for a specific region or language by adding locale-specific components and translating text.

Internationalisation

This is meant for developers only

Application and Applet

In Jmol version 10.00.12 we changed from an unhandy (but well-known) translation process to a more powerful one using GNU's gettext suite. The localisation section below contains a detailed explanation of this process. More documentation is available in the gettext manual.

Coding

All text fragments are called in the code like this:

GT._("Here the English text")


Special case:

When the text includes a variable word or phrase that comes from an external source (somewhere else in the code, which changes depending on the current situation), you should account for it in this way:
GT._("Here the number {0} English text",someVariable)
The value of someVariable will be inserted at the position of {0}, so it might render, e.g., as
Here the number 1 English text
Here the number 2 English text
etc.
This is needed since the position of that word may be different in different languages. Translators should leave the {0} token as is but put it in the proper place. For example, Spanish translation would be:
"Aquí va el texto en español número {0}"
Aquí va el texto en español número 1
Aquí va el texto en español número 2
etc.
If more than one such words are needed, use {0}, {1}, etc., and the code changes a little bit, like in:
GT._("The user {0} has an id of {1} for this session.",
new String[]{ userName,sessID })


Comments for translators:

If the text isn't self explanatory for the translators, a comment can be added for helping them understanding the context.
Use Java comments with the syntax /// TRANSLATORS: explanation (note the 3 slashes) just before the call to GT._(...).
This comments will be included in the gettext files and will be visible by translators.
/// TRANSLATORS: first line of explanation
/// Second line of explanation
GT._("The user {0} has an id of {1} for this session.",
new String[]{ userName,sessID })

Localisation

Several pieces of Jmol can be translated into your local language:

You can check the current status of translations.


Translating this Wiki

The articles in this Wiki can be translated into your own language.

The explanation below will take two different situations:

  • When the page you want to translate is already translated into an other language.
  • When the page you want to translate is not translated into any other language.

We will suppose in the explanation that you want to translate a page named English_Page into XXXXX (language code: xx).


Page already translated into another language

  • In the Template namespace, edit the existing page Lang:English_Page, add your language in it and save the page:
----
{| border="0" cellspacing="1"
|-
! valign="middle" | [[Image:Geographylogo.png]]
| valign="middle" align="left" | <span style="font-size:smaller">
Reference:
'''[[English_Page|English]]''' – 
Other:
<!--es-->[[English_Page/es|Español]] · 
<!--fr-->[[English_Page/fr|Français]] · 
<!--xx-->[[English_Page/xx|XXXXX]] · 
</span>
|}
----
  • Edit the English_Page to have the source code of the page, copy the entire source code (Ctrl+A, Ctrl+C) and cancel the page editing.
  • Start editing the page in your language (English_Page/xx), paste the source code (Ctrl+V) and then translate the page.


Page not translated into any other languages

  • Edit the template page (Template:Lang:English_Page) and initialize it:
----
{| border="0" cellspacing="1"
|-
! valign="middle" | [[Image:Geographylogo.png]]
| valign="middle" align="left" | <span style="font-size:smaller">
Reference:
'''[[English_Page|English]]''' – 
Other:
<!--xx-->[[English_Page/xx|XXXXX]] · 
</span>
|}
----
  • xx indicates the language code (e.g. ja)
  • XXXXX indicates the language name in the designated language (e.g. 日本語)
  • Edit the English_Page, insert {{Lang:English_Page}} at the beginning, copy the entire source code (Ctrl+A, Ctrl+C) and save the page.
  • Start editing the page in your language (English_Page/xx), paste the source code (Ctrl+V) and then translate the page.


Translating the application/applet

See the current status of the translations.

Participating in the translation of the application or the applet can be achieved in several ways:


Geographylogo.png

Reference: English – Other: 日本語 ·


  • Online: by editing directly the translation through Launchpad web site. You just need to register but no installation is required.
    • Description needs to be completed when everything is setup on the Launchpad web site

Geographylogo.png

Reference: English – Other: 日本語 ·


Translation of the Export to Web module

Although this module is part of the application, and therefore instructions above are applicable, there are some special characteristics that call for some precautions and a partially different procedure.


Translating the Applet-, User- and Developers-Guide

The guides are written in XML. ...


1. First install and download:

Linux users: you should ALWAYS try to use youir package management to install (software-)packages.

Windows users: you MUST add an environment variable PYTHON_PATH, which contains the directory where you installed Python, e.g. set PYTHON_PATH=C:\Program Files\Python24.

Now you are done with the prerequisites.


2. All targets related to internationalisation and localisation of the documentation are part of File icon.gifbuild-doc-i18n.xml. To create PO-template files, run ant -f build-doc-i18n.xml create-pot. All File icon.gifJmol*Guide.LANG.po files (which contain the translation and are maintained by the translator himself) are updated with ant -f build-doc-i18n.xml update-po. To create the final (translated) XML file File icon.gifJmol*Guide_LANG.docbook.xml, run ant -f build-doc-i18n.xml update-xml.


3. To create a translation in your language, go to doc/source/po and copy File icon.gifJmol*Guide.pot to File icon.gifJmol*Guide.LANG.po - LANG means your language code: e.g. de for German, fr for French and so on.


4. The rest is similar to the above Howto.



Translating the Jmol and FAH websites

... to write