Templates download/Language switcher: Difference between revisions

No edit summary
No edit summary
Tag: 2017 source edit
Line 27: Line 27:
The template defines some variables to determine which languages you want to support:
The template defines some variables to determine which languages you want to support:
# It automatically determines the content language of your wiki installation. This variable is required and must not be deleted.
# It automatically determines the content language of your wiki installation. This variable is required and must not be deleted.
# You need to define at least one language for the switcher to make sense. Each language variable is named as "l1", "l2",.... The value needs to be provided as the [https://de.wikipedia.org/wiki/Liste_der_ISO-639-1-Codes ISO 639-1 language code] for the language. For Spanish, you would define:<syntaxhighlight lang="text">
* You need to define at least one language for the switcher to make sense. Each language variable is named as "l1", "l2",.... The value needs to be provided as the [https://de.wikipedia.org/wiki/Liste_der_ISO-639-1-Codes ISO 639-1 language code] for the language. For Spanish, you would define:<syntaxhighlight lang="text">
{{#vardefine:l4|es}}
{{#vardefine:l4|es}}
</syntaxhighlight>
</syntaxhighlight>
# After defining the variables, you need to add them to the actual switcher:<syntaxhighlight lang="text">
* After defining the variables, you need to add them to the actual switcher:<syntaxhighlight lang="text">
{{#switch: {{SUBPAGENAME}}
{{#switch: {{SUBPAGENAME}}
|{{#var:l1}}={{#var:switcher}}
|{{#var:l1}}={{#var:switcher}}
Line 38: Line 38:
|{{#var:clswitcher}}}}
|{{#var:clswitcher}}}}
</syntaxhighlight>
</syntaxhighlight>
# In addition, you should add the language to the template description for the extension [[Reference:TemplateData|TemplateData]]:<syntaxhighlight lang="text">
*A tracking property enssures that the different languages are available for further processing through Semantic MediaWiki. This allows to create page lists of the different languages.:<syntaxhighlight lang="text">
<!-- set tracking property //-->
[[Languages/tracklang::{{#switch: {{SUBPAGENAME}}|{{#var:l1}}={{#var:l1}}|{{#var:l2}}={{#var:l2}}|{{#var:l3}}={{#var:l3}}|{{#var:l4}}={{#var:l4}}|{{#var:cl}}}}]]
</syntaxhighlight>
 
*Alternatively, especially in BluesSpice free (where no SMW functions and therefore no attributes are available by default), tracking categories can be used. These are commented out in the template by default. The comment must therefore be removed and all languages tracked as a category:<syntaxhighlight lang="text">
{{#switch: {{SUBPAGENAME}}|{{#var:l1}}=[[Category:{{#var:l1}}]]|{{#var:l2}}=[[Category:{{#var:l2}}]]|{{#var:l3}}=[[Category:{{#var:l3}}]]|{{#var:l4}}=[[Category:{{#var:l4}}]]|[[Category:{{#var:cl}}]]}}
</syntaxhighlight>
* In addition, you should add the language to the template description for the extension [[Reference:TemplateData|TemplateData]]:<syntaxhighlight lang="text">
"description": {
"description": {
         "{{#var:cl}}": "Language switcher",
         "{{#var:cl}}": "Language switcher",

Revision as of 16:02, 23 March 2022

This template creates a language switcher that supports English, German and French language pages. It can be inserted into a wiki page via the VisualEditor Insert > Template menu.

Importing the template

(The download file here only works in a wiki that is set to the content language English. For downloading the file for a wiki with content language set to German, go to the German Helpdesk.)


The import file is included in the archive file HW-LanguageSwitcher.zip. Unpack the zip file first.

On the page Special:Import follow these steps:

  1. Select file and choose HW-LanguageSwitcher.xml.
  2. Enter an Interwiki prefix. Since this field is required, simply add hw (for hallowelt).
  3. Keep the selection Import to default locations.
  4. Click Upload file... .

The template is now available in your wiki.

Pages included in the import

The xml import creates the following files in your wiki:

  • Template:Languages
  • Template:Languages/styles.css

How it works

The template defines some variables to determine which languages you want to support:

  1. It automatically determines the content language of your wiki installation. This variable is required and must not be deleted.
  • You need to define at least one language for the switcher to make sense. Each language variable is named as "l1", "l2",.... The value needs to be provided as the ISO 639-1 language code for the language. For Spanish, you would define:
    {{#vardefine:l4|es}}
    
  • After defining the variables, you need to add them to the actual switcher:
    {{#switch: {{SUBPAGENAME}}
    |{{#var:l1}}={{#var:switcher}}
    |{{#var:l2}}={{#var:switcher}}
    |{{#var:l3}}={{#var:switcher}}
    |{{#var:l4}}={{#var:switcher}}
    |{{#var:clswitcher}}}}
    
  • A tracking property enssures that the different languages are available for further processing through Semantic MediaWiki. This allows to create page lists of the different languages.:
    <!-- set tracking property //-->
    [[Languages/tracklang::{{#switch: {{SUBPAGENAME}}|{{#var:l1}}={{#var:l1}}|{{#var:l2}}={{#var:l2}}|{{#var:l3}}={{#var:l3}}|{{#var:l4}}={{#var:l4}}|{{#var:cl}}}}]]
    
  • Alternatively, especially in BluesSpice free (where no SMW functions and therefore no attributes are available by default), tracking categories can be used. These are commented out in the template by default. The comment must therefore be removed and all languages tracked as a category:
    {{#switch: {{SUBPAGENAME}}|{{#var:l1}}=[[Category:{{#var:l1}}]]|{{#var:l2}}=[[Category:{{#var:l2}}]]|{{#var:l3}}=[[Category:{{#var:l3}}]]|{{#var:l4}}=[[Category:{{#var:l4}}]]|[[Category:{{#var:cl}}]]}}
    
  • In addition, you should add the language to the template description for the extension TemplateData:
    "description": {
            "{{#var:cl}}": "Language switcher",
    		"{{#var:l1}}": "Sprachwechsler",		
    		"{{#var:l2}}": "Sélecteur de langue",
    		"{{#var:l3}}": "Taal verandering",
    		"{{#var:l4}}": "Cambiador de idioma"
    	}
    

Displaying the switcher on a page

For the language switcher to work, you need to create the language versions of a page as subpages of the actual content language, e.g. in an English wiki:

  • Vacation policy
  • Vacation policy/de
  • Vacation policy/fr

The template is then added to each language version:

  1. Add the template Languages from the VisualEditor insert-dialog.
  2. Provide a display title if the page is a subpage. For example for the Vacation policy/de, enter "Urlaubsregelung":
    Setting a display title
    Setting a display title


By default, the language switcher appears on the right side of the page. To display it on the left side, change the following line in the page Template:Languages/styles.css:

#langbar-hz {text-align: left;}



To submit feedback about this documentation, visit our community forum.