मोड्युल:headword/doc
This is the documentation page for मोड्युल:headword
This module is used to show headword lines, along with any annotations like genders, transliterations and inflections. It's used by the template {{head}}
, via the submodule Module:headword/templates.
format_headword
सम्पादन गर्नुहोस्format_headword(heads, lang, sc)
Formats a headword, using the format appropriate for the given language object and script (see Module:script utilities#tag_text
).
The heads
parameter can either be a single string or a table of strings. If it's a table, then each string in the table is shown as a headword, separated by "or". This allows you to show multiple alternative headwords, such as when the same written form can be accented in different ways.
It has special behaviour in certain cases as well:
- If an item in the
heads
parameter contains wikilinks, they are converted into language-section links for the given language (usingModule:links#language_link
, which is also used by{{l}}
). For example, giving"[[give]] [[up]]"
if the language provided is English will produce:[[give#English|give]] [[up#English|up]]
. If string is prefixed with * or if any of the links are, then they are interpreted as reconstructed terms and it will create links to the appendix namespace as appropriate. - If
heads
is empty (nil
or the empty table), it will default tomw.title.getCurrentTitle().subpageText
(equivalent to{{SUBPAGENAME}}
in templates).- If the page name contains spaces, it is split and each individual word is automatically wikilinked as above.
- If the current page is in the appendix namespace, and the language's type (in Module:languages) is not
appendix-constructed
, then a * will be prepended to the headword to indicate that it is a reconstructed term.
format_transliteration
सम्पादन गर्नुहोस्format_transliteration(tr, lang)
If the transliteration is specified and non-empty, adds some stuff before and after it. For example, if the transliteration is 'foo' and the language is Hebrew, produces
[[Wiktionary:Hebrew transliteration|•]] (<span lang="">foo</span>)
which looks like “• (foo)”.
(Note: the bullet/link is only added if the linked-to page actually exists.)
format_genders
सम्पादन गर्नुहोस्format_genders(genders, lang)
Format gender specifications using Module:gender and number. This function currently has fairly limited capabilities, but more may be added later.
format_inflections
सम्पादन गर्नुहोस्format_inflections(inflections, lang, sc)
Format a list (table) of inflections, which are then concatenated together with commas and surrounded by parentheses. For example:
format_inflections({"first", "second", "third"}, "en", "Latn")
gives:
(first, second, third)
displays as: (first, second, third)
If an element of the table is itself a table, then it is taken to consist of a list of labelled inflections:
- The table must have a
.label
value which contains the label. It is displayed in italics and not linked. - The table may optionally have a
.accel
value. This value is used to support accelerated entry creation using WT:ACCEL. The "form-of" and "lang-(code)" classes are added automatically, so only the "(form)-form-of" class needs to be given, along with any other classes that may be needed. - The table may optionally have a
.nolink
value. If true, this will tell the function not to link to the terms, but only display them. - Numbered values in the table are the actual forms. They are formatted in bold text and converted to a link to the term. If a term already contains a link, it is converted into a section link using
Module:links#language_link
, just like informat_headword
. - Forms are optional. If the table contains only the
.label
, then just the label is shown with no forms. If there is more than one form, they are shown with "or" between them.
For example:
format_inflections({
{label = "present", "krama"},
{label = "past", "kramade"},
{label = "past participle", "kramat"},
"sv", "Latn")
format_inflections({
{label = "plural", accel = "plural-form-of", "voorbeelden"},
"nl", "Latn")
gives:
(''present'' <b lang=\"sv\">[[krama#Swedish|krama]]</b>, ''past'' <b lang=\"sv\">[[kramade#Swedish|kramade]]</b>, ''past participle'' <b lang=\"sv\">[[kramat#Swedish|kramat]]</b>) (''plural'' <span class=\"form-of lang-nl plural-form-of\"><b lang=\"nl\">[[voorbeelden#Dutch|voorbeelden]]</b></span>)
displays as:
- (present krama, past kramade, past participle kramat)
- (plural voorbeelden)
It is also possible, but optional, to supply a table instead of a term. This table can contain the keys .term
(the actual term), .alt
(alternative display form), .sc
(script), .id
(sense id) and .genders
(list of genders). These are used the same way as for full_link
in Module:links, and are passed directly to it.
Example:
format_inflections({
{label = "diminutive", {term = "Hündchen", genders = {"n"}}},
"de", "Latn")
gives:
(''diminutive'' <b lang=\"de\">[[Hündchen#German|Hündchen]]</b> <span class=\"gender\"><abbr title="neuter gender">n</abbr></span>)
displays as:
- (diminutive Hündchen n)
Proposed/planned changes
सम्पादन गर्नुहोस्- Automatic transliteration for languages that support it. Note that the parameters of
format_transliteration
will need change for this to be implemented. - Checking for invalid genders, given a list genders that are valid for a particular language.