Difference between revisions of "Kerbal Space Program Wiki:Translation"

From Kerbal Space Program Wiki
Jump to: navigation, search
(+translating templates;)
Line 39: Line 39:
 
| zh-tw || Chinese ({{#language:zh-tw}})
 
| zh-tw || Chinese ({{#language:zh-tw}})
 
|}
 
|}
 +
 +
== Templates ==
 +
Some templates support multiple languages, so the template code don't need to be duplicated for another language. There are following three options available:
 +
# Each text which can be translated has a separate parameter
 +
# A text uses {{Tl|lang}} to be translated into another language
 +
# A text uses a [[:Category:Dictionary Templates|dictionary template]] to translate a text
 +
Most templates either use the first option (like {{Tl|Main Page Layout}}) or a combination of the second and third option (like {{Tl|Partbox}} and their subtemplates).
 +
=== Translation via parameters ===
 +
This strategy is easy to understand but has the drawback, that other parameters can't be easily reused. So if the site is static and two languages normally don't use the same value for the same parameter this system works fine.
 +
 +
To create a new translation a new template needs to be created which normally uses the language code as a suffix (e.g. [[Main Page/de]]). This uses now the generic template and fills in for each parameter the translation of this text.
 +
 +
=== Translation via {{Tl|lang}} ===
 +
Another way to translate a page, is by using the template {{Tl|lang}}. This holds the translation for a text into other languages:
 +
<pre>{{lang
 +
|en=[[w:Mass|Mass]]
 +
|nl=[[w:nl:Massa|Massa]]
 +
|fr=[[w:fr:Masse|Masse]]
 +
|pl=[[w:pl:Masa_(fizyka)|Masa]]
 +
|ru=[[w:ru:Масса|Масса]]
 +
|de=[[w:de:Masse (Physik)|Masse]]
 +
}}</pre>
 +
To add a new translation simply add a new parameter with the language code and translation like:
 +
<pre>{{lang
 +
|en=[[w:Mass|Mass]]
 +
|nl=[[w:nl:Massa|Massa]]
 +
|fr=[[w:fr:Masse|Masse]]
 +
|pl=[[w:pl:Masa_(fizyka)|Masa]]
 +
|ru=[[w:ru:Масса|Масса]]
 +
|de=[[w:de:Masse (Physik)|Masse]]
 +
|tlh=ngI'
 +
}}</pre>
 +
This template uses the English value if there is no translation for the given language. The more advanced system uses dictionary templates.
 +
 +
=== Translation via dictionary templates ===
 +
A dictionary template allows a template to reuse a translation. To add a new language only one template has to be edited. All dictionary templates should be sorted in the [[:Category:Dictionary Templates]] and named <tt><name of template>/Dict</tt>. As these templates usually use also {{Tl|lang}} adding a language works exactly the same, but instead directly in the template the new translation is added in the dictionary template. Using a dictionary template depends actually depends on how they work, but it should normally be <nowiki>{{<name of template>/Dict|<word to translate>}}</nowiki>.

Revision as of 17:02, 18 April 2013

The Kerbal Space Program Wiki is intended to be a useful resource not just to English-speakers, but also to users who speak other languages. Therefore, we've added many different ways translators can translate pages into the desired language.

Language Subpages

KSP wiki supports language subpages in the style of Valve's Official TF2 wiki. This means that, if you wish to translate a language, you simply copy the page over to a new page with /xx at the end (xx being the two-letter language code, such as ru for Russian or es for Spanish). For example, the Russian-language Main Page is at Main Page/ru. English-language subpages do not have a suffix, as that is the default language of the wiki.

Language Page to Create
English Main Page
Russian (русский) Main Page/ru
Spanish (español) Main Page/es
Chinese (中文(中国大陆)‎) Main Page/zh-cn
Chinese (中文(台灣)‎) Main Page/zh-tw

Once the page is created, other language pages will link to it via the Languages toolbox on the sidebar. Note that some namespaces do not display any languages as a precaution.

Languages Supported

If you do not see your language here and you wish to start translating for it, please bug N3X15 (talk) so he can add it to the sidebar for you.
Code Language
(default) English
es Spanish (español)
nl Dutch (Nederlands)
ru Russian (русский)
zh-cn Chinese (中文(中国大陆)‎)
zh-tw Chinese (中文(台灣)‎)

Templates

Some templates support multiple languages, so the template code don't need to be duplicated for another language. There are following three options available:

  1. Each text which can be translated has a separate parameter
  2. A text uses {{lang}} to be translated into another language
  3. A text uses a dictionary template to translate a text

Most templates either use the first option (like {{Main Page Layout}}) or a combination of the second and third option (like {{Partbox}} and their subtemplates).

Translation via parameters

This strategy is easy to understand but has the drawback, that other parameters can't be easily reused. So if the site is static and two languages normally don't use the same value for the same parameter this system works fine.

To create a new translation a new template needs to be created which normally uses the language code as a suffix (e.g. Main Page/de). This uses now the generic template and fills in for each parameter the translation of this text.

Translation via {{lang}}

Another way to translate a page, is by using the template {{lang}}. This holds the translation for a text into other languages:

{{lang
|en=[[w:Mass|Mass]]
|nl=[[w:nl:Massa|Massa]]
|fr=[[w:fr:Masse|Masse]]
|pl=[[w:pl:Masa_(fizyka)|Masa]]
|ru=[[w:ru:Масса|Масса]]
|de=[[w:de:Masse (Physik)|Masse]]
}}

To add a new translation simply add a new parameter with the language code and translation like:

{{lang
|en=[[w:Mass|Mass]]
|nl=[[w:nl:Massa|Massa]]
|fr=[[w:fr:Masse|Masse]]
|pl=[[w:pl:Masa_(fizyka)|Masa]]
|ru=[[w:ru:Масса|Масса]]
|de=[[w:de:Masse (Physik)|Masse]]
|tlh=ngI'
}}

This template uses the English value if there is no translation for the given language. The more advanced system uses dictionary templates.

Translation via dictionary templates

A dictionary template allows a template to reuse a translation. To add a new language only one template has to be edited. All dictionary templates should be sorted in the Category:Dictionary Templates and named <name of template>/Dict. As these templates usually use also {{lang}} adding a language works exactly the same, but instead directly in the template the new translation is added in the dictionary template. Using a dictionary template depends actually depends on how they work, but it should normally be {{<name of template>/Dict|<word to translate>}}.