Project:Terminology gadget

From translatewiki.net
Jump to navigation Jump to search
OOjs UI icon alert.svg
This page is under construction.
The page is describing the gadget as if it was a default gadget (turned on for everyone), but this is currently not the case.
What it looks like when you hover a term that has a definition using the terminology gadget.

The terminology gadget enables translators to store translations and usage notes in a central place, and displays those translations and usage notes to translators when they are translating. Terms that have a definition will appear with a different background color in the English source message, giving a visual clue to translators that there is a definition in their language for that term.

You can enable the gadget by going to "Gadgets" in your preferences.

Background

The impetus for creating this gadget came from talks during the Arctic Knot Conference 2021, where some users mentioned the difficulty of translating certain terms into smaller languages. Some languages may not have terms for certain technical terms that are used a lot in MediaWiki, like "file" or "category". Because of this, they may need to discuss what term they should use for those terms – and even if they come to a conclusion, the next person who translates wouldn't necessarily know what to use when translating the same term if they aren't aware of the previous discussion.

The need for consistent terminology isn't only limited to smaller languages, however. All languages can have multiple translations for the same terms in English, and staying consistent within the same context is always an advantage.

How it works

The gadget works on the English source messages, and scans them for terms that have been defined for the current language. If it finds any, it marks the term with a background color according to the legend. If you hover one of these terms, you will be shown the translation and/or usage notes that has been defined for that term. You will also see a menu icon that you can click to edit edit the definition, or start a discussion about it.

When you add or edit a term, the definition will be saved to a subpage of your language's portal called terminology.json. See Portal:Nb/terminology.json and Portal:Sms/terminology.json for a couple of examples, or try this search for a full list of terminology pages. These pages are not meant to be edited manually, but you still can if absolutely necessary. Just

When editing the "translation" or "usage notes" field, you can use full wiki syntax – you can even use parser functions and templates if necessary.

"Redirect languages"

It is possible to set an entire language code to redirect to another. This can be useful in cases of language variants where the terminology used should be shared between several variants. For example, the language codes de (German) and de-ch (Swiss German) should probably share the same terminology, so de-ch could be set as a redirect to de.

For languages with variant redirects, you can use the special "magic word" $VARIANT in the translation and usage notes field in the gadget, if you wish to show/highlight different things for different variants.

Click to show technical details.

Redirect language

In order to set a language as a redirect to another, its terminology.json page should look like this:

{
	"@redirect": "target language code"
}
Example of $VARIANT

Let's say de-ch redirects to de. The translation for "file size" is "Dateigröße" in de and "Dateigrösse" in de-ch. In order to reflect this in the terminology gadget, you could do something like this:

{{switch:$VARIANT
| de-ch = Dateigrösse
| #default = Dateigröße
}}

This could be turned into a template for more efficiency, just remember to pass $VARIANT to the template.

For some real-life examples, see how {{Tgzh}} is used in Portal:Zh/terminology.json (which has zh-hans and zh-hant as redirects).

Legend

  • Term – terms marked like this have a translation saved for the current language.
  • Term – terms marked like this have usage notes attached to them.
  • Term – terms marked like this are under discussion on the language's portal talk page. They may also already have a translation and/or usage notes attached.

Gallery

Source code

The source code for the gadget is at MediaWiki:Gadget-terminology.js, with some additional CSS at MediaWiki:Gadget-terminology.css.

Feedback

If you have any feedback, comments or bug reports regarding the gadget, please post them on the talk page.