Kerbal Space Program Wiki:Translation
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.
Contents
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.
- 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.
Language | Example page name | Page name suffix |
---|---|---|
English | Main Page | — |
Czech (čeština) | Main Page/cs | cs |
Danish (dansk) | Main Page/da | da |
German (Deutsch) | Main Page/de | de |
Spanish (español) | Main Page/es | es |
French (français) | Main Page/fr | fr |
Hungarian (magyar) | Main Page/hu | hu |
Korean (한국어) | Main Page/ko | ko |
Dutch (Nederlands) | Main Page/nl | nl |
Norwegian (norsk bokmål) | Main Page/no | no |
Polish (polski) | Main Page/pl | pl |
Portuguese (português) | Main Page/pt | pt |
Russian (русский) | Main Page/ru | ru |
Swedish (svenska) | Main Page/sv | sv |
Turkish (Türkçe) | Main Page/tr | tr |
Chinese (中文(中国大陆)) | Main Page/zh-cn | zh-cn |
Chinese, Taiwan (中文(台灣)) | Main Page/zh-tw | 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. Always use the same base page name than in English (like Terminology/de instead of Glossar or Glossar/de) and create only redirects from the translated page name to the English name (like Glossar redirecting to Terminology/de).
Categories
All translated pages should be categorised in their translated categories. Kerbin should be in Category:Planets while Kerbin/de should be in Category:Planets/de.
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 {{lang}} to be translated into another language
- A text uses a dictionary template to translate a text
The {{Main Page Layout}} template for example uses the first option while {{Partbox}} and their subtemplates uses a combination of the second and third option. Usually there is no combination with the first option.
Translation via parameters
This strategy is easy to understand but has the drawback, that other parameters like values can't be easily reused. So if the site is static this system works fine.
To translate an article using this method a new created article with the language code as a suffix (e.g. Main Page/de) must be created. This new article uses the generic template (for Main Page/de would be {{Main Page Layout}}) and adds for each parameter the translation the 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. To add a new translation simply add a new parameter with the language code and translation like:
Before adding | After adding |
---|---|
{{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]] }} |
{{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 default value and at last 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>}}.
Using an automatically translating template
If the template automatically translates and the values are language independent like for the {{Planetbox}} template it is possible to do some simplifications and the values needs to be set only once but use them in all translations. This is usually done by creating a subpage which only uses the template which all other pages then include. All celestial objects use {{Planetbox}} in their <name of celestial object>/Data (e.g. Duna/Data) page and then add this page into the different translations with {{:<name of celestial object>/Data}} (e.g. Duna or Duna/sv).
Linking
To link a page usually [[target page|link text]] is used and target page can be omitted if link text is the target page (e.g. [[Main Page]] produces the same link as [[Main Page|Main Page]]) but this function won't work in translated articles as the target page has the language code. For example [[Main Page/de]] would produce Main Page/de while [[Main Page/de|Main Page]] won't show the language code: Main Page.
There are three templates available which make automatic linking easier:
- {{if lang}} can be appended to the target page and allows automatically linking to the same language.
- {{if lang link}} is similar to {{if lang}} but creates a complete link.
- {{LangFallback}} creates a link to the same language and if the language isn't English also a link to the English page.