The translation template crisis

From Valve Developer Community
< User:Wisdurm
Revision as of 20:43, 17 June 2024 by PeeBot (talk | contribs) (Removed {{Message}} template from talk page. This action was performed by a bot)
Jump to navigation Jump to search
Other sandboxes
Warning.pngWarning:Parts marked with [confirm] may contain inaccurate information, feel free to correct objectively wrong statements.

Translation template comparison

Template Editing Wiki maintenance Search Conclusion
{{Lang}}

Positives

  • Fast
  • Easy

Negatives

  • Every page requires an English "base page".
  • Pages in, for example, Spanish need to link to (for example) Main Page:es, instead of just Main Page.
  • The {{Lang}} template needs to specify the full path of all subpages.

Positives

  • Currently used on very many pages.
  • Every page being completely handled by itself without subpages makes many things very easy.
  • Separate pages for different languages allows people to fix problems for pages in a language they understand.
  • Every page being categorized by it's language is helpful.

Negatives

  • Every page needs to check whether or not other language versions of said page exist everytime it's cached, leading to slow load times. [confirm]
  • Every single maintenance template needs to have a separate version for every single language.
    Note.pngNote:Templates don't NEED to be translated like this, it's just how it used to be done. So this isn't really a negative when considering using {{Lang}} in the future, it only affects templates which are currently done like this.
  • Since suffixed pages are not considered subpages, when pages are moved every single translated version must be moved separately, one by one.

Positives

  • Search engines correctly lead to pages in the correct languages.

Negatives

Positives

  • Fastest and most simple to both understand and to edit.

Negatives

  • Translations being lumped into suffixes rather than subpages causes problems such as every single translated version separately being included in categories, and it's usage for translating templates in the past is objectively inferior compared to using {{Autolang}}.
{{Multipage}}

Positives

  • Still relatively easy to use.

Negatives

  • Newcomers to the wiki sometimes struggle with understanding the {{Multipage}} ui buttons for editing the language subpages.
  • Purging the page after every edit is annoying and slow and as such sometimes people forget to actually commit their edits to the page.
  • The page preview is missing certain templates such as {{This is a}} which is always on the main page.

Positives

  • Currently most used translation template.
  • Separate pages for different languages allows people to fix problems for pages in a language they understand.
  • Every page being categorized by it's language is helpful.

Negatives

  • The length of the base page is very short, which negatively impacts Special:ShortPages.
  • The base page needs to check whether or not other language versions of said page exist every time it's cached, leading to slow load times. [confirm]

Positives

  • Every language shows up correctly on search engines.

Negatives

  • Search engines sometimes lead to language subpages instead of the main page which can (as with pages using the {{Software page}} template) cut out a LOT of information, as well as make the page look much worse.

Positives

  • Still very simple and links being automatically redirected to translated versions is very helpful, also the concept of a "base page" being the only one that shows up in categories keeps the wiki cleaner.

Negatives

  • For some pages completely ruins the wiki for search engines, and while the idea of a non-language specific "base page" is helpful, it also has it's problems.
{{Page}}

Positives

  • Since page style is independent of text, the style of a page can be updated on the the base page so that it instantly updates for all languages.

Negatives

  • Requires splitting the article into many parts which are segmented by string subpage templates.
  • Requires editing string subpages formed by copy and pasting boilerplate text.
  • Doesn't support a live preview of the page while editing.
  • Incredibly slow compared to other methods.
  • Quite difficult to figure out and prone to broken pages due to missing brackets or other mistakes in the template code.
  • Same purging annoyances as {{Multipage}}

Positives

  • Tracks the current translation progress of all pages on which it is used.
  • Text added to the base page in one language appears untranslated in other languages, which helps translators see what needs to be translated.
  • Fastest page loading time since all the translation data is stored on a single subpage.
  • Minimizes the amount of pages required for translations.

Negatives

  • While the concept of untranslated text in theory is helpful, in practice:
  1. People would likely simply edit existing strings since it's faster due to not necessitating copy and pasting boilerplate string templates on both the subpage and the main page, which renders the "translation helping" aspect completely redundant.
  2. Even if they did add a new string, it would almost certainly mean that at any moment there could be hundreds of pages in different languages which have random English text sprinkled around in them since the wiki doesn't have extremely active translators for every single language, which would make the wiki extremely unclean and confusing for readers.
  • The edit history of every single language is combined into a single page.
  • When pages are moved from either {{Lang}} or {{Multipage}}, only the edit history of a single language can be saved, and the rest of the entire history of that page is permanently erased.
  • Maintenance templates either need to be on the base page or the strings subpage which means that either:
  1. The maintenance templates being on the main page means that the notice either needs to be removed only after the page has been fixed in every single language or it's removed as soon as only one translation has had it fixed.
  2. If the maintenance templates are on the the strings subpage, they show up in maintenance categories which is annoying since it's impossible to tell for which language the problem is without going through the page, meaning someone speaking, for example Russian, would have a hard time helping with page cleanup since it's unclear which pages marked for cleanup are actually written in their language.

Positives

  • Search engines lead to base page. [confirm]

Negatives

  • Search engines may not detect languages other than English. [confirm]

Positives

  • Incredibly efficient in space and speed, and as with {{Multipage}}, the concept of a "base page" has many positives.

Negatives

  • While compressing articles to only two pages (main page and strings subpage) instead of keeping translated pages as their own separate pages, which are to be dealt with separately, is good for minimizing page creation, it also seems to only complicate almost everything from editing to maintenance, making wiki editing so much slower and more difficult.

A practical example

Let's take a moment to think about how the same three different types of edits would have to be applied to a page created with each of the different templates.

Minor grammar edit

If you wanted to correct a minor spelling mistake in a sentence, this is how you would do it in each template.

{{Lang}}

Click the [edit] button for the section in which you wish to make a change, rewrite the sentence, save and wait.

{{Multipage}}

Click the [edit] button for the section in which you wish to make a change, rewrite the sentence, save, wait, then press the "Purge base's cache" button and then wait, again.

{{Page}}

Click the small language symbol near the top right of the page, click edit at the top of the page, navigate to the string block which contains the sentence you wish to edit, rewrite it, save, wait, go back to the main page, press the small purge button near the top right of the page, then press "OK" when the next page loads and wait.

Adding some sentences or a new section

{{Lang}}

Click the [edit] button for the section in which you wish to add a sentence, save and wait.

{{Multipage}}

Click the [edit] button for the section in which you wish to add a sentence, save, wait, then press the "Purge base's cache" button and then wait, again.

{{Page}}

Click the edit button at the top of the screen, decide on a place in which to place the sentence, add {{/Str|insert some name for the sentence}}, save, wait, press the small language symbol near the top right of the page, click edit at the top of the page, copy and paste:


-->{{String
| id	= Insert the same name for the sentence as you did for the base page
| input	= {{{1|}}}
| force	= {{{force|{{intlang}}}}}

| +en=1 | en	= Add new sentence here.
}}<!--

Then save the edit, wait, go back to the main page, press the small purge button near the top right of the page, then press "OK" when the next page loads and wait. Now, and only now, you can finally see how the page will be formatted with your new sentence, and now you also know that someone has to go and translate that sentence for every single language immediately or it will appear untranslated for confused readers.

Major restructuring

{{Lang}}

Click the edit button at the top of the screen, rewrite the page, save, wait, and go add a notice to other translated versions that the page has had a major revision and that the translations should be updated.

{{Multipage}}

Click the pencil button near the top right of the screen, rewrite the page, save, wait, then press the "Purge base's cache" button and wait again, then go add a notice to other translated versions that the page has had a major revision and that the translations should be updated.

{{Page}}

Notify at least one person who can speak each language for which the page is currently translated into that the page will be rewritten, press the edit button at the top of the screen, write a good structure for the page made up of an arbitrary amount of {{/Str|insert some name for the sentence}}'s, save, wait, press the small language symbol near the top right of the page, click edit at the top of the page, copy and paste:


-->{{String
| id	= ???
| input	= {{{1|}}}
| force	= {{{force|{{intlang}}}}}

| +en=1 | en	= Insert text
}}<!--

numerous times while also constantly checking what names you gave for the sentences. Then save the edit, wait, go back to the main page, press the small purge button near the top right of the page, then press "OK" when the next page loads and wait. Now you will be able to see a preview for your page, so if you made any mistakes, you can go back to the "Minor grammar edit" section. Now remember to notify all those translators, they're going to have to write a completely new translation immediately since the page doesn't exist for those languages anymore.

Conclusion

Important notes about this wiki specifically

  • This wiki is predominantly active in English, and doesn't currently even have a single translator for all available languages, so it's impossible to expect people to constantly keep pages up to date. And as such a good translation template is one which lets pages not edited in years in some languages still remain clearly understandable for readers.
  • Text content is more important than styling. While this wiki seems to currently have an obsession with making everything look clean (me included), the reason Valve created this site is so people with knowledge on Source can actually contribute to helping others understand the engine better. So it should be much more prioritized that documentation remains up to date and correct rather than if it looks good.


There is no perfect translation template, since trying to accomplish everything that would be wanted from them only leads to oxymorons. Every template has it's ups and downs, so the best translation template is simply the one which has the most negligible downsides.

Personally I feel a "perfect" translation template would be somewhere in between {{Lang}} and {{Multipage}}, somehow with the best parts of both. --Wisdurm (talk) 00:00, 0 Jan 0