Commons:Localization
Wikimedia Commons is an international and thus multilingual project. While the default language here is English, the project is intended to be usable by and useful to people no matter what local language they read.
Internationalization is the process of designing a software application so that it can be adapted to various languages and regions without engineering-level changes. Localization is the process of adapting internationalized software for a specific region or language by adding locale-specific components and translating text. The internationalization and localization effort on Commons has several components:
- Software
- The MediaWiki software (and the extensions to it used by Commons)
- Customisable parts of the MediaWiki interface
- User scripts (especially gadget scripts, installable via your Preferences)
- Content
- Project pages
- Content pages (files, categories, galleries)
- Templates used on content pages and project pages
Software[edit]
MediaWiki default messages[edit]
MediaWiki is the software that Commons is run on. Translations of the MediaWiki interface (translations supplied with the installation of MediaWiki) are created on Translatewiki; please follow the link to contribute.
To check translatewiki localizations of a particular MediaWiki message, visit translatewiki:Special:Translations/MediaWiki: and enter the name of the MediaWiki message. To find the name of a particular MediaWiki message, visit the Commons page showing the message and add ?uselang=qqx
to the URL. Reloading the page should then replace all message text with the name of the message producing that text. (Example using Commons:Localization)
MediaWiki messages can be accessed within Commons (e.g., in a template) via {{int:messagename}}
, e.g., {{int:edit-conflict}}
to access MediaWiki:edit-conflict. Localized versions of MediaWiki messages are stored in subpages named with the relevant language code, e.g., MediaWiki:edit-conflict/de and MediaWiki:edit-conflict/fr. Non-existent messages (including misspelling of actual messages) will display in angle-brackets (<message name>), such as the common mistake of coding "{{int:license}}" as "{{int:licensing}}" (which displays the incorrect result in angle-brackets as: ⧼licensing⧽).
For a list of some MediaWiki messages which may be useful in templates, see Commons:Localization/useful MediaWiki messages. See also mw:Localisation and its system messages.
Commons MediaWiki: namespace custom messages[edit]
The text of default messages supplied with the installation of MediaWiki can be overridden locally.[1] In addition, completely new messages can be created in the MediaWiki:
namespace for purposes of localization. In both cases, such "custom messages" will only be available on Commons' installation of MediaWiki.
- mw:Help:System message–MediaWiki handbook, on system messages in the
MediaWiki:
namespace. Key point: localization is (mostly) via/xx
subpages, for example MediaWiki:Summary is the default language for the wiki (en
on Commons) and MediaWiki:Summary/de is the German localization of the message, if the user specifies a different language. {{MWheader}}, for use onMediawiki talk:
pages, shows a list of localized versions of the relevant message (but only where these differ from the MediaWiki default). - Template:MediaWiki messages–organises the key system messages. See also en:Template:MediaWiki messages on en.wp (there is usually a talkpage description there)
- MediaWiki:Common.js–provides localization of signatures
- Help:Gadget-ImprovedUploadForm–on how to localise the Upload form (Special:Upload).
User scripts[edit]
- Commons:Gadgets#Localization–on localization of gadgets
Content[edit]
About localization text in images see Translation text in images. For localization read below.
Project pages[edit]
Project pages (in the Commons:
and Help:
namespaces) are important to translate. A new user visiting Commons may not know much about Commons and its purpose. Project pages explain the scope of Commons, what content is appropriate and what content not, how uploading works and what rules are to be observed.
Important pages to translate:
- Commons:Licensing
- Commons:Welcome
- Commons:Deletion policy
- Commons:FAQ
- Commons:General disclaimer
- Commons:Media help
- Commons:Project scope
- Commons:Blocking policy
- Commons:User-specific galleries, templates and categories
- Commons:Ownership of pages and files
Content pages[edit]
Content pages are categories, galleries, and file description pages. Localization of these has two elements:
- Standard text elements. These should normally be included via appropriate content templates. For example, a category may include the template {{See also}}, which provides the text "see also" in various languages. In a few cases, standard text elements that are part of the MediaWiki software can be accessed directly, using the construction
{{int:mediawiki-message-name}}
. - Non-standard text elements. These are included directly on the page, but should be wrapped in translation templates so that if/when translations are added, the software can distinguish them. The usual means are the simple language templates or the {{LangSwitch}} or {{Mld}} templates.
Content templates[edit]
Templates are strings of text that occur on dozens, thousands or even millions of pages. By translating the most widely used templates you can greatly extend the usefulness of Commons pages to speakers of your language who do not speak English or who do feel more comfortable in their native tongue. Template:Information for example is used on more than two million file description pages. It's just some short strings of text, but it can greatly help to make the information on the description pages be more accessible. (Not all templates can be translated, some don't need translation, because they are language-neutral).
If a template is already internationalised, it should be clear how to add a new language localization. (The template documentation should make this clear, or it may be obvious when you look at the template in edit mode.) If a template is not yet internationalised, see the section below.
See most used translatable templates and modules.
Content internationalization methods[edit]
The major methods for internationalization are
- Autotranslate, using the {{Autotranslate}} template, which uses subpages in the standard
/xx
language code format to store localizations - LangSwitch, using the {{LangSwitch}} template, which stores localizations within the page or template being translated.
- Simple list, using a header linking to different language versions of a page.
- Language templates, using the individual templates listed at Commons:Language templates
- Multilingual tags are templates devoted to translating a particular message, without providing any formatting, for re-use in multiple templates.
- MediaWiki messages– in a few cases, standard text elements that are part of the MediaWiki software can be accessed directly, using the construction
{{int:mediawiki-message-name}}
Content templates with complex layouts tend to use {{Autotranslate}}, whilst simpler ones use {{LangSwitch}}. Content pages largely use LangSwitch or language templates, with a handful of MediaWiki messages. The "simple list" method is generally used only by project pages. Multilingual tags and most MediaWiki messages are normally used only by templates. For templates, {{TemplateBox}} facilitates creating a documentation page, including providing a standard explanation of how to localise the template for a new language version, given the specified internationalization method.
An additional method is demonstrated by {{Talkbox}}, which supports the construction of talkpage templates (e.g., {{Permprot}}). Here, the translations are stored in subpages of the calling template, and {{Talkbox}} switches the content as needed. The approach is similar to autotranslate, but the setup of the subpages is slightly different, and there is no /layout subpage.
Autotranslate[edit]
- some templates are localised by using the {{Autotranslate}} template. This creates a {{MainTemplate}}, {{MainTemplate/en}}, {{MainTemplate/de}} etc structure, with layout dictated by a separate {{MainTemplate/layout}} template. Individual localised templates would then be marked with
{{Translated tag}}
.- Headings (for example for user messages such as {{Blocked}}) can be localised separately with a {{MainTemplate/heading}}, but this needs to be referenced separately in MainTemplate (see {{Blocked}}), and have a parallel localisation structure ({{MainTemplate/heading/en}}, {{MainTemplate/heading/de}} etc).
- {{Translated tag}} puts the template into the appropriate subcategory of Category:Translated templates by language. Use of a parameter from the list at Template:translated tag/local category-en puts the template in additional subcategories for the type of template (for English localised templates).
Other[edit]
- {{LangSwitch}} is used for some template localization, for example at {{Shortcut text}}, a helper template for {{Shortcut}}. Another example: {{Académie Royale de Peinture, Sculpture et Architecture}}, as used at File:Boucher renaud et armide louvre.jpg.
- Simple list: some templates/categories are localised using the simple list approach demonstrated by {{Lang-CatHelp}}, allowing each page to have its own localised name. The list template should be referenced using {{Header}}, for example
{{header|Lang-CatHelp}}
. - Commons:Language templates are used for galleries, categories description, file description pages. Each is simply the ISO code of the language. Example:
{{en|English description}}
.- {{Multilingual description}} is a similar template, with each language translation as a parameter, so that only one {{Multilingual description}} template is needed per page.
- {{Mldcat}} is adapted for use on category pages, but is currently experimental only and not fully functional without js/css support.
- Multilingual tags: Some templates, called multilingual tags, localise a specific class of thing. For example {{Language}} translates language names (details stored in {{Language/en}}, {{Language/de}}, etc.). {{CountryAdjective}}, {{Occupation}}, {{NationAndOccupation}}, {{Country}} perform similar tasks. Other templates translating names, words and phrases (usually using {{LangSwitch}}) are categorised under Category:Multilingual tags. See also Help:Creating multilingual tags with interwiki links
- MediaWiki messages: some translation is via MediaWiki messages–either by accessing default messages (part of the MediaWiki software) or by creating custom messages (part of Commons' MediaWiki installation only). See #MediaWiki default messages and #Commons MediaWiki: namespace custom messages sections above.
Notes[edit]
- ↑ "Default messages" includes those which are supplied as part of MediaWiki, and the additional
wm-
messages (e.g., MediaWiki:wm-license-information-description) provided by mw:Extension:WikimediaMessages.
See also[edit]
- Commons:Project page translation for hints and tips on translating project pages in the Commons and Help namespaces
- Commons:Template i18n
- Commons:WikiProject Templates
- Commons:Main page templates
- Commons:Administrator translations (administrative messages)
- {{User internationalisation}} and {{User MediaWiki}} userboxes
- MediaWiki:Gadget-AnonymousI18N.js (preserves
&uselang
parameter in URL, for users not logged in) - {{Please Internationalise}} and {{Please translate}} / {{Description insufficient}} / Commons:Requests for translation.
- {{Template translated by copying}}, {{Redirect from translated template name}}
- Commons:Multilingual tags
- Special:MyLanguage
Help[edit]
- "I'm trying to localize something, and I need help!" ➜ Commons:Help Desk