Template:Translate

Revision as of 22:08, 12 October 2024 by Sur (talk | contribs) (lang_code_override is named param)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Template documentation [view] [edit] [history] [purge]

How to help translate edit

Navigate to Data:Dictionary and add the translations for a specific key there. For example, to translate 'Patch notes' to spanish (es), edit the record in the Dictionary from

"Patch notes": {
	"en": "Patch notes",
	"ru": "Содержание обновления"
	}

to

"Patch notes": {
	"en": "Patch notes",
	"ru": "Содержание обновления",
	"es": "Notas de revision"
	}


Similarly, if translating a new key not yet added, simply add the record that looks like the above at the bottom of the page, but be sure the last curly brace } has a comma afterwards.

To read the surrounding context, check for the entry on at Data:Dictionary/sources to see where each key is used.

Important translations edit

Note: these are not yet important, as most translations are only used for in-development pages right now.

Page/subpage names that can't exist without translation and whose existence is relied on by other pages:

  • Notes - for [[<ability_name>/Notes]] being transcluded to Abrams#Abilities and [[<ability_name>]]. Notes page can't be created by Deadbot until translated, transcluding the english Notes in its place.

Other:

  • NeedsTranslationTooltip - [nt] is displayed when something can't be localized, so the tooltip being localized is quite helpful for guiding potential translators
  • MissingValveTranslationTooltip - [vt] is displayed... same reason as above

When to use edit

This should only be used to translate text written in Templates, such as Template:Update layout which outputs "Patch notes" above the UI element. Page specific content should be translated on that page in that language, i.e. /Abrams/es or /Abrams/en

Returned string has weird characters edit

If Template:Translate returns a string that has %s in it, it means it is expecting a parameter passed to be embedded in its place. Use Module:Dictionary's translate_embed function instead for this case. The linked page includes documentation for how to use it.

Example edit

Without providing lang_override, the language will be detected based on the subpage the user is on, i.e. /Abrams/es will be detected as a spanish page.

{{Translate|Patch notes}}

Outputs

Patch notes


{{Translate|Patch notes|ru}}

Outputs

Содержание обновления


If translation to that language does not yet exist, it will default to the english translation. If the english translation also does not exist, it will default to the provided key. In both cases, it will add {{NeedsTranslationTooltip}} at the end to guide users to help translate it, appearing as [nt].

{{Translate|Patch notes|made-up-code}}

Outputs

Patch notes[nt]

Lua edit

This template simply forwards parameters to the Lua function translate from Module:Dictionary. If familiar with Lua invokes, try using it or translate_embed instead.

Parameters edit

A template to fetch translations for a given key, optionally overriding the language.

Template parameters[Edit template data]

ParameterDescriptionTypeStatus
key_to_translate1

The key that corresponds to the text to be translated.

Example
Patch notes
Stringrequired
lang_override2

Optional language code to override the language (e.g., 'en', 'es'), if page ends in /<lang_code> it defaults to that lang code. See accepted language codes at [[Data:LangCodes.json]]

Default
Example
es
Stringoptional