<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.tfcmud.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Help%3ALocalisation</id>
	<title>Help:Localisation - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.tfcmud.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Help%3ALocalisation"/>
	<link rel="alternate" type="text/html" href="https://www.tfcmud.com/wiki/index.php?title=Help:Localisation&amp;action=history"/>
	<updated>2026-04-30T17:09:04Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://www.tfcmud.com/wiki/index.php?title=Help:Localisation&amp;diff=370&amp;oldid=prev</id>
		<title>Tynian: 1 revision: Import helps</title>
		<link rel="alternate" type="text/html" href="https://www.tfcmud.com/wiki/index.php?title=Help:Localisation&amp;diff=370&amp;oldid=prev"/>
		<updated>2011-01-10T23:24:37Z</updated>

		<summary type="html">&lt;p&gt;1 revision: Import helps&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{H:h}}&lt;br /&gt;
&lt;br /&gt;
A collection of texts in various languages basically is a 2D array. They can be stored in the following ways:&lt;br /&gt;
*for each text in each language there is a separate page, e.g.:&lt;br /&gt;
**[[MediaWiki:1movedto2/nl]] (for the set of pages see [http://meta.wikimedia.org/w/index.php?title=Special%3AAllPages&amp;amp;namespace=8])&lt;br /&gt;
**[[commons:Template:Potd/2007-05-01 (de)]] (for the set of pages see [http://commons.wikimedia.org/w/index.php?title=Special%3APrefixIndex&amp;amp;prefix=Potd%2F&amp;amp;namespace=10])&lt;br /&gt;
**[[Template:Lang name - de (fr)]] (for the set of pages see [http://meta.wikimedia.org/w/index.php?title=Special%3APrefixIndex&amp;amp;prefix=Lang+name+-&amp;amp;namespace=10])&lt;br /&gt;
**[[Fundraising FAQ/nl]] (for the set of pages see [http://meta.wikimedia.org/w/index.php?title=Special%3APrefixIndex&amp;amp;prefix=Fundraising+FAQ&amp;amp;namespace=0])&lt;br /&gt;
*ditto, but all translations are on the respective sites only, so the page name need not contain the language; this applies for example more or less for Wikipedia articles about a subject; however, they are usually not simply translations, and subjects which are combined in one article on one Wikipedia may be split up in another Wikipedia; an example for templates (deleted on en: and nl:) is:&lt;br /&gt;
**{{tiw|fr|Familia}}&lt;br /&gt;
**{{tiw|de|Familia}}&lt;br /&gt;
*for each text (meaning) there is a template containing all translations, e.g.:&lt;br /&gt;
**{{tim|Multilingual template demo/empty}} &lt;br /&gt;
**{{tim|Multilingual template demo/undefined}}&lt;br /&gt;
**{{tim|Multilingual template demo/value}} &lt;br /&gt;
**{{tim|HelpuMetaFarigxiMultlingva}}&lt;br /&gt;
**{{tim|Tradukistoj}}&lt;br /&gt;
*for each language there is a template with multiple texts in that language (comparable to the php messsage files); a parameter selects the text; the templates may be subtemplates of a template with two parameters, one for the language and one for the selection of the text; see [[:Category:Set of templates, each containing multiple texts in one language]]. Examples:&lt;br /&gt;
**[[Template:Language/fr]]; such templates ([http://meta.wikimedia.org/w/index.php?title=Special%3APrefixIndex&amp;amp;prefix=Language%2F&amp;amp;namespace=10 list]) are subtemplates of [[Template:Language]], which is a member of [[:Category:Set of templates, each containing multiple texts in one language]].&lt;br /&gt;
**[[Template:N fr]] (for the set see [http://meta.wikimedia.org/w/index.php?title=Special%3AAllPages&amp;amp;from=N+aa&amp;amp;to=N+zz&amp;amp;namespace=10])&lt;br /&gt;
**[[Template:Snippets/lang fr]] (not just language names, but also some other texts, for the set see [http://meta.wikimedia.org/w/index.php?title=Special%3APrefixIndex&amp;amp;prefix=Snippets&amp;amp;namespace=10])&lt;br /&gt;
*there is one template containing the whole 2D array, e.g.:&lt;br /&gt;
**{{tim|ln}} (small example)&lt;br /&gt;
&lt;br /&gt;
One system for a multilingual template is that the template has an additional parameter &amp;quot;lan&amp;quot;, and a text is produced depending on language; each line in {{pim|Help|Localisation/examples}} shows an example of a style for making template content dependent on the language parameter:&lt;br /&gt;
{{msgnw:Help:Localisation/examples}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;{{Help:Localisation/examples|lan=en}}&amp;lt;/nowiki&amp;gt; gives:&lt;br /&gt;
{{Help:Localisation/examples|lan=en}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;{{Help:Localisation/examples|lan=nl}}&amp;lt;/nowiki&amp;gt; gives:&lt;br /&gt;
{{Help:Localisation/examples|lan=nl}}&lt;br /&gt;
&lt;br /&gt;
For Template:HelpuMetaFarigxiMultlingva, Template:Tradukistoj, etc. it does not seem possible to select a language through a parameter; instead CSS or JS is used.&lt;br /&gt;
&lt;br /&gt;
==Template name==&lt;br /&gt;
When copying a template to another site a translated name can be used. In the case of multilingualism on one site, in the simple case where only the template names are multilingual, the content can be put under one name, while under the translated names there are only redirects.&lt;br /&gt;
&lt;br /&gt;
If the content is also localised, each template can call a common template, but each time with a different value of parameter lan. E.g. {{tim|Demo of English version of multilingual template}} calls {{tim|Multilingual template demo}} with lan=en, and {{tim|Demo van Nederlandstalige versie van meertalig sjabloon}} calls the same template with lan=nl.&lt;br /&gt;
&lt;br /&gt;
If the template has e.g. a complicated logical structure, it is convenient if that logic is contained in a common template, to avoid duplication of effort.&lt;br /&gt;
&lt;br /&gt;
==Template content==&lt;br /&gt;
As seen above there are various ways to make texts dependent on the value of parameter lan. If the template calls another template, and for that template the name, parameter names, or parameter values have to be localised, then the outer template has to take care of these localisations too. If the localisation of the inner template has been carried out such it can be called with international names too (see also below) then localisation of various templates can be carried out more independently of each other.&lt;br /&gt;
&lt;br /&gt;
Examples of language-dependent &amp;quot;texts&amp;quot; are also {{tim|Multilingual template demo/thousands separator}} and {{tim|Multilingual template demo/decimal point}}. See also [[Help:Magic words#Formatting|formatnum:]], dependent on the format specified for the site, not on a template parameter &amp;quot;lan&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Note however that [[ParserFunctions]] #expr and #ifexpr only recognize a decimal ''point'', and do not recognize any thousands separator.&lt;br /&gt;
&lt;br /&gt;
==Template parameter names==&lt;br /&gt;
The localised templates can each use the localised name of a parameter. It calls the common template and gives an international parameter, e.g. &amp;quot;text&amp;quot;, the value of the local parameter, e.g. &amp;quot;tekst&amp;quot;. Two methods are:&lt;br /&gt;
*Parameter &amp;quot;text&amp;quot; is always defined; the value is the text &amp;quot;undefined&amp;quot; if parameter &amp;quot;tekst&amp;quot; is undefined:&lt;br /&gt;
**&amp;lt;nowiki&amp;gt;text={{{tekst|undefined}}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*the state of being undefined is preserved, if parameter &amp;quot;tekst&amp;quot; is undefined then parameter &amp;quot;text&amp;quot; is left undefined too:&lt;br /&gt;
**&amp;lt;nowiki&amp;gt;{{#ifeq:{{{tekst|+}}}|{{{tekst|-}}}|text={{{tekst}}}}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Correspondingly, if both parameter &amp;quot;tekst&amp;quot; and parameter &amp;quot;text&amp;quot; is allowed, and where if both are defined &amp;quot;tekst&amp;quot; prevails:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;nowiki&amp;gt;text={{{tekst|{{{text|undefined}}}}}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*Two methods ensuring that if neither parameter is defined parameter &amp;quot;text&amp;quot; is left undefined:&lt;br /&gt;
**&amp;lt;nowiki&amp;gt;{{#ifeq:{{{tekst|{{{text|+}}}}}}|{{{tekst|{{{text|-}}}}}}|text={{{tekst|{{{text}}}}}}}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
**&amp;lt;nowiki&amp;gt;{{#ifeq:{{{text|+}}}|{{{text|-}}}|text={{{text}}}}}|{{#ifeq:{{{tekst|+}}}|{{{tekst|-}}}|text={{{tekst}}}}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that in the last method the dominating parameter is processed last, to override&lt;br /&gt;
a possible value of &amp;quot;text&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Template parameter values==&lt;br /&gt;
If a parameter value is not just passed through as text to be displayed, etc., but used in a condition, the possible parameter values can also be localised. We can either just allow the local versions of the values (the test value which a parameter value is compared is localised like ordinary text), or also allow the international version. In the latter case we can use something like &amp;lt;nowiki&amp;gt;{{#ifexpr:{{#ifeq:{{{font}}}|bold|1|0}}or{{#ifeq:{{{font}}}|vet|1|0}}|'''{{{text}}}'''|{{{text}}}}}&amp;lt;/nowiki&amp;gt; (&amp;quot;''vet''&amp;quot; is Dutch for &amp;quot;bold&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Help:System message]]&lt;br /&gt;
*[[MediaWiki localisation]]&lt;br /&gt;
*{{mlmw|Manual:$wgLanguageCode}}&lt;br /&gt;
*{{tim|Multilingual template demo}}&lt;br /&gt;
*{{mlm|Meta:Language select}}&lt;br /&gt;
*{{tiw|af|Voormalige Land Inligtingsraampie}}&lt;br /&gt;
*{{ml|Help:Namespace|Generic namespace names}}&lt;br /&gt;
*[[bugzilla:8063]] - JavaScript table sort does not observe local language with respect to digit groups, decimals and date formats&lt;br /&gt;
&lt;br /&gt;
{{h:f|langs=|enname=Localisation}}&lt;/div&gt;</summary>
		<author><name>Tynian</name></author>
	</entry>
</feed>