Difference between revisions of "Kerbal Space Program Wiki:Translation"
(→Languages Supported: *synchronized with MediaWiki:Sidebar;) |
(Change the order of Language Subpages) |
||
(20 intermediate revisions by 8 users not shown) | |||
Line 4: | Line 4: | ||
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. | 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 [[User:N3X15|N3X15]] ([[User talk:N3X15|talk]]) so he can add it to the sidebar for you.'' | ||
{| class="wikitable" | {| class="wikitable" | ||
− | ! Language !! Page | + | ! Language !! Example page name !! Page name suffix |
+ | |- | ||
+ | | English || [[Main Page]] || — | ||
|- | |- | ||
− | | | + | | Czech ({{#language:cs}}) || [[Main Page/cs]] || <tt>cs</tt> |
|- | |- | ||
− | | | + | | Danish ({{#language:da}}) || [[Main Page/da]] || <tt>da</tt> |
|- | |- | ||
− | | | + | | German ({{#language:de}}) || [[Main Page/de]] || <tt>de</tt> |
|- | |- | ||
− | | | + | | Spanish ({{#language:es}}) || [[Main Page/es]] || <tt>es</tt> |
|- | |- | ||
− | | | + | | Finish ({{#language:fi}}) || [[Main Page/fi]] || <tt>fi</tt> |
− | |} | + | |- |
− | + | | French ({{#language:fr}}) || [[Main Page/fr]] || <tt>fr</tt> | |
− | + | |- | |
− | + | | Hebrew ({{#language:he}}) || [[Main Page/he]] || <tt>he</tt> | |
− | + | |- | |
− | + | | Croatian ({{#language:hr}}) || [[Main Page/hr]] || <tt>hr</tt> | |
− | : | + | |- |
− | + | | Hungarian ({{#language:hu}}) || [[Main Page/hu]] || <tt>hu</tt> | |
− | + | |- | |
+ | | Italian ({{#language:it}}) || [[Main Page/it]] || <tt>it</tt> | ||
+ | |- | ||
+ | | Japanese ({{#language:ja}}) || [[Main Page/ja]] || <tt>ja</tt> | ||
+ | |- | ||
+ | | Korean ({{#language:ko}}) || [[Main Page/ko]] || <tt>ko</tt> | ||
+ | |- | ||
+ | | Dutch ({{#language:nl}}) || [[Main Page/nl]] || <tt>nl</tt> | ||
|- | |- | ||
− | | ( | + | | Norwegian ({{#language:no}}) || [[Main Page/no]] || <tt>no</tt> |
|- | |- | ||
− | | | + | | Polish ({{#language:pl}}) || [[Main Page/pl]] || <tt>pl</tt> |
|- | |- | ||
− | | | + | | Portuguese ({{#language:pt}}) || [[Main Page/pt]] || <tt>pt</tt> |
|- | |- | ||
− | | | + | | Russian ({{#language:ru}}) || [[Main Page/ru]] || <tt>ru</tt> |
|- | |- | ||
− | | | + | | Swedish ({{#language:sv}}) || [[Main Page/sv]] || <tt>sv</tt> |
|- | |- | ||
− | | | + | | Thai ({{#language:th}}) || [[Main Page/th]] || <tt>th</tt> |
|- | |- | ||
− | | | + | | Turkish ({{#language:tr}}) || [[Main Page/tr]] || <tt>tr</tt> |
|- | |- | ||
− | | | + | | Chinese ({{#language:zh-cn}}) || [[Main Page/zh-cn]] || <tt>zh-cn</tt> |
|- | |- | ||
− | | | + | | Chinese, Taiwan ({{#language:zh-tw}}) || [[Main Page/zh-tw]] || <tt>zh-tw</tt> |
|} | |} | ||
+ | |||
+ | 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''). Don't create new non-English page names redirecting to the correct article and especially don't link to those (except for testing/documentation purposes). Until this topic was discussed the current pages won't get deleted when the naming is the only problem with the page. <!-- 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 == | == Templates == | ||
− | Some templates support multiple languages, so the template code | + | Some templates support multiple languages, so the template code doesn't need to be duplicated for another language. There are following three options available: |
# Each text which can be translated has a separate parameter | # Each text which can be translated has a separate parameter | ||
# A text uses {{Tl|lang}} to be translated into another language | # A text uses {{Tl|lang}} to be translated into another language | ||
# A text uses a [[:Category:Dictionary Templates|dictionary template]] to translate a text | # A text uses a [[:Category:Dictionary Templates|dictionary template]] to translate a text | ||
− | + | The {{Tl|Main Page Layout}} template for example uses the first option while {{Tl|Infobox/Part}} and their subtemplates uses a combination of the second and third option. Usually there is no combination with the first option. | |
+ | |||
=== Translation via parameters === | === 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 | + | 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 | + | 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 {{Tl|Main Page Layout}}) and adds for each parameter the translation the text. |
=== Translation via {{Tl|lang}} === | === 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: | + | Another way to translate a page, is by using the template {{Tl|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: |
− | <pre>{{lang | + | {| |
+ | ! Before adding | ||
+ | ! After adding | ||
+ | |- valign="top" | ||
+ | | <pre>{{lang | ||
|en=[[w:Mass|Mass]] | |en=[[w:Mass|Mass]] | ||
|nl=[[w:nl:Massa|Massa]] | |nl=[[w:nl:Massa|Massa]] | ||
Line 67: | Line 88: | ||
|de=[[w:de:Masse (Physik)|Masse]] | |de=[[w:de:Masse (Physik)|Masse]] | ||
}}</pre> | }}</pre> | ||
− | + | | <pre>{{lang | |
− | <pre>{{lang | ||
|en=[[w:Mass|Mass]] | |en=[[w:Mass|Mass]] | ||
|nl=[[w:nl:Massa|Massa]] | |nl=[[w:nl:Massa|Massa]] | ||
Line 77: | Line 97: | ||
|tlh=ngI' | |tlh=ngI' | ||
}}</pre> | }}</pre> | ||
− | This template uses the English value if there is no translation for the given language. The more advanced system uses dictionary templates. | + | |} |
+ | 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 === | === 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>. | 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>. | ||
+ | |||
+ | === Using an automatically translating template === | ||
+ | If the template automatically translates and the values are language independent like for the {{Tl|Infobox/Body}} 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 parts use <nowiki>{{Infobox/Part}}</nowiki> in their <tt><name of part>/Box</tt> (e.g. [[LV-1R Liquid Fuel Engine/Box]]) page and then add this page into the different translations with <tt><nowiki>{{:<name of part>/Box}}</nowiki></tt> (e.g. [[LV-1R Liquid Fuel Engine]] or [[LV-1R Liquid Fuel Engine/pl]]). | ||
+ | |||
+ | === Linking === | ||
+ | To link a page usually <nowiki>[[target page|link text]]</nowiki> is used and <tt>target page</tt> can be omitted if <tt>link text</tt> is the target page (e.g. <nowiki>[[Main Page]]</nowiki> produces the same link as <nowiki>[[Main Page|Main Page]]</nowiki>) but this function won't work in translated articles as the target page has the language code. For example <nowiki>[[Main Page/de]]</nowiki> would produce [[Main Page/de]] while <nowiki>[[Main Page/de|Main Page]]</nowiki> won't show the language code: [[Main Page]]. | ||
+ | |||
+ | There are three templates available which make automatic linking easier: | ||
+ | * {{Tl|if lang}} can be appended to the target page and allows automatically linking to the same language. | ||
+ | * {{Tl|if lang link}} is similar to <nowiki>{{if lang}}</nowiki> but creates a complete link. | ||
+ | * {{Tl|LangFallback}} creates a link to the same language and if the language isn't English also a link to the English page. | ||
+ | |||
+ | === Searching === | ||
+ | It is currently not possible to search only pages in a specific language. There is currently an index in development at [[User:BobBot/indexes]] where [[User:BobBot]] is from time to time iterating through all pages. Via the browser's search function it is then possible to search through that page. | ||
+ | |||
+ | It will use the {{[[meta:Help:Magic_words#Displaytitle|DISPLAYTITLE:]]}} magic word and falls back to the page title without a language code if it is not set. In the future it will be possible to have multiple different names set (like redirects). Unfortunately <nowiki>{{DISPLAYTITLE:}}</nowiki> is not activated so the new title does not appear on the article page. |
Latest revision as of 06:44, 29 July 2018
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 |
Finish (suomi) | Main Page/fi | fi |
French (français) | Main Page/fr | fr |
Hebrew (עברית) | Main Page/he | he |
Croatian (hrvatski) | Main Page/hr | hr |
Hungarian (magyar) | Main Page/hu | hu |
Italian (italiano) | Main Page/it | it |
Japanese (日本語) | Main Page/ja | ja |
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 |
Thai (ไทย) | Main Page/th | th |
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). Don't create new non-English page names redirecting to the correct article and especially don't link to those (except for testing/documentation purposes). Until this topic was discussed the current pages won't get deleted when the naming is the only problem with the page.
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 doesn'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 {{Infobox/Part}} 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 {{Infobox/Body}} 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 parts use {{Infobox/Part}} in their <name of part>/Box (e.g. LV-1R Liquid Fuel Engine/Box) page and then add this page into the different translations with {{:<name of part>/Box}} (e.g. LV-1R Liquid Fuel Engine or LV-1R Liquid Fuel Engine/pl).
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.
Searching
It is currently not possible to search only pages in a specific language. There is currently an index in development at User:BobBot/indexes where User:BobBot is from time to time iterating through all pages. Via the browser's search function it is then possible to search through that page.
It will use the {{DISPLAYTITLE:}} magic word and falls back to the page title without a language code if it is not set. In the future it will be possible to have multiple different names set (like redirects). Unfortunately {{DISPLAYTITLE:}} is not activated so the new title does not appear on the article page.