Template:Language/sandbox

From Dodge Wiki
Jump to navigation Jump to search

Unspecified language code

[edit] Template-info.svg Template documentation

This template is used to convert ISO 639 language codes into language names

Usage

  • Parameter 1 (compulsory) is the ISO 639-1 (two-letter) or ISO 639-2 (three letter) code for the language to output.
  • Parameter 2 (optional) is the two- or three-letter code for the language the result should be displayed in. If no valid parameter is given, the default is en

Please note that this system requires a huge number of separate language names (~35,000) and so is currently very incomplete. If the required name has not already been defined for a particular language, the template will display an error (if no translations have been specified for the language, english translations will be returned). If you feel confident enough with a language that is not already defined, please take a few moments to create a new set of definitions for it.

Examples

  • {{language|en}} → English
  • {{language|fr}} → French
  • {{language|en|fr}} → English
  • {{language|fr|en}} → French
  • {{language|fr|fr}} → French

Technical details

This template works by calling a subpage with the relevant language code for the second parameter (the return language); this subpage contains a switch statement that converts the first parameter into the name in the appropriate language. See for instance {{language/en}}, which is called to translate codes into English. To translate language codes into French, say, you would create {{language/fr}} with a similar format, replacing the English terms for each language with the corresponding French terms. To allow the subpage to be used, you would edit the template and insert a line <nowiki|fr=fr</nowiki>:

{{#iferror:<!--
 
 -->{{Language/<!--
   -->{{#switch:{{lc:{{{2|en}}}}}
       ||en|#default = en
       |fr = fr
      }}<!--
 --> | {{{1|}}} }}<!--

  -->|{{Language/<!--
     -->{{#switch:{{lc:{{{2|en}}}}}
         ||en|#default = en+
       |fr = fr+
        }}<!--
  --> | {{{1|}}} }}<!--

 -->}}<!--
 
 --><noinclude>

Because some language codes are very uncommon, it is possible to split a language into two subpagges, eg /fr and /fr+. The /fr page is called first, and should contain the more common languages. Less common languages should be added to the /fr+ page, which is called only if no translation is found in the main subpage; between them, the two pages should contain all the available translations. To add a /fr+ subpage, add a line to the second switch block in the main template, as shown above.

See also