Factorio:Translation guide: Difference between revisions
m (fix typo) |
(→Keeping translations up to date: added a proper way how to find all unverified pages of a specific language) |
||
(23 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{Languages}} | |||
This guide further explains how pages and templates on this wiki can be translated and what to do and not to do. Remember to also follow the translation related [[Factorio:Wiki rules|rules]]! | This guide further explains how pages and templates on this wiki can be translated and what to do and not to do. Remember to also follow the translation related [[Factorio:Wiki rules|rules]]! | ||
== Translating an entire page == | == Translating an entire page == | ||
Take an English page, copy the content into a sub-page with the language code (Eg /de for German) and translate it to your language. | Take an English page, copy the content into a sub-page with the language code (Eg /de for German) and translate it to your language. Please note that things like infoboxes, navboxes, and the page title automatically translate using Template:Translation, see below. | ||
== If your language is missing from [[Template:Languages]] and the templates associated with it == | == If your language is missing from [[Template:Languages]] and the templates associated with it == | ||
Inform a wiki admin. DO NOT attempt to add it yourself. The best place on the wiki to reach us admins is [[Factorio talk:Editor noticeboard]], but we can also be reached in other places, see our userpages for that. | |||
== General guidelines == | |||
[[Template:Languages]] should be on every page in the main namespace ''except'' the pages about prototypes and types (prefix Prototype/ and Types/) and some special pages such as [[Main Page/Latest versions]]. | |||
The official item/entity etc translations that are shipped with the game should be used if possible. If they are wrong or missing, please contribute on [https://crowdin.com/project/factorio crowdin] to change/add them. | |||
If you are finishing/changing the translation of a not completely translated page, please check the English version of that page for newer info and use that instead of outdated info. Sometimes the English page does not exist anymore, so the page in your language should also be removed (or redirected to the same page as the English one.) | |||
The history section should not be included in translated pages. So, don't translate it, and don't include the untranslated section in the translated page either. Simply don't include it at all. This guideline exists because the history section is just copied from the in-game changelog, which also is not translated. | |||
All links on a translated page should point to pages of the same language, not English pages. This means that you should add your language suffix to all links on the page, even if the linked page doesn't exist yet. After clicking the red link, visitors can still click a different language icon on the upper part of the page and read a proper page. Also, once a translation is made, you don't have to worry about fixing the links later and forgetting. | |||
If you are | === Which pages should be translated first? === | ||
If you are now wondering which pages you should translate, check out [[Factorio:Top pages]]. That are the most visited pages on the wiki, so they should be prioritized to be translated. Furthermore, the pages with the most links to them on your languages [[Factorio:Wanted pages]] page may also be prioritized. This is a very rough guide, so you are free to completely disregard it and follow your own system on which page you translate when. | |||
== Template:Translation/Your language suffix == | == Template:Translation/Your language suffix == | ||
The translation template of your language is the central place for translations of templates and page names in your language. If the name of an item is translated inside the template, the title of the item's page will be translated to that. Translations for Infoboxes and Navboxes also belong here. | |||
This template is the place to translate page titles; using the displaytitle magicword directly on a page to translate the title is '''not''' recommended. | |||
All translation related templates work on any page that has the | == Various templates that can help with translation == | ||
All translation related templates work on any page that has the appropriate language suffix, for example on [[User:Bilka/Sandbox/de]] the templates will translate their content to German. | |||
=== [[Template:Imagelink]] === | === [[Template:Imagelink]] === | ||
Line 33: | Line 39: | ||
{{L|Solid fuel}}. Shouldn't be overused (don't use it if you are going to add the translation by hand anyways) because it's relatively slow to evaluate. Other than that it's handy because the translations change automatically when they are changed in the [[Template:Translation]] of the language, so it's easier to adapt translation changes.<br> | {{L|Solid fuel}}. Shouldn't be overused (don't use it if you are going to add the translation by hand anyways) because it's relatively slow to evaluate. Other than that it's handy because the translations change automatically when they are changed in the [[Template:Translation]] of the language, so it's easier to adapt translation changes.<br> | ||
For more info, see the template page. | For more info, see the template page. | ||
== Keeping translations up to date == | |||
To keep track which translations are up to date, the use of [[Template:Translation verification]] is recommended. When you translate a page or update a translation simply place this template at the top of your translation right behind {{T|Languages}} and give the revision-ID of the English page you translated as a parameter. The first line of the translated page should then look like this: | |||
<pre>{{Languages}}{{Translation verification|revisionID=123456}}</pre> | |||
[[Template:Translation verification]] automatically categorizes the translated page into [[:Category:Verified translations]]/language_code. As soon as the English page is changed, it is moved to [[:Category:Outdated translations]]/language_code, however. This provides an easy way to see which translations need updating and the revision-ID can be used to check the differences of the English page since the translation was verified, so only the changed parts of the page need to be translated again. | |||
'''Q: Where do I find the revision-ID?''' | |||
:Go to the English page -> Version history -> Click on the newest version -> The revision-ID is the number at the end of the URL. | |||
'''Q: How can I update translation efficiently?''' | |||
:If [[Template:Translation verification]] isn't already on the page you more or less have to check the whole translation. If the template is already in use, updating a translation can be a lot less work, however: Visit [[Special:Diff/123456/cur]] or [https://wiki.factorio.com/index.php?oldid=123456&diff=cur https://wiki.factorio.com/index.php?oldid=123456&diff=cur] where the number is the revision-ID currently in the template (alternatively you can use [[Special:Diff]] or the version history of the English page). That way you can see the changes made to the English page, since the current translation was verified. That way you only need to update the translation accordingly. Don't forget to update the revision-ID in the template when you are finished! | |||
'''Q: Where do I start?''' | |||
:Check if any page is already in [[:Category:Outdated translations]]/your_language_code. If it's empty you can find all unverified translations of your language by inserting the following on your user page (replace all three instances of "/de" with your own language code): | |||
:<pre><includeonly><onlyinclude>{{#if: {{#pos: {{lc: {{{?Category}}}{{{?Subcategory of}}} }} | verified translations/de }} || {{{Page}}},<nowiki> </nowiki>}}</onlyinclude></includeonly>{{#ask: [[~*/de]] [[:+||Category:+||Factorio:+||Tutorial:+]] [[!Factorio:Wanted pages/de]] | limit = 1000 | format = template | template = {{FULLPAGENAME}} | sort = Modification date | named args = true | ? = Page | ?Category = ?Category | ?Subcategory of = ?Subcategory of}}</pre> | |||
:It lists all pages in the Main, Category and Factorio namespaces. As of writing, the Tutorial namespace doesn't work, since semantic search is turned off for that namespace. | |||
== Special pages == | == Special pages == | ||
Line 38: | Line 60: | ||
=== [[Main Page/Latest versions]] === | === [[Main Page/Latest versions]] === | ||
This page should not be translated directly on the page. Instead, include the English version (linked above) on your language's main page and translate the latest version box using the translation template. It is setup for that because it updates often and that way it can be guaranteed that it's always up to date for all languages. | |||
=== [[News]] === | |||
This page should not be translated, as most text on it comes directly from the FFF titles. For the main pages, the English version (linked above) should be included. The page should not be translated because it changes often and all content it links to is also only available in English. | |||
=== [[Factorio:Wiki rules]] === | |||
The rules page should not be translated. There is no guarantee for the translations to be right or updated which is not acceptable for the offical rules of a wiki. | |||
=== Pages in the template namespace === | === Pages in the template namespace === | ||
All templates on the wiki should be translated by having <code><nowiki>{{Translation|...}}</nowiki></code> inside them and by then placing the translations of the phrases inside the Translation template of your language. Example: [[Template:Disambiguation]] has <code><nowiki>{{Translation|Multiple pages share the title or description of}}</nowiki></code> inside it, so to translate it you have to place <code><nowiki>|Multiple pages share the title or description of = Your translation</nowiki></code> inside the translation template of your language. If a template can't be translated because it doesn't use <code><nowiki>{{Translation|...}}</nowiki></code>, please inform a wiki admin so that they can add it. | |||
=== [[Version history]] and its subpages === | |||
The version history should not be translated. They are identical to the in-game changelog, which also isn't translated. Furthermore, translating it is simply too much effort for its value, especially since some of the pages are extremely large. | |||
=== The prototype and type documentation === | |||
Any page with the Prototype/ or Types/ prefix, and the complimentary pages [[PrototypeBase]], [[Prototype definitions]], [[Prototype overview]] and [[Data.raw]] should not be translated. All modding API documentation here on the wiki and on [https://lua-api.factorio.com/ lua-api.factorio.com] is English only. The prototype stage documentation has moved to a [https://lua-api.factorio.com/latest/index-prototype.html separate website] and is slated to be removed from the wiki, with the exception of the Data.raw page. | |||
=== The technical documentation === | |||
The pages in [[:Category:Technical]] should not be translated. They document technical aspects of APIs and file formats and some are maintained by the Factorio developers. Maintenance of this technical documentation in other languages is not feasible. |
Latest revision as of 10:02, 10 February 2024
This guide further explains how pages and templates on this wiki can be translated and what to do and not to do. Remember to also follow the translation related rules!
Translating an entire page
Take an English page, copy the content into a sub-page with the language code (Eg /de for German) and translate it to your language. Please note that things like infoboxes, navboxes, and the page title automatically translate using Template:Translation, see below.
If your language is missing from Template:Languages and the templates associated with it
Inform a wiki admin. DO NOT attempt to add it yourself. The best place on the wiki to reach us admins is Factorio talk:Editor noticeboard, but we can also be reached in other places, see our userpages for that.
General guidelines
Template:Languages should be on every page in the main namespace except the pages about prototypes and types (prefix Prototype/ and Types/) and some special pages such as Main Page/Latest versions.
The official item/entity etc translations that are shipped with the game should be used if possible. If they are wrong or missing, please contribute on crowdin to change/add them.
If you are finishing/changing the translation of a not completely translated page, please check the English version of that page for newer info and use that instead of outdated info. Sometimes the English page does not exist anymore, so the page in your language should also be removed (or redirected to the same page as the English one.)
The history section should not be included in translated pages. So, don't translate it, and don't include the untranslated section in the translated page either. Simply don't include it at all. This guideline exists because the history section is just copied from the in-game changelog, which also is not translated.
All links on a translated page should point to pages of the same language, not English pages. This means that you should add your language suffix to all links on the page, even if the linked page doesn't exist yet. After clicking the red link, visitors can still click a different language icon on the upper part of the page and read a proper page. Also, once a translation is made, you don't have to worry about fixing the links later and forgetting.
Which pages should be translated first?
If you are now wondering which pages you should translate, check out Factorio:Top pages. That are the most visited pages on the wiki, so they should be prioritized to be translated. Furthermore, the pages with the most links to them on your languages Factorio:Wanted pages page may also be prioritized. This is a very rough guide, so you are free to completely disregard it and follow your own system on which page you translate when.
Template:Translation/Your language suffix
The translation template of your language is the central place for translations of templates and page names in your language. If the name of an item is translated inside the template, the title of the item's page will be translated to that. Translations for Infoboxes and Navboxes also belong here.
This template is the place to translate page titles; using the displaytitle magicword directly on a page to translate the title is not recommended.
Various templates that can help with translation
All translation related templates work on any page that has the appropriate language suffix, for example on User:Bilka/Sandbox/de the templates will translate their content to German.
Template:Imagelink
{{imagelink|Solid fuel}}
On a German page will link to solid fuel/de and display the link as festbrennstoff:
Solid fuel
For more info, see the template page.
Template:TransLink
{{TransLink|Solid fuel}} or {{L|Solid Fuel}} for short
Can be used for linking to something using the direct link with language suffix without having to know the name of the corresponding translated page:
Solid fuel. Shouldn't be overused (don't use it if you are going to add the translation by hand anyways) because it's relatively slow to evaluate. Other than that it's handy because the translations change automatically when they are changed in the Template:Translation of the language, so it's easier to adapt translation changes.
For more info, see the template page.
Keeping translations up to date
To keep track which translations are up to date, the use of Template:Translation verification is recommended. When you translate a page or update a translation simply place this template at the top of your translation right behind {{Languages}} and give the revision-ID of the English page you translated as a parameter. The first line of the translated page should then look like this:
{{Languages}}{{Translation verification|revisionID=123456}}
Template:Translation verification automatically categorizes the translated page into Category:Verified translations/language_code. As soon as the English page is changed, it is moved to Category:Outdated translations/language_code, however. This provides an easy way to see which translations need updating and the revision-ID can be used to check the differences of the English page since the translation was verified, so only the changed parts of the page need to be translated again.
Q: Where do I find the revision-ID?
- Go to the English page -> Version history -> Click on the newest version -> The revision-ID is the number at the end of the URL.
Q: How can I update translation efficiently?
- If Template:Translation verification isn't already on the page you more or less have to check the whole translation. If the template is already in use, updating a translation can be a lot less work, however: Visit Special:Diff/123456/cur or https://wiki.factorio.com/index.php?oldid=123456&diff=cur where the number is the revision-ID currently in the template (alternatively you can use Special:Diff or the version history of the English page). That way you can see the changes made to the English page, since the current translation was verified. That way you only need to update the translation accordingly. Don't forget to update the revision-ID in the template when you are finished!
Q: Where do I start?
- Check if any page is already in Category:Outdated translations/your_language_code. If it's empty you can find all unverified translations of your language by inserting the following on your user page (replace all three instances of "/de" with your own language code):
<includeonly><onlyinclude>{{#if: {{#pos: {{lc: {{{?Category}}}{{{?Subcategory of}}} }} | verified translations/de }} || {{{Page}}}, }}</onlyinclude></includeonly>{{#ask: [[~*/de]] [[:+||Category:+||Factorio:+||Tutorial:+]] [[!Factorio:Wanted pages/de]] | limit = 1000 | format = template | template = {{FULLPAGENAME}} | sort = Modification date | named args = true | ? = Page | ?Category = ?Category | ?Subcategory of = ?Subcategory of}}
- It lists all pages in the Main, Category and Factorio namespaces. As of writing, the Tutorial namespace doesn't work, since semantic search is turned off for that namespace.
Special pages
There are some pages on the wiki that are translated differently than others. Here it is explained how they work.
Main Page/Latest versions
This page should not be translated directly on the page. Instead, include the English version (linked above) on your language's main page and translate the latest version box using the translation template. It is setup for that because it updates often and that way it can be guaranteed that it's always up to date for all languages.
News
This page should not be translated, as most text on it comes directly from the FFF titles. For the main pages, the English version (linked above) should be included. The page should not be translated because it changes often and all content it links to is also only available in English.
Factorio:Wiki rules
The rules page should not be translated. There is no guarantee for the translations to be right or updated which is not acceptable for the offical rules of a wiki.
Pages in the template namespace
All templates on the wiki should be translated by having {{Translation|...}}
inside them and by then placing the translations of the phrases inside the Translation template of your language. Example: Template:Disambiguation has {{Translation|Multiple pages share the title or description of}}
inside it, so to translate it you have to place |Multiple pages share the title or description of = Your translation
inside the translation template of your language. If a template can't be translated because it doesn't use {{Translation|...}}
, please inform a wiki admin so that they can add it.
Version history and its subpages
The version history should not be translated. They are identical to the in-game changelog, which also isn't translated. Furthermore, translating it is simply too much effort for its value, especially since some of the pages are extremely large.
The prototype and type documentation
Any page with the Prototype/ or Types/ prefix, and the complimentary pages PrototypeBase, Prototype definitions, Prototype overview and Data.raw should not be translated. All modding API documentation here on the wiki and on lua-api.factorio.com is English only. The prototype stage documentation has moved to a separate website and is slated to be removed from the wiki, with the exception of the Data.raw page.
The technical documentation
The pages in Category:Technical should not be translated. They document technical aspects of APIs and file formats and some are maintained by the Factorio developers. Maintenance of this technical documentation in other languages is not feasible.