Template:Expand language

From Body Communication
Revision as of 00:14, 4 August 2021 by en>Goszei (minor EASTEREGG fix (linking "the corresponding article"))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Template documentation[view] [edit] [history] [purge]

This template has two purposes: it is primarily used in transclusion from other templates such as {{Expand French}} or {{Expand Spanish}} to mark English Wikipedia articles that can be improved by a translation from a foreign-language Wikipedia. Second, this template may be placed directly on article pages if an article can be improved by translations from multiple foreign-language Wikipedias. Generally, you should use one of the templates in this list whenever possible, rather than this template. If you're not sure if this is the right template to use, it probably isn't.

Creation of a new daughter template

The primary use of this template is to create a new wrapper template for a particular language. If you need to create {{Expand Klingon}}, follow these steps. When transcluded, the daughter template creates a "notice"-type {{ambox}} with translation instructions in a hide/show box, and categorizes the page into one or more translation categories, depending on parameter values.

For a list of all daughter templates, see Category:Expand by language Wikipedia templates.

You may start a new, {{Expand <Language-name>}} template by following these steps:

  1. Create the page Template:Expand XXXX (where 'XXXX' is the language name):
  2. Edit the template, and adjust:
    • change dummy language code ('xx') to ISO-639 code (French ⟶ 'fr', German ⟶ 'de', etc.[lower-alpha 1])
    • adjust parameters (see below); in particular, the topic codes (per subcategories; see #Required follow-up steps), and save the page.

Parameters available

These parameters can be used in the creation of a daughter template. Language code (|langcode=) and language name (|name=) can be found at meta:Table of Wikimedia projects#Projects per language codes.

  • |date= – pass-thru; set to {{{date|}}}
  • |fa= – used in category name generation. For featured articles, set |fa=yes
  • |langcode= – 2- or 3-letter language code.[lower-alpha 1] E.g., fr.
  • |name= – Full name of the language in English; col 2 in the table. E.g., French
  • |no interwiki= – pass-thru; set to {{{no interwiki|}}}
  • |nodoc= – pass-thru; set to {{{nodoc|}}}
  • |otherarticle= – set to {{{1|}}}; blocks generation of tracking categories for missing args only needed in parent template.
  • |section= – pass-thru; set to {{{section|}}}
  • |topic=used in category name generation; may be any string, but has conventional usage; see #Topics below.
  • |googlelangcode= – rarely used. See below.

Do not use |langcode2=, |langcode3=, |otherarticle2=, or |otherarticle3=.

Topics

Use of |topic= is a shorthand designed to make it easier for the user to categorize an article needing language expansion into the right subcategory. A user may use the simple invocation {{Expand French|topic=gov}}, for example, resulting in categorization into "Category:Government and politics articles needing translation from French Wikipedia", without having to remember details of the Category name, or what categories are available. Not all Expand language templates use |topic=, but those that do, choose the allowed topic values from the set bio, cult, geo, gov, hist, mil, sci, sport, struct, tech, and transport, which imply one of a set of conventionally named subcategories.

If there are too many articles in a language category, new subcategories may be created to hold them, and if desired, a new topic code may be added to the template to handle it,[lower-alpha 2] even one not in the list of topic values above.[lower-alpha 3]

Uncommon override parameters

Param |googlelangcode= is only needed for cases where Google's language translation code is not the same as the Wikipedia language translation code. The only case currently, is for the Norwegian language variety Nynorsk, and is used in Template:Expand Norwegian (Nynorsk). Sample use:

| googlelangcode=no <!--Not the English negative, but the langcode -->

Required follow-up steps

After creating a new daughter template, you need to create the Template doc page, and the main tracking category for the language. If there are many hundreds or thousands of transclusions of the template, the tracking category may get very long and hard to browse; subcategories may be created for subtopics such as biographies, geography, and so on. In the steps below, 'XXXX' represents the language name of the template you just created; so, 'XXXX' is French for Template:Expand French.

  1. Create doc page at Template:Expand XXXX/doc
  2. Create category at "Category:Articles needing translation from XXXX Wikipedia" (changing 'XXXX' to language name)

Optional follow-up

If subcategories are needed because there are too many articles for the main category, then:

  • Create subcategories as needed, corresponding to one of the standard Topic codes
    1. Custom subcategories outside the standard Topic codes may be created if needed (see e.g., commune in {{Expand French}})
    2. If a subcategory is associated with a custom Topic code, then create the optional template subpage "/topics" and adjust row content as needed: Create topics page

Topics and categorization

Transclusion of a daughter template categorizes the page into one or more categories based on the parameters. The language codes are converted to the full name of the language, thus fr becomes French in the category name string, de becomes German; and so on. Topic codes are usually expanded. For example, when used as part of a Category name, topic code geo becomes Geography, gov becomes Government and politics, and so on. The exact list of available topic codes and their expansions depends on the individual daughter templates.

  • With a |topic= parameter: Category:<topic> articles needing translation from <language> Wikipedia
  • Without |topic= : Category:articles needing translation from <language> Wikipedia
  • For param |fa= : Category:Featured articles needing translation from <language> Wikipedia

Using the |topic= parameter categorizes the article in a subcategory associated with the topic value. Some Expand language templates have subcategories and associated topic values, and others don't. As an example, this table[lower-alpha 4] shows the |topic= codes available for {{Expand French}}, and links to the subcategory for each one:






topic code topic name and category
for Expand French
articles in
category

Not all languages have subcategories for every topic; here's {{Expand Catalan}} with three topics/subcategories:


topic code topic name and category
for Expand Catalan
articles in
category

Most languages have fewer transclusions of the template, and don't need subcategories; for example, {{Expand Hindi}}, {{Expand Persian}}, or {{Expand Turkish}}.

Examples

For a generic, copy-paste model that may be used for starting a new, daughter template, see Template:Expand language/template preload. For some actual examples, see:

Direct transclusion on article pages

A secondary use of this template is to place it directly on an article page. This generally should be avoided when a specific language template (such as {{Expand French}}) is available for use instead. But direct transclusion may be useful for an article that can be improved with translations from more than one foreign-language Wikipedia.

Usage

{{Expand language |langcode=xx |otherarticle=<Article-1 in lang-xx> |langcode2=yy |otherarticle2=<Article-2 in lang-yy> |langcode3=zz |otherarticle3=<Article-3 in lang-zz>}}

Tip: If there is only one language involved, then do not use this template.[lower-alpha 5]

Parameters

  • |langcode= – 2- or 3-letter language code of the first foreign Wikipedia article to link[lower-alpha 1] E.g., fr. Required.
  • |langcode2= – code of the second foreign Wikipedia article.[lower-alpha 5] E.g., de. Optional.)
  • |langcode3= – code of the third foreign Wikipedia article.[lower-alpha 1] E.g., es. Optional.
  • |otherarticle= – name of the article in the original language, corresponding to the first langcode. Required.
  • |otherarticle2= – name of the article in the original language, corresponding to the second langcode. Optional.[lower-alpha 5]
  • |otherarticle3= – name of the article in the original language, corresponding to the third langcode. Optional.
  • |section=yes – optional; set to 'yes' when used in a section of the article instead of at the top. Optional.
  • |date= – optional; updated by bot if omitted.
  • |fa= – optional; whether the article is a feature article or not.

Do not use these parameters for direct transclusion:

  • |name= (defaults to 'Expand language'; only needed for transcluding templates; could change css class membership if altered, which could affect rendered appearance of the box)
  • |topic= (could interfere with categorization)

Examples

Expensive parser functions

This template uses between 1 and 9 expensive parser functions depending on what parameters are used. On certain pages with very large numbers of other templates using expensive parser functions this may result in template limits being hit.

Notes

  1. 1.0 1.1 1.2 1.3 For values of |langcode=, see column one from meta:Table of Wikimedia projects#Projects per language codes.
  2. The association between a topic value and a category name occurs in the template code, in the #switch statement. Adding a new topic involves changing the #switch statement to associate the new topic with the desired category name. This will also add one to the tally of expensive parser function calls.
  3. In this case, the new code will not appear in the table of topics and categories in the #Categorization section of the template doc page. To add it, you need to add a line to the /topics subpage to add a row to the topics table in the doc, for each new topic added that is not in the list. See for example, the use of |topic=commune in {{Expand French}}.
  4. This section of the doc page uses fifteen expensive parser function calls; one for conditional inclusion of the |fa= and |topic= parameters, and ten for the rows in the topic table. Fifteen is a low number, and this is no cause for concern.
  5. 5.0 5.1 5.2 If there is only one langcode and otherarticle name, then this template probably isn't the right one. Use one of the daughter templates instead.