Template:Expand language/howto/newtopic

From the AARoads Wiki: Read about the road before you go
Jump to navigation Jump to search

This section provides information about categorization in the {{Expand language}} suite of templates, and explains how to make a new subcategory available for use in a particular language template by use of a topic code. Editors may then employ the topic code in an {{Expand LanguageName}} template as shorthand for categorizing the article in which it appears into a subcategory associated with that topic code. If you've done this before, and just need a refresher, see Quickstart. Otherwise, skip to the gory details below.

Quickstart

Here is a summary of the steps to add a new subcategory and a new topic code to the table for a given {{Expand LanguageName}} (details follow):

  • determine which missing topic code you wish to add (e.g., 'bio'; see col 1 of the topic table)
  • find the topic name for the topic (e.g., 'Biography'; see col. 2 of the Topics table)
  • derive the subcategory name from the topic name and the language name (e.g., Biography articles needing translation from LanguageName Wikipedia (click the topic name in col. 2 of the table for an example; e.g., w:Category:Biography articles needing translation from LanguageName Wikipedia)
  • create the Category page for LanguageName using that name, and categorize it under Category:Articles needing translation from LanguageName Wikipedia
  • Adjust the #switch statement in the {{Expand LanguageName}} template to include: | topic code = Topic name; for example:
    | bio = Biography (model after the #switch in Template:Expand French if needed)
  • To use the new code, go to an article needing categorization into the new subcat, and add:
    {{Expand |topic=topic code|date=December 2024}} to the top of the article.

Background

A topic code is just an abbreviation or word, like bio for "Biography", or sport for "Sports". Associating a topic code with a subcategory name, and enabling its use to categorize articles on which the {{Expand LanguageName}} appears has two main requirements:

  • Creation of a category page with the appropriate subcategory name for the topic code
  • Ensuring that the wikicode of the particular {{Expand LanguageName}} template associates the topic code with the right subcategory name.

The {{Expand language}} suite of templates automatically categorizes pages on which it appears into Category:Articles needing translation from LanguageName Wikipedia. For many languages, this category may grow too large, and subcategorization is needed. The suite of Expand language templates supports subcategorization into a number of pre-defined subcategories, and provides an easy way of indicating subcategorization by using the |topic= param in the template, instead of having to know about a complex set of category naming or remember the category names. This page explains how to do that.

Categorizing articles needing translation

Adding a new topic goes hand in hand with creating a new subcategory in which to categorize articles needing expansion. The top level (and sometimes only) category for articles needing expansion for a given language follows this pattern:

Category:Articles needing translation from LanguageName Wikipedia

But the top level category can often grow to many hundreds or thousands of articles and that's too much for one category. In order to facilitate a better and more useful categorization, the {{Expand language}} suite of templates supports subcategorization into a number of subcategories using the |topic= parameter of the language-specific templates, such as {{Expand French}} or {{Expand German}}. Ten topic codes are defined, such as bio (for 'Biography') and mil (for 'Military'): when used as the value of the |topic= parameter, they imply (but do not automatically create) a subcategory of a specific name. For example:

{{Expand French|topic=bio}}

would categorize the article in which it appears into subcategory ⟶ w:Category:Biography articles needing translation from French Wikipedia .

Topic codes and topic names

The rows in the topic code table show what subcategories already exist under the top level category for a given language; for example, for French, the topic code table is here. The existing subcategories can be found by clicking (or mousing over) the topic names in column two of the table.

There are ten predefined topic codes that are conventionally available for addition to, and use by, any of the Expand LanguageName templates. They are: bio, cult, geo, gov, hist, mil, sci, sport, struct, and transp. Each code is recognized by param |topic= in the Expand LanguageName template, which will categorize the page on which it appears into a subcategory based on the associated topic name, e.g.,bioBiography, and so forth).

Creating a new subcategory

  1. choose a topic code from the topic code table and determine the topic name from column 2 of the table (e.g., bio ⟶ Biography)
  2. define the subcategory name as a function of topic name and language name, using this pattern:
    Topic name articles needing translation from Language name Wikipedia
    Example: for topic name Biography and French we have: Biography articles needing translation from French Wikipedia
  3. create the category, e.g., w:Category:Biography articles needing translation from French Wikipedia
    Add the following text, and save the page:
{{Transcat|language=French|topic=bio}}
{{CatAutoTOC}}


Enable subcategorization in the Expand LanguageName template

Creating a new subcategory is independent of the Expand language template, and one could always categorize an article into the subcategory the way any article is categorized, simply by adding the category between brackets to the end of the article. But to make subcategorization easier, the specific Expand language template for a given language will categorize the article into a subcategory automatically, if the correct association between topic code and topic name appears in the wikicode of the template.

Edit the specific Expand language template for the given language; for example, for French: edit Template:Expand French

The association between topic code and topic name for a given language, and by extension between the topic code and the subcategory name, occurs in the wikicode of the specific language name templates, in particular, in the assignment of |topic=, which usually occurs within a #switch statement which picks one of a number of topic codes and assigns it to the topic name. Some languages have no support for topic codes, for example, {{Expand Chinese}}; others have full support, like {{Expand French}}, and others have something in between. To enable |topic= to be used to categorize the article on which it appears into the associated subcategory requires this code to be set up correctly; if the wikicode does not already have it, you can copy the #switch statement that assigns the value of |topic= from Template:Expand French.

Classify articles into the new subcategory

To classify articles into the new subcategory, use a specific Expand language template with the |topic= param.

  • Edit the article and find the {{Expand French}} template
  • Paste |topic=bio into the template call; it can go anywhere, but after the name is good, e.g.:
    {{Expand French|John Doe|topic=bio|date=December 2024}}
  • Add an edit summary e.g., "Added topic=bio to Expand template."; Preview as needed, and Publish.

Creating non-standard subcategories and topic codes

Topic codes that are not among the standard ten may be created for specific languages and associated with new subcategories as needed. Define a topic code, a topic name corresponding to the variable part of the subcategory name, and add it to the template #switch statement.

This is a more advanced type of operation which requires some basic knowledge of template writing, so it may be easier to do this by adding an Edit request on the Talk page of the template concerned. In the Edit request, specify the topic code and subcategory name you wish to add. For example, you could say, "Please add new topic code mtn to {{Expand Nepali}} which should categorize articles containing {{Expand Nepali|topic=mtn}} into subcategory 'Mountain articles needing translation from Nepali Wikipedia' using the topic code mtn." You can create the subcategory yourself, following the instructions above.