Template:Translate/doc: Difference between revisions

From Deadlock Wiki
Jump to navigation Jump to search
Sur (talk | contribs)
m fixed link to langcodes.json
Sur (talk | contribs)
m link to module:dictionary if seeing %s in the string
Line 24: Line 24:
=When to use=
=When to use=
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
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=
If [[Template:Translate]] returns a string that has <code>%s</code> in it, it means it is expecting a parameter passed to be embedded in its place. Use [[Module:Dictionary]]'s <code>translate_embed</code> function instead for this case. The linked page includes documentation for how to use it.


=Example=
=Example=

Revision as of 22:23, 12 October 2024

How to help translate

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.

When to use

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

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

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

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

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

Template parameters

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