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 the
{{
Expand French
}}
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
Template:Expand French
(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 ("French", in this case) (e.g.,
Biography articles needing translation from French Wikipedia
(click the topic name in col. 2 of the
table
for an example; e.g.,
Category:Biography articles needing translation from French Wikipedia
)
- create the Category page for French using that name, and categorize it under
Category:Articles needing translation from French Wikipedia
- Adjust the
#switch
statement
in
Template:Expand French
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 French|topic=
topic code
|date=May 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 ?
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.,
bio
?
Biography
, and so forth).
Creating a new subcategory
- choose a
topic code
from the
topic code table
and determine the
topic name
from column 2 of the table (e.g.,
bio
? Biography)
- 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
- create the category, e.g.,
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=May 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
.
To add the new code to the topic table in the doc page, create a /topics subpage, e.g.,
Template:Expand French/topics
in which the row for the topics table is defined. If the file exists, it is transcluded at the end of the table. For an example, see
|topic=commune
in the
{{
Expand French
}}
template.
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
.
|