Translating: Difference between revisions
(→multi-lingual navigation templates: added eo) |
(redirect link for the Human Interface Guidelines) |
||
(57 intermediate revisions by 18 users not shown) | |||
Line 1: | Line 1: | ||
{{__TOCright__}} |
{{__TOCright__}} |
||
{{l10n-nav}} |
|||
The very nature of the project is multi-lingual and multi-cultural. And although english is (currently) our [http://en.wikipedia.org/wiki/Lingua_franca lingua franca] it may not be so in the future—or so we hope—as each community takes over the project and molds it to their needs and objectives. |
|||
''This page is about translating the web site. For localizing activities, see [[Localization]]'' |
|||
The very nature of the project is multi-lingual and multi-cultural. And although English is (currently) our [http://en.wikipedia.org/wiki/Lingua_franca ''lingua franca''] it may not be so in the future—or so we hope—as each community takes over the project and molds it to their needs and objectives. |
|||
In the meantime, here are some tips, tricks and things to keep in mind while trying to bridge the language barrier that will hopefully make everybody's life simpler and more productive. |
In the meantime, here are some tips, tricks and things to keep in mind while trying to bridge the language barrier that will hopefully make everybody's life simpler and more productive. |
||
: See [[Translating/HowTo|a quick (example driven) guide]] of how to translate. |
: See [[Translating/HowTo|a quick (example driven) guide]] of how to translate. |
||
: See the [[Translated pages]] matrix for a status update |
|||
'''''NOTE:''' please feel free to add or comment, as this is on-going work.'' |
'''''NOTE:''' please feel free to add or comment, as this is on-going work.'' |
||
Line 14: | Line 18: | ||
* [[Localization]] |
* [[Localization]] |
||
* [[Python Style Guide#Internationalization and Localization]] |
* [[Python Style Guide#Internationalization and Localization]] |
||
* [[Translators]] |
|||
== recommended translations == |
== recommended translations == |
||
Line 25: | Line 30: | ||
* [[One Laptop per Child]]—relatively static, and doorway. |
* [[One Laptop per Child]]—relatively static, and doorway. |
||
* [[2B1: The Children's Machine|The Children's Machine]]—doorway. |
* [[2B1: The Children's Machine|The Children's Machine]]—doorway. |
||
* [ |
* [http://wiki.sugarlabs.org/go/Human_Interface_Guidelines Human Interface Guidelines]—not really recommended, but a central piece, which has been moved to http://wiki.sugarlabs.org (It is an incomplete document.) |
||
* [[Developers program]]—for local developers. |
* [[Developers program]]—for local developers. |
||
* [[Bitfrost]]—the summary of the security model. The full spec is in [[OLPC Bitfrost]]. |
* [[Bitfrost]]—the summary of the security model. The full spec is in [[OLPC Bitfrost]]. |
||
Line 37: | Line 42: | ||
It has been noted elsewhere that although the community translation effort is greatly welcome, it lacks guidelines and standards. Until now that was not really an issue, but at some point there should be some a more coherent and unified style. Which? It hasn't been determined. In the meantime, it could prove valuable to have some documentation available that could at least serve as the baseline or source for its creation. |
It has been noted elsewhere that although the community translation effort is greatly welcome, it lacks guidelines and standards. Until now that was not really an issue, but at some point there should be some a more coherent and unified style. Which? It hasn't been determined. In the meantime, it could prove valuable to have some documentation available that could at least serve as the baseline or source for its creation. |
||
Most of the resources listed below [[Talk:Localization#June 19 2007|resulted from a meeting]] in [[IRC|IRC #olpc-l10n]]. |
|||
; [[Spanish]] : As a language that spans many nations, each influenced by it native population and local languages, and historical immigration patterns, yields a superficially aparent homogeneous language zone. Truth is that local idioms do have a considerable weight. |
|||
: It has been suggested that a good starting point is Gnome's <tt>'''[http://www.openshine.com/Members/serrador/gnome_l10n_es.pdf/download gnome_l10n_es.pdf]'''</tt> — another alternative is to read [http://209.85.165.104/search?q=cache:ctNAQzNJNBEJ:www.openshine.com/Members/serrador/gnome_l10n_es.pdf+gnome_l10n_es.pdf&hl=en&ct=clnk&cd=16 Google's HTML cached version] |
|||
* http://en.wikipedia.org/wiki/Internationalization_and_localization |
|||
: Other [http://www.es.gnome.org/ GNOME Hispano] links: |
|||
* http://www.gnu.org/software/gettext/manual/gettext.html |
|||
* http://inti.sourceforge.net/tutorial/libinti/internationalization.html |
|||
:* [http://www.es.gnome.org/colabora.php ¿Cómo colaborar con GNOME Hispano?] |
|||
* http://www.joelonsoftware.com/articles/Unicode.html |
|||
:* [http://live.gnome.org/ManualProcedimientos Manual de procedimientos] |
|||
: [http://es.l10n.kde.org/glosario.php KDE l10n glossary] |
|||
There's the localization@laptop.org in the [[mailing lists]]. Although english is the default, feel free to raise questions in other languages too. |
|||
: [http://www.insflug.org/colaboracion/recursos/glosario/index.php3 Glosario insflug.org] |
|||
Please feel free to add (human & computer) languages resources below. |
|||
=== [[python]] === |
|||
* http://wiki.wxpython.org/Internationalization |
|||
* http://www-128.ibm.com/developerworks/library/os-php-intl/index.html |
|||
* http://crysol.org/node/203 |
|||
* http://www.learningpython.com/2006/12/03/translating-your-pythonpygtk-application/ |
|||
=== [[spanish]] === |
|||
As a language that spans many nations, each influenced by it native population and local languages, and historical immigration patterns, yields a superficially apparent homogeneous language zone. Truth is that local idioms do have a considerable weight. |
|||
* It has been suggested that a good starting point is Gnome's <tt>'''[http://www.openshine.com/Members/serrador/gnome_l10n_es.pdf/download gnome_l10n_es.pdf]'''</tt> — another alternative is to read [http://209.85.165.104/search?q=cache:ctNAQzNJNBEJ:www.openshine.com/Members/serrador/gnome_l10n_es.pdf+gnome_l10n_es.pdf&hl=en&ct=clnk&cd=16 Google's HTML cached version] |
|||
* Other [http://www.es.gnome.org/ GNOME Hispano] links: |
|||
** [http://www.es.gnome.org/Documentacion/Traductores Equipo de traducción] |
|||
** [http://www.es.gnome.org/Participa ¿Cómo colaborar con GNOME Hispano?] |
|||
** [http://live.gnome.org/ManualProcedimientos Manual de procedimientos] |
|||
* [http://es.l10n.kde.org/glosario.php KDE l10n glossary] |
|||
* [http://www.insflug.org/colaboracion/recursos/glosario/index.php3 Glosario insflug.org] |
|||
: ''See also [[Translating/Spanish terms]] for more info on how the wiki is being translated.'' |
|||
== fast & furious == |
== fast & furious == |
||
: See [[Translating/HowTo|a quick (example driven) guide]] of how to translate. |
: See [[Translating/HowTo|a quick (example driven) guide]] of how to translate. |
||
=== pitfalls: things to watch out === |
|||
Please do keep the [[Template:Translation]] in each page and the correct <tt>lang</tt> & <tt>version</tt> number for future updates and maintenance of the translated page. |
|||
Note that there are ''two'' navigation bars (besides the language bar), one at the top, the other at the bottom. In that navigation bar you ''also'' have to update the <tt>lang</tt> parameter. |
|||
'''Never''' add {{tl|translation}} to a Category page! That will make all the pages in that category show up [[:Category:Translated Pages]], even if they have ''NO'' translations. Instead, make the translated category as a subcategory, e.g. [[:Category:OLPC FAQ/lang-ko]] is a subcategory of [[:Category:OLPC FAQ]] |
|||
== wiki pages == |
== wiki pages == |
||
Line 65: | Line 100: | ||
Usually you can give a page any name you like, although I recommend using a sub-page technique that uses the language identification: <tt>originalPage/lang-xx</tt>. This comes in handy as the volume of pages in the <tt>xx</tt> language grows and won't be able to recall all the exact names of all the translations. So if you find yourself translating a link to say [[The OLPC Wiki]] you may wonder what is the exact translation used for your language. Appending <tt>/lang-xx</tt> to the link takes care of that. If by any chance the page hasn't been translated yet, you may create a <tt>redirect</tt> page to the original version and do the translation later. |
Usually you can give a page any name you like, although I recommend using a sub-page technique that uses the language identification: <tt>originalPage/lang-xx</tt>. This comes in handy as the volume of pages in the <tt>xx</tt> language grows and won't be able to recall all the exact names of all the translations. So if you find yourself translating a link to say [[The OLPC Wiki]] you may wonder what is the exact translation used for your language. Appending <tt>/lang-xx</tt> to the link takes care of that. If by any chance the page hasn't been translated yet, you may create a <tt>redirect</tt> page to the original version and do the translation later. |
||
==== |
==== How to set up the translated page ==== |
||
A page worth translating will surely be split up in sections and sub-sections, which are latter used as <tt>anchors</tt> by the hyper-text system, allowing to refer and link to specific sections. Again, if we translate the <tt>section/anchor</tt> name, when a better translation is found the links will brake. A simple solution (leveraging on the <tt>/lang-xx</tt> technique) is to avoid the problem altogether by ''preserving'' the original anchors. |
A page worth translating will surely be split up in sections and sub-sections, which are latter used as <tt>anchors</tt> by the hyper-text system, allowing to refer and link to specific sections. Again, if we translate the <tt>section/anchor</tt> name, when a better translation is found the links will brake. A simple solution (leveraging on the <tt>/lang-xx</tt> technique) is to avoid the problem altogether by ''preserving'' the original anchors. |
||
Line 71: | Line 106: | ||
For example, if we were to translate the section ''<tt><nowiki>==Home==</nowiki></tt>'', we could translate it into spanish as either ''Hogar'' or ''Casa''—context will probably make one more likely than the other, but you can't always be certain. The problem arises when that header is being used as an anchor for some link: [[OLPC Human Interface Guidelines/The Laptop Experience/Zoom Metaphor#Home]]. This 'example' link, is very interesting (although extremely peculiar and rare) because it depends on the original title page [[OLPC Human Interface Guidelines]], the chained subpages [[OLPC Human Interface Guidelines/The Laptop Experience|The Laptop Experience]] and [[OLPC Human Interface Guidelines/The Laptop Experience/Zoom Metaphor|Zoom Metaphor]], and finally the anchor/section name [[OLPC Human Interface Guidelines/The Laptop Experience/Zoom Metaphor#Home|Home]]. Each one of them may have multiple possible translations. |
For example, if we were to translate the section ''<tt><nowiki>==Home==</nowiki></tt>'', we could translate it into spanish as either ''Hogar'' or ''Casa''—context will probably make one more likely than the other, but you can't always be certain. The problem arises when that header is being used as an anchor for some link: [[OLPC Human Interface Guidelines/The Laptop Experience/Zoom Metaphor#Home]]. This 'example' link, is very interesting (although extremely peculiar and rare) because it depends on the original title page [[OLPC Human Interface Guidelines]], the chained subpages [[OLPC Human Interface Guidelines/The Laptop Experience|The Laptop Experience]] and [[OLPC Human Interface Guidelines/The Laptop Experience/Zoom Metaphor|Zoom Metaphor]], and finally the anchor/section name [[OLPC Human Interface Guidelines/The Laptop Experience/Zoom Metaphor#Home|Home]]. Each one of them may have multiple possible translations. |
||
The simplest solution is to make the links ''independent'' of the translation. The <tt>/lang-xx</tt> takes care of the ''page-links'' and the |
The simplest solution is to make the links ''independent'' of the translation. The <tt>/lang-xx</tt> takes care of the ''page-links'' and the {{tl|anchor}} template takes care of links to page sections: |
||
<pre><nowiki> |
<pre><nowiki> |
||
# ORIGINAL # TRANSLATION 1 # TRANSLATION REVIEWED |
# ORIGINAL # TRANSLATION 1 # TRANSLATION REVIEWED |
||
{{anchor|Home}} {{anchor|Home}} |
|||
== Home == == Casa == == Hogar == |
== Home == == Casa == == Hogar == |
||
</nowiki></pre> |
</nowiki></pre> |
||
While the '''links''' will always remain basically the same: |
While the '''links''' will always remain basically the same: |
||
Line 92: | Line 127: | ||
; translator : by keeping track of the <tt>original</tt> and <tt>diff</tt> (to ''current'') anybody can review if the current page is up-to-date in respect to the original. |
; translator : by keeping track of the <tt>original</tt> and <tt>diff</tt> (to ''current'') anybody can review if the current page is up-to-date in respect to the original. |
||
=== |
=== maintaining the translation === |
||
Wikis being what they are, mean that what you translated yesterday is not today's version... so how do you manage the ''evolution'' of the original? Fortunately, wiki pages have an essential thing: '''history'''; and an extremely useful function: '''diff'''. Remember when the <tt>[[Template:Translation|<nowiki>{{Translation | ...blah... }} template</nowiki>]]</tt> was added, there were three mandatory parameters: |
Wikis being what they are, mean that what you translated yesterday is not today's version... so how do you manage the ''evolution'' of the original? Fortunately, wiki pages have an essential thing: '''history'''; and an extremely useful function: '''diff'''. Remember when the <tt>[[Template:Translation|<nowiki>{{Translation | ...blah... }} template</nowiki>]]</tt> was added, there were three mandatory parameters: |
||
Line 108: | Line 143: | ||
=== multi-lingual navigation templates === |
=== multi-lingual navigation templates === |
||
Initially, when the [[Template:Translation]] was coded, all of its text was in |
Initially, when the [[Template:Translation]] was coded, all of its text was in English. That has been changed so that with the exception of the different languages and the title of the source page, it can all be in the same language as the translation. The extracted strings are shown below: |
||
{| |
|||
|- valign="top" |
|||
! «Translation of» |
|||
| is for the '''reader''' community to be aware which of the multiple languages available is the original page (whose full name link is to the right of this text). |
|||
|- valign="top" |
|||
! «original» |
|||
| is for the '''translating''' community to see the actual version of the ''original'' with which this page is ''synchronized''. Basically a helper. |
|||
|- valign="top" |
|||
! «changes» |
|||
| is for the '''translating''' community to see the changes in the ''original'' in respect to its ''current'' state (so that we can get the translation back in sync). |
|||
|- |
|||
| colspan="2" | Keep in mind that being «original» & «changes» for the translating community they should be discrete and brief (as the space is used for language navigation). |
|||
|} |
|||
'''For a list of language codes see [[ISO 639]]'''. |
|||
<span class="plainlinks"> |
|||
{| border=1 cellspacing=0 |
{| border=1 cellspacing=0 |
||
|- style="background:gray" |
|- style="background:gray" |
||
! language !! code !! Translation of !! original !! |
! language !! code !! Translation of !! original !! changes !! translator / notes !! inline translation instructions !! wanted !! incomplete !! check |
||
{{Navtemplatelist|lang=am|status=red}} |
|||
|- valign="top" |
|||
| [[Arabic language|العربية<br>/ Arabic]] |
|||
| style="background:green;" | ar |
|||
| <!-- Translation of --> {{:Template:Translation/translation of/lang-ar}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/translation of/lang-ar|action=edit}} ''<edit>'']</span> |
|||
| <!-- original --> {{:Template:Translation/original/lang-ar}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/original/lang-ar|action=edit}} ''<edit>'']</span> |
|||
| <!-- changes --> {{:Template:Translation/changes/lang-ar}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/changes/lang-ar|action=edit}} ''<edit>'']</span> |
|||
| <!-- trans. / notes --> [[User:Khaled hosny|Khaled hosny]] |
|||
{{Navtemplatelist|lang=ar|status=green|notes=[[User:Khaled hosny|Khaled hosny]]}} |
|||
|- valign="top" |
|||
| <!-- Language name --> deutsch<br>/ German |
|||
| style="background:green;" | de |
|||
| <!-- Translation of --> {{:Template:Translation/translation of/lang-de}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/translation of/lang-de|action=edit}} ''<edit>'']</span> |
|||
| <!-- original --> {{:Template:Translation/original/lang-de}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/original/lang-de|action=edit}} ''<edit>'']</span> |
|||
| <!-- changes --> {{:Template:Translation/changes/lang-de}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/changes/lang-de|action=edit}} ''<edit>'']</span> |
|||
| <!-- trans. / notes --> via Google + IP |
|||
{{Navtemplatelist|status=yellow|lang=bg |
|||
|- style="background:lightgray" valign="top" |
|||
| notes = from '''pootle-bg.po'''}} |
|||
| <!-- Language name --> [[English language|''english'']] |
|||
| en |
|||
| <!-- Translation of --> {{:Template:Translation/translation of/lang-en}}<span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/translation of/lang-en|action=edit}} ''<edit>'']</span> |
|||
| <!-- original --> {{:Template:Translation/original/lang-en}}<span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/original/lang-en|action=edit}} ''<edit>'']</span> |
|||
| <!-- changes --> {{:Template:Translation/changes/lang-en}}<span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/changes/lang-en|action=edit}} ''<edit>'']</span> |
|||
| <!-- trans. / notes --> ''text used for Google translator'' |
|||
{{Navtemplatelist|status=green|lang=da |
|||
|- valign="top" |
|||
| notes= [[User:Riv|Riv]]}} |
|||
| <!-- Language name --> Esperanto |
|||
| style="background:red;" | eo |
|||
| <!-- Translation of --> {{:Template:Translation/translation of/lang-eo}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/translation of/lang-eo|action=edit}} ''<edit>'']</span> |
|||
| <!-- original --> {{:Template:Translation/original/lang-eo}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/original/lang-eo|action=edit}} ''<edit>'']</span> |
|||
| <!-- changes --> {{:Template:Translation/changes/lang-eo}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/changes/lang-eo|action=edit}} ''<edit>'']</span> |
|||
| <!-- trans. / notes --> defaulted to ''english'' text |
|||
{{Navtemplatelist|status=green|lang=de |
|||
|- valign="top" |
|||
| notes= via Google + IP}} |
|||
| <!-- Language name --> [[Spanish language|español<br>/ Spanish]] |
|||
| style="background:green;" | es |
|||
| <!-- Translation of --> {{:Template:Translation/translation of/lang-es}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/translation of/lang-es|action=edit}} ''<edit>'']</span> |
|||
| <!-- original --> {{:Template:Translation/original/lang-es}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/original/lang-es|action=edit}} ''<edit>'']</span> |
|||
| <!-- changes --> {{:Template:Translation/changes/lang-es}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/changes/lang-es|action=edit}} ''<edit>'']</span> |
|||
| <!-- trans. / notes --> [[User:Xavi|Xavi]] |
|||
{{Navtemplatelist|status=green|lang=el |
|||
|- valign="top" |
|||
| notes= [[User:Simosx|Simosx]]}} |
|||
| <!-- Language name --> [[French language|français<br>/ French]] |
|||
| style="background:yellow;" | fr |
|||
| <!-- Translation of --> {{:Template:Translation/translation of/lang-fr}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/translation of/lang-fr|action=edit}} ''<edit>'']</span> |
|||
| <!-- original --> {{:Template:Translation/original/lang-fr}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/original/lang-fr|action=edit}} ''<edit>'']</span> |
|||
| <!-- changes --> {{:Template:Translation/changes/lang-fr}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/changes/lang-fr|action=edit}} ''<edit>'']</span> |
|||
| <!-- trans. / notes --> via Google |
|||
{{Navtemplatelist|status=gray|lang=en |
|||
|- valign="top" |
|||
| notes= ''Text used in Google''}} |
|||
| <!-- Language name --> íslenska<br>/ Icelandic |
|||
| style="background:red;" | is |
|||
| <!-- Translation of --> {{:Template:Translation/translation of/lang-is}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/translation of/lang-is|action=edit}} ''<edit>'']</span> |
|||
| <!-- original --> {{:Template:Translation/original/lang-is}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/original/lang-is|action=edit}} ''<edit>'']</span> |
|||
| <!-- changes --> {{:Template:Translation/changes/lang-is}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/changes/lang-is|action=edit}} ''<edit>'']</span> |
|||
| <!-- trans. / notes --> Defaulted to ''english'' text... |
|||
{{Navtemplatelist|status=red|lang=eo |
|||
|- valign="top" |
|||
}} |
|||
| <!-- Language name --> 日本語<br>/ Japanese]] |
|||
| style="background:yellow;" | ja |
|||
| <!-- Translation of --> {{:Template:Translation/translation of/lang-ja}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/translation of/lang-ja|action=edit}} ''<edit>'']</span> |
|||
| <!-- original --> {{:Template:Translation/original/lang-ja}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/original/lang-ja|action=edit}} ''<edit>'']</span> |
|||
| <!-- changes --> {{:Template:Translation/changes/lang-ja}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/changes/lang-ja|action=edit}} ''<edit>'']</span> |
|||
| <!-- trans. / notes --> via Google |
|||
{{Navtemplatelist|status=green|lang=es |
|||
|- valign="top" |
|||
| notes= [[User:Xavi|Xavi]]}} |
|||
| <!-- Language name --> 한국어<br>/ Korean |
|||
| style="background:green;" | ko |
|||
| <!-- Translation of --> {{:Template:Translation/translation of/lang-ko}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/translation of/lang-ko|action=edit}} ''<edit>'']</span> |
|||
| <!-- original --> {{:Template:Translation/original/lang-ko}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/original/lang-ko|action=edit}} ''<edit>'']</span> |
|||
| <!-- changes --> {{:Template:Translation/changes/lang-ko}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/changes/lang-ko|action=edit}} ''<edit>'']</span> |
|||
| <!-- trans. / notes --> [[User:Php5|Php5]] |
|||
{{Navtemplatelist|status=yellow|lang=fa |
|||
|- valign="top" |
|||
| notes = from '''pootle-fa.po'''}} |
|||
| <!-- Language name --> монгол<br>/ Mongolian |
|||
| style="background:red;" | mn |
|||
| <!-- Translation of --> {{:Template:Translation/translation of/lang-mn}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/translation of/lang-mn|action=edit}} ''<edit>'']</span> |
|||
| <!-- original --> {{:Template:Translation/original/lang-mn}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/original/lang-mn|action=edit}} ''<edit>'']</span> |
|||
| <!-- changes --> {{:Template:Translation/changes/lang-mn}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/changes/lang-mn|action=edit}} ''<edit>'']</span> |
|||
| <!-- trans. / notes --> (actually russian via Google) |
|||
{{Navtemplatelist|status=green|lang=fr |
|||
|- valign="top" |
|||
| notes= [[User:Dupuy|Dupuy]]}} |
|||
| <!-- Language name --> nederlands<br>/ Dutch (Flemish) |
|||
| style="background:red;" | nl |
|||
| <!-- Translation of --> {{:Template:Translation/translation of/lang-nl}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/translation of/lang-nl|action=edit}} ''<edit>'']</span> |
|||
| <!-- original --> {{:Template:Translation/original/lang-nl}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/original/lang-nl|action=edit}} ''<edit>'']</span> |
|||
| <!-- changes --> {{:Template:Translation/changes/lang-nl}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/changes/lang-nl|action=edit}} ''<edit>'']</span> |
|||
| <!-- trans. / notes --> Defaulted to ''english'' text... |
|||
{{Navtemplatelist|status=red|lang=he |
|||
|- valign="top" |
|||
}} |
|||
| <!-- Language name --> [[Nepali language|नेपाली<br>/ Nepali]] |
|||
| style="background:red;" | ne |
|||
| <!-- Translation of --> {{:Template:Translation/translation of/lang-ne}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/translation of/lang-ne|action=edit}} ''<edit>'']</span> |
|||
| <!-- original --> {{:Template:Translation/original/lang-ne}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/original/lang-ne|action=edit}} ''<edit>'']</span> |
|||
| <!-- changes --> {{:Template:Translation/changes/lang-ne}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/changes/lang-ne|action=edit}} ''<edit>'']</span> |
|||
| <!-- trans. / notes --> Defaulted to ''english'' text... |
|||
{{Navtemplatelist|status=yellow|lang=ht |
|||
|- valign="top" |
|||
| notes= [[User:Dupuy|Dupuy]]}} |
|||
| <!-- Language name --> język polski<br>/ Polish |
|||
| style="background:red;" | pl |
|||
| <!-- Translation of --> {{:Template:Translation/translation of/lang-pl}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/translation of/lang-pl|action=edit}} ''<edit>'']</span> |
|||
| <!-- original --> {{:Template:Translation/original/lang-pl}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/original/lang-pl|action=edit}} ''<edit>'']</span> |
|||
| <!-- changes --> {{:Template:Translation/changes/lang-pl}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/changes/lang-pl|action=edit}} ''<edit>'']</span> |
|||
| <!-- trans. / notes --> Defaulted to ''english'' text... |
|||
{{Navtemplatelist|status=red|lang=hu |
|||
|- valign="top" |
|||
}} |
|||
| <!-- Language name --> [[Portuguese language|português<br>/ Portuguese]] |
|||
| style="background:green;" | pt |
|||
| <!-- Translation of --> {{:Template:Translation/translation of/lang-pt}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/translation of/lang-pt|action=edit}} ''<edit>'']</span> |
|||
| <!-- original --> {{:Template:Translation/original/lang-pt}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/original/lang-pt|action=edit}} ''<edit>'']</span> |
|||
| <!-- changes --> {{:Template:Translation/changes/lang-pt}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/changes/lang-pt|action=edit}} ''<edit>'']</span> |
|||
| <!-- trans. / notes --> [[User:Ptdrumm|Ptdrumm]] |
|||
{{Navtemplatelist|status=red|lang=id |
|||
|- valign="top" |
|||
}} |
|||
| <!-- Language name --> [[Romanian language|română<br>/ Romanian]] |
|||
| style="background:green;" | ro |
|||
| <!-- Translation of --> {{:Template:Translation/translation of/lang-ro}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/translation of/lang-ro|action=edit}} ''<edit>'']</span> |
|||
| <!-- original --> {{:Template:Translation/original/lang-ro}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/original/lang-ro|action=edit}} ''<edit>'']</span> |
|||
| <!-- changes --> {{:Template:Translation/changes/lang-ro}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/changes/lang-ro|action=edit}} ''<edit>'']</span> |
|||
| <!-- trans. / notes --> [[User:Alexxed|Alexandru Szasz]] |
|||
{{Navtemplatelist|status=yellow|lang=is |
|||
|- valign="top" |
|||
| notes = from '''pootle-is.po'''}} |
|||
| <!-- Language name --> српски језик<br>/ Serbian |
|||
| style="background:green;" | sr |
|||
| <!-- Translation of --> {{:Template:Translation/translation of/lang-sr}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/translation of/lang-sr|action=edit}} ''<edit>'']</span> |
|||
| <!-- original --> {{:Template:Translation/original/lang-sr}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/original/lang-sr|action=edit}} ''<edit>'']</span> |
|||
| <!-- changes --> {{:Template:Translation/changes/lang-sr}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/changes/lang-sr|action=edit}} ''<edit>'']</span> |
|||
| <!-- trans. / notes --> [[User:Goran Rakić|Goran Rakić]] |
|||
{{Navtemplatelist|status=green|lang=it |
|||
|- valign="top" |
|||
| notes = [[User:Frafra|Frafra]]}} |
|||
| <!-- Language name --> 中文<br>/ Chinese (simplified) |
|||
| style="background:green;" | zh |
|||
| <!-- Translation of --> {{:Template:Translation/translation of/lang-zh}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/translation of/lang-zh|action=edit}} ''<edit>'']</span> |
|||
| <!-- original --> {{:Template:Translation/original/lang-zh}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/original/lang-zh|action=edit}} ''<edit>'']</span> |
|||
| <!-- changes --> {{:Template:Translation/changes/lang-zh}}<br><span class="plainlinks" style="font-size:70%; ">[{{fullurl:Template:Translation/changes/lang-zh|action=edit}} ''<edit>'']</span> |
|||
| <!-- trans. / notes --> via Google + IP |
|||
{{Navtemplatelist|status=green|lang=ja |
|||
|} |
|||
| notes = [[User:Abee|Abee]]}} |
|||
{{Navtemplatelist|status=red|lang=kh |
|||
'''NOTE:''' This strings are being ''proposed''... when it says 'via Google' means that |
|||
}} |
|||
the current string displayed for a particular language was ''obtained'' via Google. |
|||
IOW, it's an ''invitation'' to fix it accordingly :) |
|||
Those non-green language codes (particularly red) need to be changed, please do so. |
|||
{{Navtemplatelist|status=green|lang=ko |
|||
== laptop.org == |
|||
| notes= [[User:Php5|Php5]]}} |
|||
{{Navtemplatelist|status=red|lang=mn |
|||
Please refer to the [[Localization]] page for further information on the [[Localization/www.laptop.org|l10n efforts of www.laptop.org]]. |
|||
| notes= (actually russian via Google)}} |
|||
{{Navtemplatelist|status=green|lang=ne |
|||
== translating the [[OLPC Human Interface Guidelines|HIG]] == |
|||
| notes= via IP}} |
|||
{{Navtemplatelist|status=green|lang=nl |
|||
So you want to put the [[OLPC Human Interface Guidelines]] in your language? Don't be intimidated by all the mumbo-jumbo of the internals, admittedly not the most user friendly, but once you get the hang of it you'll be able to concentrate in the content and not the structure—but you must still keep an eye on it! ;) |
|||
| notes= via Google + IP}} |
|||
{{Navtemplatelist|status=red|lang=no |
|||
:''Soon an explanation on how to hook things up, and not die in the process...'' |
|||
}} |
|||
{{Navtemplatelist|status=green|lang=pl |
|||
=== native structure === |
|||
| notes= [[User:Idzikow|Wiktor]]}} |
|||
{{Navtemplatelist|status=red|lang=ps |
|||
The original or native structure of the [[HIG]] is a set of sub-pages and sub-sub-pages (iirc 4 levels): |
|||
}} |
|||
[[OLPC Human Interface Guidelines]] |
|||
[[OLPC Human Interface Guidelines/Activities]] |
|||
[[OLPC Human Interface Guidelines/Activities/Activity Basics]] |
|||
... |
|||
[[OLPC Human Interface Guidelines/Design Fundamentals]] |
|||
[[OLPC Human Interface Guidelines/Design Fundamentals/Know Your Audience]] |
|||
... |
|||
... |
|||
The original structure has a set of navigational templates that link these pages and its navigation. IIRC, there are 4 templates handling this. |
|||
{{Navtemplatelist|status=green|lang=pt |
|||
=== translated structure === |
|||
| notes= [[User:Ptdrumm|Ptdrumm]]}} |
|||
{{Navtemplatelist|status=green|lang=ro |
|||
Basically we add sub-pages denoting the ''translated'' version onto the structure: |
|||
| notes= [[User:Alexxed|Alexandru Szasz]]}} |
|||
[[OLPC Human Interface Guidelines/lang-es]] |
|||
[[OLPC Human Interface Guidelines/Activities/lang-es]] |
|||
[[OLPC Human Interface Guidelines/Activities/Activity Basics/lang-es]] |
|||
... |
|||
[[OLPC Human Interface Guidelines/Design Fundamentals/lang-es]] |
|||
[[OLPC Human Interface Guidelines/Design Fundamentals/Know Your Audience/lang-es]] |
|||
... |
|||
... |
|||
And use a modified version of the navigational templates. Same name with a <tt>-lang</tt> postifx, and some reworking in the parameters (mainly adding the language code). |
|||
{{Navtemplatelist|status=green|lang=ru |
|||
Because we want people to be able to find the translated versions, as with the multi-lingual <tt>/translations</tt> page, we now have those kind of pages here too: |
|||
| notes= [[User:Maxim|Maxim Osipov]]}} |
|||
[[OLPC Human Interface Guidelines/translations]] |
|||
[[OLPC Human Interface Guidelines/Activities/translations]] |
|||
[[OLPC Human Interface Guidelines/Activities/Activity Basics/translations]] |
|||
... |
|||
[[OLPC Human Interface Guidelines/Design Fundamentals/translations]] |
|||
[[OLPC Human Interface Guidelines/Design Fundamentals/Know Your Audience/translations]] |
|||
... |
|||
... |
|||
So once you add a translated page, you should also add it to the <tt>/translations</tt> page of the original. |
|||
{{Navtemplatelist|status=red|lang=rw |
|||
The most ''hideous'' (or ugly) aspect is that you want to preserve links regardless of the language, and also we must take into consideration that the term originally used by the translator may not be the best-fit for the community as a whole. So, how do we get around the real possibility that when translating ''Home'', you may have used a term that although valid, is not really the best one and that we want to modify it without breaking things up? Two things: |
|||
}} |
|||
# preserve the original section headers (using the <div id="''originalSectionHeader''"/> trick) |
|||
# factor out the page title into a specific page: |
|||
''OLPC Human Interface Guidelines/lang-es'' # this is an exception - no title for the root |
|||
[[OLPC Human Interface Guidelines/Activities/lang-es/title]] |
|||
[[OLPC Human Interface Guidelines/Activities/Activity Basics/lang-es/title]] |
|||
... |
|||
[[OLPC Human Interface Guidelines/Design Fundamentals/lang-es/title]] |
|||
[[OLPC Human Interface Guidelines/Design Fundamentals/Know Your Audience/lang-es/title]] |
|||
... |
|||
... |
|||
'''NOTE:''' the <tt>/title</tt> page is a sub-page of your <tt>/lang-xx</tt> page! Be careful not to translate / step-over some other language! |
|||
The language extended navigation templates use these <tt>title</tt> subpages to present things the way the look. The down side to this is that you want to preserve said 'titles' within the document, forcing you to do some very weird looking code: |
|||
<nowiki>[[</nowiki>OLPC Human Interface Guidelines/Core Ideas/lang-es|<nowiki>{{</nowiki>:OLPC Human Interface Guidelines/Core Ideas/lang-es/title<nowiki>}}</nowiki><nowiki>]]</nowiki> |
|||
whose sole purpose is to link a page showing the ''translated title''... |
|||
{{Navtemplatelist|status=red|lang=si |
|||
Summarizing, when translating the [[HIG]], you should end up with the following structure: |
|||
}} |
|||
''[[OLPC Human Interface Guidelines]]'' |
|||
''[[OLPC Human Interface Guidelines/translations]]'' |
|||
[[OLPC Human Interface Guidelines/lang-es]] |
|||
''OLPC Human Interface Guidelines/lang-es/title'' # this is an exception - no title for the root |
|||
''[[OLPC Human Interface Guidelines/Activities]]'' |
|||
''[[OLPC Human Interface Guidelines/Activities/translations]]'' |
|||
[[OLPC Human Interface Guidelines/Activities/lang-es]] |
|||
[[OLPC Human Interface Guidelines/Activities/lang-es/title]] |
|||
''[[OLPC Human Interface Guidelines/Activities/Activity Basics]]'' |
|||
''[[OLPC Human Interface Guidelines/Activities/Activity Basics/translations]]'' |
|||
[[OLPC Human Interface Guidelines/Activities/Activity Basics/lang-es]] |
|||
[[OLPC Human Interface Guidelines/Activities/Activity Basics/lang-es/title]] |
|||
... |
|||
''[[OLPC Human Interface Guidelines/Design Fundamentals]]'' |
|||
''[[OLPC Human Interface Guidelines/Design Fundamentals/translations]]'' |
|||
[[OLPC Human Interface Guidelines/Design Fundamentals/lang-es]] |
|||
[[OLPC Human Interface Guidelines/Design Fundamentals/lang-es/title]] |
|||
''[[OLPC Human Interface Guidelines/Design Fundamentals/Know Your Audience]]'' |
|||
''[[OLPC Human Interface Guidelines/Design Fundamentals/Know Your Audience/translations]]'' |
|||
[[OLPC Human Interface Guidelines/Design Fundamentals/Know Your Audience/lang-es]] |
|||
[[OLPC Human Interface Guidelines/Design Fundamentals/Know Your Audience/lang-es/title]] |
|||
'''NOTE:''' in ''italics'' are the pages that already exist, and shouldn't be created, just modified. And in the example, the spanish version (<tt>/lang-es</tt>) are used but you should '''''create''''' the whatever <tt>/lang-xx</tt> for you language using the standard code (see above for the link). |
|||
{{Navtemplatelist|status=green|lang=sr |
|||
=== pitfalls: things to watch out === |
|||
| notes= [[User:Goran Rakić|Goran Rakić]]}} |
|||
{{Navtemplatelist|status=red|lang=sw |
|||
Please do keep the [[Template:Translation]] in each page and the correct <tt>lang</tt> & <tt>version</tt> number for future updates and maintenance of the translated page. |
|||
}} |
|||
{{Navtemplatelist|status=red|lang=tl |
|||
Note that there are ''two'' navigation bars (besides the language bar), one at the top, the other at the bottom. In that navigation bar you ''also'' have to update the <tt>lang</tt> parameter. |
|||
}} |
|||
{{Navtemplatelist|status=yellow|lang=tr |
|||
| notes = from '''pootle-tr.po'''}} |
|||
{{Navtemplatelist|status=green|lang=zh |
|||
| notes= [[User:YChao|Yuan Chao]]}} |
|||
|} |
|||
</span> |
|||
'''NOTE:''' This strings are being ''proposed''... when it says 'via Google' means that |
|||
the current string displayed for a particular language was ''obtained'' via Google. |
|||
IOW, it's an ''invitation'' to fix it accordingly :) |
|||
Those non-green language codes (particularly red) need to be changed, please do so. |
|||
== laptop.org == |
|||
Please refer to the [[Localization]] page for further information on the [[Localization/www.laptop.org|l10n efforts of www.laptop.org]]. |
|||
: ''See also [[Translating/www.laptop.org]]'' |
|||
== translating the [[OLPC Human Interface Guidelines|HIG]] == |
|||
: See [[Translating/HIG]] |
|||
== foreign wiki pages == |
== foreign wiki pages == |
||
Line 354: | Line 289: | ||
As the global effort picks up speed, it's our hope and interest that local communities will develop things in their local languages that we may want to share globally. This is already happening, and we are trying to develop the necessary templates to make life simpler (probably a variation on the local translation templates mentioned above). In the meantime, take a look at [[Hello World!]]. |
As the global effort picks up speed, it's our hope and interest that local communities will develop things in their local languages that we may want to share globally. This is already happening, and we are trying to develop the necessary templates to make life simpler (probably a variation on the local translation templates mentioned above). In the meantime, take a look at [[Hello World!]]. |
||
==[[Reverse Localization]]== |
|||
= suggested translations = |
|||
[[Reverse Localization]], has links to Google translation Gadget in many languages to suggest improving information flow from non-OLPC web-pages about OLPC efforts between wider language communities. |
|||
== requested translations == |
|||
Here's a list of pages that could be worthwhile translating. Please verify with [[Translated pages]] in order to avoid duplicate translations before jumping into one. |
|||
Here's a list of pages requested for translation. Please verify with [[Translated pages]] in order to avoid duplicate translations before jumping into one. |
|||
* Demo notes |
|||
* Software release notes |
|||
* [[Demo notes]] |
|||
* [[Software release notes]] |
|||
* [[Distance]] |
|||
<div style="border-top:1px solid #888888; border-bottom:1px solid #888888; margin:0px;"> |
<div style="border-top:1px solid #888888; border-bottom:1px solid #888888; margin:0px;"> |
||
Line 374: | Line 313: | ||
|width=25% align=right | <span class="plainlinks">[{{fullurl:{{PAGENAME}}/Suggestions|action=edit&section=new}} Ask for it!] </span> |
|width=25% align=right | <span class="plainlinks">[{{fullurl:{{PAGENAME}}/Suggestions|action=edit&section=new}} Ask for it!] </span> |
||
|}</div> |
|}</div> |
||
[[Category:Language support]] |
[[Category:Language support]] |
Latest revision as of 23:06, 8 July 2011
Sugar framework |
Python framework |
Localizing an XO |
Keyboards |
Changing language |
Getting started |
Website translation |
modify |
This page is about translating the web site. For localizing activities, see Localization
The very nature of the project is multi-lingual and multi-cultural. And although English is (currently) our lingua franca it may not be so in the future—or so we hope—as each community takes over the project and molds it to their needs and objectives.
In the meantime, here are some tips, tricks and things to keep in mind while trying to bridge the language barrier that will hopefully make everybody's life simpler and more productive.
- See a quick (example driven) guide of how to translate.
- See the Translated pages matrix for a status update
NOTE: please feel free to add or comment, as this is on-going work.
See Also
Ok, yes, usually the see also section is at the end... but why settle for tradition when we are going for a revolution? ;)
recommended translations
The following is not a must-do list, rather a suggestion of where to start. If you want to take a look at what has been translated check the translated pages (itemized); or the Category:Translated Pages (and its sub-categories split by languages).
Another possible good starting point for picking things to translate are those pages tagged as {{OLPC}} and that have the 'green bar' noting so and grouped in OLPC Category.
- The OLPC Wiki—relatively static, few updates (doorway).
- News—updated once a week (towards the end of the weekend).
- Hardware specification—lots of technical (usually untranslateable) terms, but a doorway.
- One Laptop per Child—relatively static, and doorway.
- The Children's Machine—doorway.
- Human Interface Guidelines—not really recommended, but a central piece, which has been moved to http://wiki.sugarlabs.org (It is an incomplete document.)
- Developers program—for local developers.
- Bitfrost—the summary of the security model. The full spec is in OLPC Bitfrost.
- Using QEMU on Windows XP—enable the local community to use Sugar using an emulator.
- Getting involved in OLPC—could satisfy the local community about what now?
Before jumping in, please read the remaining of this page as it will (hopefully) provide with enough background on how multi-lingual things are currently working in the wiki. If you think something is missing or should not be in the above list, please leave a comment.
resources
It has been noted elsewhere that although the community translation effort is greatly welcome, it lacks guidelines and standards. Until now that was not really an issue, but at some point there should be some a more coherent and unified style. Which? It hasn't been determined. In the meantime, it could prove valuable to have some documentation available that could at least serve as the baseline or source for its creation.
Most of the resources listed below resulted from a meeting in IRC #olpc-l10n.
- http://en.wikipedia.org/wiki/Internationalization_and_localization
- http://www.gnu.org/software/gettext/manual/gettext.html
- http://inti.sourceforge.net/tutorial/libinti/internationalization.html
- http://www.joelonsoftware.com/articles/Unicode.html
There's the localization@laptop.org in the mailing lists. Although english is the default, feel free to raise questions in other languages too.
Please feel free to add (human & computer) languages resources below.
python
- http://wiki.wxpython.org/Internationalization
- http://www-128.ibm.com/developerworks/library/os-php-intl/index.html
- http://crysol.org/node/203
- http://www.learningpython.com/2006/12/03/translating-your-pythonpygtk-application/
spanish
As a language that spans many nations, each influenced by it native population and local languages, and historical immigration patterns, yields a superficially apparent homogeneous language zone. Truth is that local idioms do have a considerable weight.
- It has been suggested that a good starting point is Gnome's gnome_l10n_es.pdf — another alternative is to read Google's HTML cached version
- Other GNOME Hispano links:
- KDE l10n glossary
- Glosario insflug.org
- See also Translating/Spanish terms for more info on how the wiki is being translated.
fast & furious
- See a quick (example driven) guide of how to translate.
pitfalls: things to watch out
Please do keep the Template:Translation in each page and the correct lang & version number for future updates and maintenance of the translated page.
Note that there are two navigation bars (besides the language bar), one at the top, the other at the bottom. In that navigation bar you also have to update the lang parameter.
Never add {{translation}} to a Category page! That will make all the pages in that category show up Category:Translated Pages, even if they have NO translations. Instead, make the translated category as a subcategory, e.g. Category:OLPC FAQ/lang-ko is a subcategory of Category:OLPC FAQ
wiki pages
You are not forced by any means to use what follows—although it may save some time and help develop a standard way of doing things. By no means we are implying this is the best way, and some steps may seem arbitrary, and not really optimal; although their cost may be worthwhile. Any feedback is welcome!
The 'basic' structure of a 'standard' translation is based on the following premises:
- there's a base page you want in another language
- you want to keep it as a 'mirror' translation
- little or no reverse-flow towards the original
One of the main problems when translating is that your personal choice may not be the best one. Text-wise that is not a problem, and here the wiki spirit shows the true power by allowing a more democratic choice of wording. The problem arises from the fact that we are not translating text but also structure (headers, sections, etc.). So if we happen to pick a 'wrong' section header, anything linking to it will be broken when we try to make things better—defeating the wiki kaizen spirit of constant improvements. In order to avoid getting stuck in bad translations, here are some techniques and tips that may help the kaizen spiriti of a wiki-editor.
creating the translated page
Usually you can give a page any name you like, although I recommend using a sub-page technique that uses the language identification: originalPage/lang-xx. This comes in handy as the volume of pages in the xx language grows and won't be able to recall all the exact names of all the translations. So if you find yourself translating a link to say The OLPC Wiki you may wonder what is the exact translation used for your language. Appending /lang-xx to the link takes care of that. If by any chance the page hasn't been translated yet, you may create a redirect page to the original version and do the translation later.
How to set up the translated page
A page worth translating will surely be split up in sections and sub-sections, which are latter used as anchors by the hyper-text system, allowing to refer and link to specific sections. Again, if we translate the section/anchor name, when a better translation is found the links will brake. A simple solution (leveraging on the /lang-xx technique) is to avoid the problem altogether by preserving the original anchors.
For example, if we were to translate the section ==Home==, we could translate it into spanish as either Hogar or Casa—context will probably make one more likely than the other, but you can't always be certain. The problem arises when that header is being used as an anchor for some link: OLPC Human Interface Guidelines/The Laptop Experience/Zoom Metaphor#Home. This 'example' link, is very interesting (although extremely peculiar and rare) because it depends on the original title page OLPC Human Interface Guidelines, the chained subpages The Laptop Experience and Zoom Metaphor, and finally the anchor/section name Home. Each one of them may have multiple possible translations.
The simplest solution is to make the links independent of the translation. The /lang-xx takes care of the page-links and the {{anchor}} template takes care of links to page sections:
# ORIGINAL # TRANSLATION 1 # TRANSLATION REVIEWED {{anchor|Home}} {{anchor|Home}} == Home == == Casa == == Hogar ==
While the links will always remain basically the same:
OLPC Human Interface Guidelines/The Laptop Experience/Zoom Metaphor#Home OLPC Human Interface Guidelines/The Laptop Experience/Zoom Metaphor/lang-es#Home
NOTE: only the /lang-xx has been added—greatly simplifying the linking.
hooking the translation to the wiki
In a wiki, an unlinked page is as good as no page; so we need to somehow make sure that people navigating the site actually can reach those pages in a sensible way. The current technique is based on three elements:
- a template to be included in the translated page,
- a template to be included in the original page, and
- a sub-page indexing the original page's translations (originalPage/translations).
This triad serves two main uses: reader & translator.
- reader
- it allows the multi-lingual navigation by presenting all the translations of a given page in a homogeneous way while avoiding the typical error of forgetting to update all translations with the 'new' translation.
- translator
- by keeping track of the original and diff (to current) anybody can review if the current page is up-to-date in respect to the original.
maintaining the translation
Wikis being what they are, mean that what you translated yesterday is not today's version... so how do you manage the evolution of the original? Fortunately, wiki pages have an essential thing: history; and an extremely useful function: diff. Remember when the {{Translation | ...blah... }} template was added, there were three mandatory parameters:
- lang = the 2-3 characters denoting the target language of the translation
- source = the page name (sans [[]]) that is being translated
- version = the ID of the actual revision or edition being translated
- It is crucial this value is correctly recorded (and updated) as it will allow a consistent way to handle the evolution of the original in regard to the translation.
The version number (ie: 30534) appears in the original page in the upper right corner (ie: [ID# 30534]). This number, together with the source page name will be used to perform a diff between the version translated and the current version (of the original page).
By following the diff link (bottom-right of the blue translation bar) you can verify the changes (if any) of the translated-version-# with the current-version-#—just by following it.
IMPORTANT: When updating a translation, you must update the version. (Just copy paste the # shown in the original page). This will allow translators and reviewers to work only on the sections that have changed without actually having to review both documents in order to find differences (some of which may be trivial from the text perspective, but crucial from the exactitude and validity of the content—ie:latest build, etc).
Initially, when the Template:Translation was coded, all of its text was in English. That has been changed so that with the exception of the different languages and the title of the source page, it can all be in the same language as the translation. The extracted strings are shown below:
«Translation of» | is for the reader community to be aware which of the multiple languages available is the original page (whose full name link is to the right of this text). |
---|---|
«original» | is for the translating community to see the actual version of the original with which this page is synchronized. Basically a helper. |
«changes» | is for the translating community to see the changes in the original in respect to its current state (so that we can get the translation back in sync). |
Keep in mind that being «original» & «changes» for the translating community they should be discrete and brief (as the space is used for language navigation). |
For a list of language codes see ISO 639.
NOTE: This strings are being proposed... when it says 'via Google' means that the current string displayed for a particular language was obtained via Google. IOW, it's an invitation to fix it accordingly :) Those non-green language codes (particularly red) need to be changed, please do so.
laptop.org
Please refer to the Localization page for further information on the l10n efforts of www.laptop.org.
- See also Translating/www.laptop.org
translating the HIG
- See Translating/HIG
foreign wiki pages
As the global effort picks up speed, it's our hope and interest that local communities will develop things in their local languages that we may want to share globally. This is already happening, and we are trying to develop the necessary templates to make life simpler (probably a variation on the local translation templates mentioned above). In the meantime, take a look at Hello World!.
Reverse Localization
Reverse Localization, has links to Google translation Gadget in many languages to suggest improving information flow from non-OLPC web-pages about OLPC efforts between wider language communities.
requested translations
Here's a list of pages requested for translation. Please verify with Translated pages in order to avoid duplicate translations before jumping into one.
Fancy a subject you can't find or not in your language? | Ask for it! |
english | Want to read about something in your language? Either write the subject (or better the page name) and we'll do our best to satisfy your request | Ask for it! |
español / castellano |
Queres leer sobre algo en tu lenguaje? Anota el tema (o mejor aun, el nombre de la pagina) y haremos lo posible para cumplir tu deseo. | Pedilo! |
français | Voulez vous prendre connaissance de quelque chose dans votre langue ? Ecrivez le sujet (ou mieux encore le nom de la page en question) et nous ferons tout notre possible pour satisfaire votre demande. | Demandez le! |
portugues | Querer ler sobre algo em sua língua? Qualquer um escreve o assunto (ou melhora o nome da página) e nós faremos nosso mais melhor para satisfer a seu pedido. | Pedir ele! |
한국어 | 귀하의 언어로 무언가를 읽고 싶으세요? 주제 (또는 페이지 이름)를 쓰십시오. 그러면, 우리는 당신의 요구를 만족시키기 위하여 최선을 다할 것입니다. | 요청하세요! |
中文 | 您想读到一些语言? 要么写课题(或更好的页名称),我们会尽最大努力满足你的要求 | 要求! |
Petition for translation
Hi Xavi i would like to read this page in spanish..
http://wiki.laptop.org/go/Software_Release_Notes
licensing
translate Using QEMU on Windows XP
http://wiki.laptop.org/go/Using_QEMU_on_Windows_XP/lang-fr
MMM_lesson_plan_translations
we need people that can translate this lessons. for a pilot place (like peru)
Communication Channels
http://wiki.laptop.org/go/Communication_channels
Fancy a subject you can't find or not in your language? | Ask for it! |