Template:LangSwitch
Lua error in Module:TNT at line 182: Missing Commons dataset I18n/Module:TNT.tab.
Provides a method to present a string of text selected from an array of many language translations in the language set in the user's preferences or the most appropriate fallback language.
The template automatically sets the following categories: Category:Internationalization templates using LangSwitch
Usage
<poem>{{LangSwitch
|en = |xx = |default =
}}</poem>
Template parameters
- TemplateData
TemplateData راهی برای ذخیره اطلاعات الگو در مورد پارامترهای آن الگو (توضیحات مربوط به آن ها و کل الگو) برای انسان و ماشین است. TemplateData توسط VisualEditor و احتمالاً ابزارهای دیگری مانند Upload Wizard استفاده میشود.
اسناد موجود در قالب
در ویکیمدیا، توصیه میشود که {{TemplateBox}} را با useTemplateData=1
یا useTemplateData=only
در صفحه فرعی /doc
استفاده کنید و آن را با {{Documentation}} در قالب الگو قرار دهید. تگهای <nowiki>
را میتوان در صورت لزوم در اطراف آرگومانها قرار داد تا محدوده الگو را مشخص کند.
اطلاعات الگوی جدید ایجاد شده و واردات
گزینه دیگر، به ویژه برای الگوهای وارداتی، یا برای کاربران با تجربه JSON، قرار دادن <templatedata>
-tags خام در ویکیتکست الگو است، همانطور که در ویکیپدیاهای مختلف توضیح داده شده است.
ویکی پدیا در مورد TemplateData به کمک شما نیازمند است • اطلاعات خاص عمومی
Provides a method to present a string of text selected from an array of many language translations in the language set in the user's preferences or the most appropriate fallback language.
Parameter | Description | Type | Status | |
---|---|---|---|---|
Default Fallback | default | Default text in case one of the "xx" languages is not the language of user's preferences. By default, the English version will be shown, if provided.
| String | suggested |
English | en | Text in English language. Unless ''default'' option is used, this text will also be used if the languages provided do not include the language set in the user's preferences. If you do not want to show any text when the user's language is English, then use "en=~". | String | required |
Language Code | lang | کد زبانی (فقط هنگامی مورد نیاز است که زبان نمایش داده شده ثابت شدهاست و مستفل از تنظیمات کاربر باشد) {{#if:{{{lang|}}}|{{{lang}}}|{{int:Lang}}}} is not necessary.
| String | optional |
No Category? | nocat | "nocat=1" will overwrite the default behavior of tracking uses without "en" or "default" options. | String | optional |
xx | Translated text in language ''xx'' (the parameter name ''xx'' can be any supported language code (from BCP 47/ISO 639-1), and you can specify as many such parameters as needed for each translated language). Use "xx=~" if you do not want any message (or default) in some specific language. You can map multiple languages to a single text by using "{{LangSwitch|xx/yy/zz=text}}" which is equivalent to "{{LangSwitch|xx=text|yy=text|zz=text}}" . | String | optional |
Additional information
The template is intended to be used in the following namespaces: no namespace specified
The template is intended to be used by the following user groups: all users
Relies on:
Module:Fallback
⧼Seealso⧽
- {{Autotranslate}} for template internationalization (i18n) mechanism for templates that use named parameters
- {{GetFallback}}, {{Fallback}}, {{Translation table}}
- Category:Internationalization templates using LangSwitch
Localization
This template is not intended to be localized.
I18n templates: | {{Multilingual description|lang= |de,en,default=Deutsch/English |fr=français |... }} |
{{de|Deutsch}} {{en|English}} {{fr|français}} ... |
{{LangSwitch|lang= |de,en,default=Deutsch/English |fr=français |... }} |
{{Autotranslate}} | {{tnt}} | Language-aware transclusion |
---|---|---|---|---|---|---|
Recommended use at | Categories, galleries | File description pages (deprecated, can be safely replaced by {{Multilingual description}}) | Small templates, whenever the previous options are not suitable (removes the visual indication of the language before each translated text) | Data tables with translated cells or larger templates, when used on pages that do not have language subpages (e.g. not having Main page/en , Main page/de ) and where the language displayed will be automatically determined by the language set in user preferences
|
Data tables with translated cells or larger templates, when used on pages that do have language subpages; most of the time these will be pages prepared with the Translate Extension | Data tables with translated cells or larger templates, when used on pages that do have language subpages; the transcluded page needs to be prepared with the Translate Extension, the transcluding page needs to be either prepared with the Translate Extension, or have the page language set by a translation administrator |
Requires JavaScript enabled for folding | Yes | No | ||||
Folding can be disabled by user | Yes | No | ||||
Folding is done server-side | No | Yes | ||||
Folding when at least n languages are provided | 1 (all translations are shown without folding if the preferred language selected by the user has no matching translation) | 4 | 1 | |||
Detection of duplicate, incorrect, or unsupported language codes | Yes | No | Yes | Duplicate language codes are impossible by design. Incorrect or unsupported codes are never displayed, but not reported. The Translate extension's interface (if it's used on the translation subpages) doesn't let the user create translations with invalid codes, but other methods (e.g. entering the translation's URL directly) allow it without any warning. | ||
Allows the same translation to be used for several languages | Yes | No | Yes | |||
Supports language fallbacks | No | Yes | No | |||
Collation order of languages (when not folded) | Consistent order by native language name, languages grouped by script:
|
As provided by the user in the wikitext (any inconsistent order may be difficult to lookup visually) | N/A | |||
Search indexing issues | No (all translations are included on the same page, however search results may be less relevant with many languages mixed) | Yes (may not index all languages depending on search engines, unless there's a list of links for visiting other languages) | Partially (where used; language subpages of templates are indexed) | No (translated pages should include a <languages/> navigation bar for visiting other languages)
| ||
Page size issues | Yes (may exhaust size or time limits in the wiki parser if many languages are included; larger pages to download for all visitors; slower navigation for visitors with slow Internet access; may be costly for visitors with limited data plans) | No (only the content for the selected language or a suitable fallback language is present in the generated page) | ||||
Contains expensive parser functions | No | Yes, checks for several translations along the fallback chain until finds a suitable | Yes, 2–4 checks per call | No |
Examples
Without a default option
Here are a few examples showing template behavior for three languages: English, Italian and Corsu, which defaults to Italian if Corsu text is not available:
Test | Code | lang=en | lang=it | lang=co |
---|---|---|---|---|
No en; default | {{LangSwitch|it=Italian|default=default}} | default | Italian | Italian |
No en; no default | {{LangSwitch|it=Italian|co=Corsu}} | LangSwitch Error: no default<ref name="c">would add Category:LangSwitch template without default version</ref> | LangSwitch Error: no default<ref name="c"/> | LangSwitch Error: no default<ref name="c"/> |
en; default | {{LangSwitch|en=English|co=Corsu|default=default}} | English | default | Corsu |
en; no default | {{LangSwitch|en=English|co=Corsu}} | English | English | Corsu |
en; skip default | {{LangSwitch|en=English|co=Corsu|default=~}} | English | Corsu | |
en; empty default | {{LangSwitch|en=English|co=Corsu|default=}} | English | English | Corsu |
Skip en; default | {{LangSwitch|en=~|it=Italian|default=default}} | Italian | Italian | |
Skip en; no default | {{LangSwitch|en=~|it=Italian}} | Italian | Italian | |
Empty en; no default | {{LangSwitch|en=|it=Italian}} | LangSwitch Error: no default | Italian | LangSwitch Error: no default |
en; default; skip it | {{LangSwitch|en=English|it=~|co=Corsu|default=default}} | English | Corsu | |
en; default; empty it | {{LangSwitch|en=English|it=|co=Corsu|default=default}} | English | default | Corsu |
en; no default; skip it | {{LangSwitch|en=English|it=~|co=Corsu}} | English | Corsu | |
Forced "lang=co" | {{LangSwitch|en=English|co=Corsu|default=default|lang=co}} | Corsu | Corsu | Corsu |
Example for more
<kbd>LangSwitch|de=Grün|es/it/pt=Verde|fr=Vert|en=Green |lang={{{lang|{{int:lang}}}}}}}</kbd>
will give Green for language fa
red (Template:I18n/red) |
bleu (Lua error in Module:Wikidata_label at line 289: attempt to index field 'wikibase' (a nil value).) |
---|
This example will translate
red
when not English, and bleu
when not French
Default option
The default option is intended for providing more language independent option. For example:
{{LangSwitch
|de={{Wd|Warschau}}
|en={{W|Warsaw}}
|fr={{Wf|Varsovie}}
|ja={{W日|ワルシャワ}}
|pl={{WP|Warszawa}}
|ru={{Wr|Варшава}}
|default=[[d:Q270]]
}}
will provide link to Wikipedia articles in case one of the languages provided matches user's language but will link to Commons gallery page (Warsaw) if any other language is used.
The expression {{W|Q270||d}}
is equivalent to the shorter [[d:Q270]]
(it just does not show the "d:").
Warning
This template SHOULD NOT be used out of software interface purpose. For example it SHOULD NOT be used to manage multilingual description of the subject of a media or a category or whatsoever.
Notes
<references/>