Wiktionary
siwiktionary
https://si.wiktionary.org/wiki/%E0%B7%80%E0%B7%92%E0%B6%9A%E0%B7%8A%E0%B7%82%E0%B6%B1%E0%B6%BB%E0%B7%92:%E0%B6%B8%E0%B7%94%E0%B6%BD%E0%B7%8A_%E0%B6%B4%E0%B7%92%E0%B6%A7%E0%B7%94%E0%B7%80
MediaWiki 1.47.0-wmf.2
case-sensitive
මාධ්යය
විශේෂ
සාකච්ඡාව
පරිශීලක
පරිශීලක සාකච්ඡාව
වික්ෂනරි
වික්ෂනරි සාකච්ඡාව
ගොනුව
ගොනුව සාකච්ඡාව
මාධ්යවිකි
මාධ්යවිකි සාකච්ඡාව
සැකිල්ල
සැකිලි සාකච්ඡාව
උදවු
උදවු සාකච්ඡාව
ප්රවර්ගය
ප්රවර්ග සාකච්ඡාව
TimedText
TimedText talk
Module
Module talk
Event
Event talk
ලිය
0
3248
234013
13283
2026-05-14T12:01:18Z
WrdSrchSi
3305
+ IPA|si + head|si|root + wikitable + මූලාශ්ර + ප්රවර්ගය
234013
wikitext
text/x-wiki
== සිංහල ==
=== නිරුක්තිය 1 ===
{{rfe|si}}
===උච්චාරණය===
* {{IPA|si|/ˈliyə/}}
# වැඩිහිටි [[ස්ත්රී]] මිනිස් [[වර්ගය]]
# [[පිරිමියා]] යන්නේ [[විරුද්ධ පදය]] වේ;
===සමාන පද===
* [[කාන්තාව]]
* [[කත]]
* [[ස්ත්රිය]]
=== නිරුක්තිය 2 ===
{{rfe|si}}
===ධාතු ප්රකෘතිය===
{{head|si|root}}
# {{lb|si|සකර්මක}} {{rfdef|si}}
# {{rfdef|si}}
# {{rfdef|si}}
====ආඛ්යාත ක්රියා පද====
{| class="wikitable"
|+
|-
! !!අන්ය පුරුෂ<br>ඒකවචන!!අන්ය පුරුෂ<br>බහුවචන!!උත්තම පුරුෂ<br>ඒකවචන!!උත්තම පුරුෂ<br>බහුවචන
|-
|අනතීත-සකර්මක||align="center"|[[ලියයි]]||align="center"|[[ලියති]]||align="center"|[[ලියමි]]||align="center"|[[ලියමු]]
|-
|අතීත-සකර්මක||||||||
|-
|අනතීත-කර්ම කාරක||||||||
|-
|අතීත-කර්ම කාරක||||||||
|-
|}
=== මූලාශ්ර ===
<references/>
* "[https://tipitaka.lk/library/955 ලිය (ධා)]", වැලිවිටියේ සෝරත හිමි, '''''ශ්රී සුමංගල සිංහල ශබ්දකෝෂය 2 ප-ළ 1956''''', — පිටුව 871
[[ප්රවර්ගය:සිංහල ධාතු ප්රකෘති]]
br78yxvfnhz982d2zv1jqje9g8ig9yz
234014
234013
2026-05-14T12:13:27Z
WrdSrchSi
3305
+ head|si|root (නාම ප්රකෘතිය) + wikitable + මූලාශ්ර + ප්රවර්ගය
234014
wikitext
text/x-wiki
== සිංහල ==
=== නිරුක්තිය 1 ===
{{rfe|si}}
===උච්චාරණය===
* {{IPA|si|/ˈliyə/}}
===නාම ප්රකෘතිය===
{{head|si|root}}
# {{lb|si|ප්රාණවාචී|ස්ත්රී ලිංග}} {{rfdef|si}}
===== වරනැඟීම =====
{| class="wikitable"
|+
|-
!!!ප්රාණවාචී<br>ස්ත්රී ලිංග<br>ඒකවචන!!ප්රාණවාචී<br>ස්ත්රී ලිංග<br>බහුවචන!!ප්රාණවාචී<br>ස්ත්රී ලිංග<br>අනියමාර්ථ
|-
| පෙර ||align="center"|[[ලිය#නාම පදය|ලිය]]||align="center"|[[ලියෝ#නාම පදය|ලියෝ]]||
|-
| කම්, කතු||||align="center"|[[ලියන්#නාම පදය|ලියන්]]||
|-
| කරණ, අවදි ||||||
|-
| සපදන් ||||align="center"|[[ලියනට#නාම පදය|ලියනට]]||
|-
| සබඳ, අදර ||||||
|-
| අලප් ||||align="center"|[[ලියනි#නාම පදය|ලියනි]]||
|}
=== මූලාශ්ර ===
<references/>
* "[https://tipitaka.lk/library/969 77. ලිය]" කුමාරණතුංග මුනිදාස, '''''ව්යාකරණ විවරණය''''', — 132 පිටුව
===නාම පදය===
{{head|si|noun form}}
# වැඩිහිටි [[ස්ත්රී]] මිනිස් [[වර්ගය]]
# [[පිරිමියා]] යන්නේ [[විරුද්ධ පදය]] වේ;
====සමාන පද====
* [[කාන්තාව]]
* [[කත]]
* [[ස්ත්රිය]]
=== නිරුක්තිය 2 ===
{{rfe|si}}
===ධාතු ප්රකෘතිය===
{{head|si|root}}
# {{lb|si|සකර්මක}} {{rfdef|si}}
# {{rfdef|si}}
# {{rfdef|si}}
====ආඛ්යාත ක්රියා පද====
{| class="wikitable"
|+
|-
! !!අන්ය පුරුෂ<br>ඒකවචන!!අන්ය පුරුෂ<br>බහුවචන!!උත්තම පුරුෂ<br>ඒකවචන!!උත්තම පුරුෂ<br>බහුවචන
|-
|අනතීත-සකර්මක||align="center"|[[ලියයි]]||align="center"|[[ලියති]]||align="center"|[[ලියමි]]||align="center"|[[ලියමු]]
|-
|අතීත-සකර්මක||||||||
|-
|අනතීත-කර්ම කාරක||||||||
|-
|අතීත-කර්ම කාරක||||||||
|-
|}
=== මූලාශ්ර ===
<references/>
* "[https://tipitaka.lk/library/955 ලිය (ධා)]", වැලිවිටියේ සෝරත හිමි, '''''ශ්රී සුමංගල සිංහල ශබ්දකෝෂය 2 ප-ළ 1956''''', — පිටුව 871
[[ප්රවර්ගය:සිංහල නාම ප්රකෘති]] [[ප්රවර්ගය:සිංහල ධාතු ප්රකෘති]]
hf6a3dj7veyq58q7wssvivg89drufpc
234015
234014
2026-05-14T12:29:58Z
WrdSrchSi
3305
/*උච්චාරණය*/ Fixed.
234015
wikitext
text/x-wiki
== සිංහල ==
=== නිරුක්තිය 1 ===
{{rfe|si}}
===උච්චාරණය===
* {{IPA|si|/ˈlijə/}}
===නාම ප්රකෘතිය===
{{head|si|root}}
# {{lb|si|ප්රාණවාචී|ස්ත්රී ලිංග}} {{rfdef|si}}
===== වරනැඟීම =====
{| class="wikitable"
|+
|-
!!!ප්රාණවාචී<br>ස්ත්රී ලිංග<br>ඒකවචන!!ප්රාණවාචී<br>ස්ත්රී ලිංග<br>බහුවචන!!ප්රාණවාචී<br>ස්ත්රී ලිංග<br>අනියමාර්ථ
|-
| පෙර ||align="center"|[[ලිය#නාම පදය|ලිය]]||align="center"|[[ලියෝ#නාම පදය|ලියෝ]]||
|-
| කම්, කතු||||align="center"|[[ලියන්#නාම පදය|ලියන්]]||
|-
| කරණ, අවදි ||||||
|-
| සපදන් ||||align="center"|[[ලියනට#නාම පදය|ලියනට]]||
|-
| සබඳ, අදර ||||||
|-
| අලප් ||||align="center"|[[ලියනි#නාම පදය|ලියනි]]||
|}
=== මූලාශ්ර ===
<references/>
* "[https://tipitaka.lk/library/969 77. ලිය]" කුමාරණතුංග මුනිදාස, '''''ව්යාකරණ විවරණය''''', — 132 පිටුව
===නාම පදය===
{{si-noun|ලියෝ}}
# වැඩිහිටි [[ස්ත්රී]] මිනිස් [[වර්ගය]]
# [[පිරිමියා]] යන්නේ [[විරුද්ධ පදය]] වේ;
====සමාන පද====
* [[කාන්තාව]]
* [[කත]]
* [[ස්ත්රිය]]
=== නිරුක්තිය 2 ===
{{rfe|si}}
===ධාතු ප්රකෘතිය===
{{head|si|root}}
# {{lb|si|සකර්මක}} {{rfdef|si}}
# {{rfdef|si}}
# {{rfdef|si}}
====ආඛ්යාත ක්රියා පද====
{| class="wikitable"
|+
|-
! !!අන්ය පුරුෂ<br>ඒකවචන!!අන්ය පුරුෂ<br>බහුවචන!!උත්තම පුරුෂ<br>ඒකවචන!!උත්තම පුරුෂ<br>බහුවචන
|-
|අනතීත-සකර්මක||align="center"|[[ලියයි]]||align="center"|[[ලියති]]||align="center"|[[ලියමි]]||align="center"|[[ලියමු]]
|-
|අතීත-සකර්මක||||||||
|-
|අනතීත-කර්ම කාරක||||||||
|-
|අතීත-කර්ම කාරක||||||||
|-
|}
=== මූලාශ්ර ===
<references/>
* "[https://tipitaka.lk/library/955 ලිය (ධා)]", වැලිවිටියේ සෝරත හිමි, '''''ශ්රී සුමංගල සිංහල ශබ්දකෝෂය 2 ප-ළ 1956''''', — පිටුව 871
[[ප්රවර්ගය:සිංහල නාම ප්රකෘති]] [[ප්රවර්ගය:සිංහල ධාතු ප්රකෘති]]
rugn9cwh0wqj6ktmtrvbcknzuanidsh
Module:category tree/entry maintenance
828
6010
234097
233719
2026-05-15T09:38:32Z
Lee
19
[[:ප්රවර්ගය:යෙදුම්, Dutch Low Saxon පරිවර්තන සහිත]] සඳහා සහාය
234097
Scribunto
text/plain
local m_sinhala = require("Module:sinhala")
local labels = {}
local raw_categories = {}
local raw_handlers = {}
local functions_module = "Module:fun"
local languages_module = "Module:languages"
local scripts_module = "Module:scripts"
local string_pattern_escape_module = "Module:string/patternEscape"
local string_replacement_escape_module = "Module:string/replacementEscape"
local table_module = "Module:table"
local extend = require(table_module).extend
local is_callable = require(functions_module).is_callable
local pattern_escape = require(string_pattern_escape_module)
local replacement_escape = require(string_replacement_escape_module)
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
-----------------------------------------------------------------------------
-- --
-- LABELS --
-- --
-----------------------------------------------------------------------------
labels["ප්රවේශ නඩත්තුව"] = {
description = "{{{langname}}} entries, or entries in other languages containing {{{langname}}} terms, that are being tracked for attention and improvement by editors.",
parents = {{name = "{{{langcat}}}", raw = true}},
umbrella_parents = "මූලධර්ම",
}
labels["ප්රවේශ, දෝෂ සහගත භාෂා ශීර්ෂක සහිත"] = {
description = "{{{langname}}} ප්රවේශ, වැරදි භාෂා ශීර්ෂක යටතේ දක්වා ඇති.",
additional = "හේතු කිහිපයක් නිසා මෙය සිදුවිය හැකිය:\n" ..
"* අක්ෂර වින්යාසය දෝෂ (Typos).\n" ..
"* විනාශ කිරීම් (Vandalism).\n" ..
"* වැරදි භාෂා කේතය භාවිතා කිරීම.\n" ..
"* භාෂාව සඳහා වන විකල්ප නාමයක් භාවිතා කිරීම.\n" ..
"* භාෂා දත්ත මොඩියුල තුළ භාෂා නාම සඳහා දක්වා නොමැති විශේෂ අනුකල්ෂණ භාවිතා කිරීම.",
parents = {"ප්රවේශ නඩත්තුව"},
can_be_empty = true,
hidden = true,
}
labels["entries without References header"] = {
description = "{{{langname}}} entries without a References header.",
parents = {"ප්රවේශ නඩත්තුව"},
can_be_empty = true,
hidden = true,
}
labels["entries without References or Further reading header"] = {
description = "{{{langname}}} entries without a References or Further reading header.",
parents = {"ප්රවේශ නඩත්තුව"},
can_be_empty = true,
hidden = true,
}
labels["entries that don't exist"] = {
description = "{{{langname}}} terms that do not meet the [[Wiktionary:Criteria for inclusion|criteria for inclusion]] (CFI). They are added to the category with the template {{tl|no entry|{{{langcode}}}}}.",
parents = {"ප්රවේශ නඩත්තුව"},
umbrella_parents = "මූලධර්ම",
}
labels["entries with etymology trees"] = {
description = "{{{langname}}} entries that display an etymology tree generated by the template {{tl|etymon}}.",
parents = {"ප්රවේශ නඩත්තුව"},
can_be_empty = true,
hidden = true,
}
labels["entries with etymology texts"] = {
description = "{{{langname}}} entries that display an etymology generated by the template {{tl|etymon}}.",
parents = {"ප්රවේශ නඩත්තුව"},
can_be_empty = true,
hidden = true,
}
labels["entries referencing missing etymons"] = {
description = "Entries which use the {{tl|etymon}} template to reference an etymon that cannot be found, either because the target page does not exist (redlink) or because it has no {{tl|etymon}} template.",
parents = {"ප්රවේශ නඩත්තුව"},
can_be_empty = true,
hidden = true,
}
labels["entries referencing ambiguous etymons"] = {
description = "Entries which use the {{tl|etymon}} template to reference an etymon without the ID, when the target page contains multiple {{tl|etymon}} templates, and an ID is therefore required to select the correct {{tl|etymon}}.",
parents = {"ප්රවේශ නඩත්තුව"},
can_be_empty = true,
hidden = true,
}
labels["entries referencing etymons with mismatched IDs"] = {
description = "Entries which use the {{tl|etymon}} template with a mismatched ID. For example, {{code|lang:entry<id:mismatched ID>}}",
parents = {"ප්රවේශ නඩත්තුව"},
can_be_empty = true,
hidden = true,
}
labels["entries referencing etymons without Descendants sections"] = {
description = "Entries which use the {{tl|etymon}} template to reference an etymon whose source entry has no Descendants section.",
parents = {"ප්රවේශ නඩත්තුව"},
can_be_empty = true,
hidden = true,
}
labels["entries referencing etymons without this term in Descendants sections"] = {
description = "Entries which use the {{tl|etymon}} template to reference an etymon whose source entry has a Descendants section, but does not list the current term there.",
parents = {"ප්රවේශ නඩත්තුව"},
can_be_empty = true,
hidden = true,
}
labels["ප්රවේශ, ඍජු එක් කිරීම මගින් භාෂා නාම ප්රවර්ග දක්වා ඇති"] = {
description = "{{{langname}}} entries that have been placed in a language name category using raw wiki markup (i.e. {{code|[[<nowiki/>Category:{{{langname}}} ...]]}}). They should be added using {{tl|cln|{{{langcode}}}|...}} instead.",
parents = {"ප්රවේශ නඩත්තුව"},
can_be_empty = true,
hidden = true,
}
labels["ප්රවේශ, ඍජු එක් කිරීම මගින් මාතෘකා ප්රවර්ග දක්වා ඇති"] = {
description = "{{{langname}}} entries that have been placed in a topic category using raw wiki markup (i.e. {{code|[[<nowiki/>Category:{{{langcode}}}:...]]}}). They should be added using {{tl|C|{{{langcode}}}|...}} instead.",
parents = {"ප්රවේශ නඩත්තුව"},
can_be_empty = true,
hidden = true,
}
labels["entries with outdated source"] = {
description = "{{{langname}}} entries that have been partly or fully imported from an outdated source.",
parents = {"ප්රවේශ නඩත්තුව"},
}
labels["entries with inflection not matching pagename"] = {
description = "{{{langname}}} entries which have an inflection table whose lemma form does not match the page name.",
additional = "This is usually the result of incorrect or missing parameters.",
breadcrumb_and_first_sort_key = "inflection not matching pagename",
parents = {"ප්රවේශ නඩත්තුව"},
hidden = true,
can_be_empty = true,
}
labels["undefined derivations"] = {
description = "{{{langname}}} etymologies using {{tl|undefined derivation}}, where a more specific template such as {{tl|borrowed}} or {{tl|inherited}} should be used instead.",
parents = {"ප්රවේශ නඩත්තුව"},
can_be_empty = true,
hidden = true,
}
labels["descendants to be fixed in desctree"] = {
description = "Entries that use {{tl|desctree}} to link to {{{langname}}} entries with no Descendants section.",
parents = {"ප්රවේශ නඩත්තුව"},
can_be_empty = true,
hidden = true,
}
labels["term requests"] = {
description = "Entries with [[Template:der]], [[Template:inh]], [[Template:m]] and similar templates lacking the parameter for linking to {{{langname}}} terms.",
parents = {"ප්රවේශ නඩත්තුව"},
can_be_empty = true,
hidden = true,
}
labels["රතු සබැඳි"] = {
description = "Links to {{{langname}}} entries that have not been created yet.",
parents = {"ප්රවේශ නඩත්තුව"},
catfix = false,
can_be_empty = true,
hidden = true,
}
labels["යෙදුම්, ස්වරශාස්ත්ර හෝඩි උච්චාරණ සහිත"] = {
description = "{{{langname}}} යෙදුම්, ජාත්යන්තර ස්වරශාස්ත්ර හෝඩිය (IPA) භාවිතා කොට උච්චාරණය දක්වා ඇති.",
additional = "මෙම ප්රවර්ගය හා සබැඳි ඉල්ලීම් සඳහා, [[:Category:Requests for pronunciation in {{{langname}}} entries]] වෙත යොමු වන්න.",
parents = {"ප්රවේශ නඩත්තුව"},
}
labels["terms with enPR pronunciation"] = {
description = "{{{langname}}} terms that include the pronunciation in the form of enPR.",
additional = "For requests related to this category, see [[:Category:Requests for pronunciation in {{{langname}}} entries]].",
parents = {"ප්රවේශ නඩත්තුව"},
}
labels["terms with Indic pronunciation"] = {
description = "{{langname}} terms that include the pronunciation in the form of ISO 15919.",
additional = "For requests related to this category, see [[:Category:Requests for pronunciation in {{{langname}}} entries]].",
parents = {"ප්රවේශ නඩත්තුව"},
}
labels["IPA pronunciations with invalid separators"] = {
description = "{{{langname}}} terms with IPA using invalid separators such as /.ˈ/, /.ˌ/, a dot followed by primary or secondary stress; or /ˈ / or /ˌ /, primary or secondary stress followed by a space.",
parents = {"ප්රවේශ නඩත්තුව"},
can_be_empty = true,
hidden = true,
}
labels["terms with hyphenation"] = {
description = "{{{langname}}} terms that include hyphenation.",
parents = {"ප්රවේශ නඩත්තුව"},
}
labels["යෙදුම්, ඕඩියෝ උච්චාරණ සහිත"] = {
description = "{{{langname}}} යෙදුම්, ඕඩියෝ ගොනුවක් භාවිතයෙන් උච්චාරණය දක්වා ඇති.",
additional = "For requests related to this category, see [[:Category:Requests for audio pronunciation in {{{langname}}} entries]].",
parents = {"ප්රවේශ නඩත්තුව"},
}
labels["terms with nonstandard or incorrect audio pronunciations"] = {
description = "{{{langname}}} terms which have been tagged as having pronunciations which are nonstandard or incorrect.",
parents = {"යෙදුම්, ඕඩියෝ උච්චාරණ සහිත"},
can_be_empty = true,
hidden = true,
}
labels["entries missing Template:reconstructed"] = {
description = "Reconstructed {{{langname}}} entries which do not have the {{tl|reconstructed}} template.",
parents = {"ප්රවේශ නඩත්තුව"},
can_be_empty = true,
hidden = true,
}
local function add_manual_param_category(label, desc, addl_intro, include_addl_continuation)
labels[label] = {
description = desc or "Pages containing {{{langname}}} " .. label .. ".",
additional = addl_intro .. (not include_addl_continuation and "" or "\n\n" ..
"Note that the pages in this category are not necessarily the same as the actual term in question. This " ..
"frequently happens, for example, with English pages with translation sections, where the term that " ..
"triggers the addition of the category is one of the translations."),
parents = {"ප්රවේශ නඩත්තුව"},
-- Set catfix = false because the page will have a mixture of native-language and
-- non-native-language pages, but include the normal native-language table of contents headers
-- because most pages are in the native language.
catfix = false,
toc_template = "{{{langcode}}}-categoryTOC",
toc_template_full = "{{{langcode}}}-categoryTOC/full",
can_be_empty = true,
hidden = true,
}
end
add_manual_param_category("terms in nonstandard scripts", nil,
"Pages are placed here if they contain terms written in a script that isn't in the language's " ..
"list of scripts in the language data. This may mean the script should be added to the list, or that the wrong language code has been used.",
true)
add_manual_param_category("terms with non-redundant manual transliterations", nil,
"Pages are placed here if they contain terms whose transliteration has been specified manually using " ..
"{{para|tr}} or a similar parameter and is different from the transliteration which is automatically generated.",
true)
add_manual_param_category("terms with redundant transliterations", nil,
"Pages are placed here if they contain terms whose transliteration has been specified manually using " ..
"{{para|tr}} or a similar parameter and is the same as the transliteration which is automatically generated.",
true)
add_manual_param_category("terms with non-redundant manual script codes", nil,
"Pages are placed here if they contain terms whose script code has been specified manually using " ..
"{{para|sc}} or a similar parameter and is different from the script code which is automatically generated.",
true)
add_manual_param_category("terms with redundant script codes", nil,
"Pages are placed here if they contain terms whose script code has been specified manually using " ..
"{{para|sc}} or a similar parameter and is the same as the script code which is automatically generated.",
true)
add_manual_param_category("යෙදුම්, non-redundant non-automated සෝට්කී සහිත",
"{{{langname}}} terms with non-redundant non-automated sortkeys.",
"Terms are placed here if they have been sorted using a sortkey other than the one which is automatically " ..
"generated. This can happen for two reasons:\n# A different sortkey has been specified using the {{para|sort}} " ..
"parameter.\n# One or more categories have been added using raw wikitext, which means the page's default " ..
"sortkey is used for that category. If that default sortkey is different from the automatic sortkey, then the " ..
"page will also be added here.")
add_manual_param_category("යෙදුම්, අනු පිටපත් කළ සෝට්කී සහිත",
"{{{langname}}} terms with redundant sortkeys.",
"Terms are placed here if their sortkey has been specified using the {{para|sort}} parameter, and it the same " ..
"as the one which is automatically generated.")
add_manual_param_category("links with redundant target parameters",
"Pages containing {{{langname}}} links where the alt text could replace the link target, instead of being given " ..
"separately.",
"This occurs when the only difference between the link target and the alt text is that the alt text contains " ..
"diacritics (or other characters) which would have been ignored anyway had they been included in the link " ..
"target. For example, {{tl|l|la|amo|amō}} ({{l|la|amo|amō}}) is exactly the same as {{tl|l|la|amō}} " ..
"({{l|la|amō}}), because macrons are automatically stripped from Latin link targets, even though they're still " ..
"displayed.")
add_manual_param_category("links with ignored alt parameters",
"Pages containing {{{langname}}} links where the {{para|alt}} parameter has been ignored.",
"This occurs when the main linked text includes a wikilink.")
add_manual_param_category("links with redundant alt parameters",
"Pages containing {{{langname}}} links where the {{para|alt}} parameter is redundant.",
"This occurs when the alt text makes no difference to the output. For example, {{tl|l|en|foo|foo}} " ..
"({{l|en|foo|foo}}) is exactly the same as {{tl|l|en|foo}} ({{l|en|foo}}).")
add_manual_param_category("links with ignored id parameters",
"Pages containing {{{langname}}} links where the {{para|id}} parameter has been ignored.",
"This occurs when the main linked text includes a wikilink.")
add_manual_param_category("සබැඳි, අනු පිටපත් කළ විකි සබැඳි සහිත",
"Pages containing {{{langname}}} links which contain a redundant wikilink.",
"This occurs if link target consists of a single wikilink, which should instead be entered in the " ..
"conventional manner without link brackets. For example, {{tl|l|en|<nowiki>[[foo]]</nowiki>}} " ..
"is the same as {{tl|l|en|foo}}, and {{tl|l|en|<nowiki>[[foo|bar]]</nowiki>}} is the same as " ..
"{{tl|l|en|foo|bar}}.\n\nThis also occurs when link templates are nested inside each other " ..
"unnecessarily: e.g. {{tl|l|en|{{tl|l|en|foo}}}}")
add_manual_param_category("links with manual fragments",
"Pages containing {{{langname}}} links where a manual link fragment has been given.",
"This occurs when the link fragment has been specified using {{code|#}} after the term, " ..
"which overrides the normal fragment generated by link templates that points to the relevant " ..
"language section.\n\nLink fragments are used to point to a specific section on a target page, and " ..
"it is preferable to use the {{para|id}} parameter to do this, since it is less likely to break if " ..
"additional content is added to the target page: for example, the fragment {{code|#Adjective}} " ..
"will start pointing to the wrong section if another language with an adjective section is added above " ..
"the intended language.")
labels["descendant hubs"] = {
description = "{{{langname}}} terms that do not mean more than the sum of their parts but exist for listing two or more inclusion-worthy descendants.",
parents = {"ප්රවේශ නඩත්තුව"},
}
labels["terms needing to be assigned to a sense"] = {
description = "{{{langname}}} entries that have terms under headers such as \"Synonyms\" or \"Antonyms\" not assigned to a specific sense of the entry in which they appear. Use [[Template:syn]] or [[Template:ant]] to fix these.",
parents = {"ප්රවේශ නඩත්තුව"},
can_be_empty = true,
hidden = true,
}
--[=[
labels["terms with inflection tables"] = {
description = "{{{langname}}} entries that contain inflection tables.".
additional = "For requests related to this category," see [[:Category:Requests for inflections in {{{langname}}} entries]].",
parents = {"ප්රවේශ නඩත්තුව"},
}
]=]
labels["terms with collocations"] = {
description = "{{{langname}}} entries that contain [[collocation]]s that were added using templates such as {{tl|co}}.",
additional = "For requests related to this category, see [[:Category:Requests for collocations in {{{langname}}}]]. See also [[:Category:Requests for quotations in {{{langname}}}]] and [[:Category:Requests for example sentences in {{{langname}}}]].",
parents = {"ප්රවේශ නඩත්තුව"},
}
labels["යෙදුම්, භාවිත නිදර්ශන සහිත"] = {
description = "{{{langname}}} entries that contain usage examples that were added using templates such as {{tl|ux}}.",
additional = "For requests related to this category, see [[:Category:Requests for example sentences in {{{langname}}}]]. See also [[:Category:Requests for collocations in {{{langname}}}]] and [[:Category:Requests for quotations in {{{langname}}}]].",
parents = {"ප්රවේශ නඩත්තුව"},
}
labels["යෙදුම්, උපුටා දැක්වීම් සහිත"] = {
description = "{{{langname}}} entries that contain quotes that were added using templates such as {{tl|quote}}, {{tl|quote-book}}, {{tl|quote-journal}}, etc.",
additional = "For requests related to this category, see [[:Category:Requests for quotations in {{{langname}}}]]. See also [[:Category:Requests for example sentences in {{{langname}}}]].",
parents = {"ප්රවේශ නඩත්තුව"},
}
labels["terms with interlinear glossed text"] = {
description = "{{{langname}}} entries that contain interlinear glossed text added using {{tl|interlinear}}.",
parents = {"ප්රවේශ නඩත්තුව"},
}
labels["පද, අනු පිටපත් කළ යොමු පරාමිති සහිත"] = {
description = "{{{langname}}} terms that contain a redundant head= parameter in their headword (called using {{tl|head}} or a language-specific equivalent).",
additional = "Individual languages can prevent terms from being added to this category by setting `data.no_redundant_head_cat`.",
parents = {"ප්රවේශ නඩත්තුව"},
can_be_empty = true,
hidden = true,
}
labels["පද, යොමු වචන පේළි තුළ රතු සබැඳි සහිත"] = {
description = "{{{langname}}} terms that contain red links (i.e. uncreated forms) in their headword lines.",
parents = {"රතු සබැඳි"},
can_be_empty = true,
hidden = true,
}
labels["terms with red links in their inflection tables"] = {
description = "{{{langname}}} terms that contain red links (i.e. uncreated forms) in their inflection tables.",
parents = {"රතු සබැඳි"},
can_be_empty = true,
hidden = true,
}
labels["requests for English equivalent term"] = {
description = "{{{langname}}} entries with definitions that have been tagged with {{tl|rfeq}}. Read the documentation of the template for more information.",
parents = {"ප්රවේශ නඩත්තුව"},
can_be_empty = true,
hidden = true,
}
for _, quot_type in ipairs { "quotations", "usage examples" } do
labels[quot_type .. " with omitted translation"] = {
description = "{{{langname}}} " .. quot_type .. " where a translation would normally be required but the translation has explicitly been omitted by specifying {{code|-}}. The translation should be supplied instead.",
parents = {"ප්රවේශ නඩත්තුව"},
can_be_empty = true,
hidden = true,
}
end
for _, pos in ipairs({"nouns", "proper nouns", "verbs", "adjectives", "adverbs", "participles", "determiners", "pronouns", "numerals", "suffixes", "contractions"}) do
labels[m_sinhala.sinhala(pos) .. ", යොමු වචන පේළි තුළ රතු සබැඳි සහිත"] = {
description = "{{{langname}}} " .. pos .. " that contain red links (i.e. uncreated forms) in their headword lines.",
parents = {"පද, යොමු වචන පේළි තුළ රතු සබැඳි සහිත"},
breadcrumb = pos,
can_be_empty = true,
hidden = true,
}
labels[pos .. " with red links in their inflection tables"] = {
description = "{{{langname}}} " .. pos .. " that contain red links (i.e. uncreated forms) in their inflection tables.",
parents = {"terms with red links in their inflection tables"},
breadcrumb = pos,
can_be_empty = true,
hidden = true,
}
end
for _, pos in ipairs { "nouns", "proper nouns", "pronouns" } do
local label = pos .. " with unknown or uncertain plurals"
labels[label] = {
description = "{{{langname}}} " .. label .. ".",
additional = "Terms are usually added to this category by specifying {{code|?}} as the plural. As much " ..
"is possible, a plural should be added or, if the noun is uncountable, indicated appropriately (usually " ..
"using {{code|-}} in place of the plural). Some languages support the value {{code|!}} to indicate " ..
"that a plural cannot be attested but the noun is theoretically countable.",
breadcrumb = "with unknown or uncertain plurals",
parents = {
{name = pos, sort = "unknown or uncertain plurals"},
"ප්රවේශ නඩත්තුව",
},
}
end
-- Add 'umbrella_parents' key if not already present.
for _, data in pairs(labels) do
if not data.umbrella_parents then
data.umbrella_parents = "භාෂාව අනුව ප්රවේශ නඩත්තු උපප්රවර්ග"
end
end
-----------------------------------------------------------------------------
-- --
-- RAW CATEGORIES --
-- --
-----------------------------------------------------------------------------
raw_categories["භාෂාව අනුව ප්රවේශ නඩත්තු උපප්රවර්ග"] = {
description = "Umbrella categories covering topics related to entry maintenance.",
additional = "{{{umbrella_meta_msg}}}",
parents = {
"ඡත්ර මෙටා ප්රවර්ග",
{name = "ප්රවේශ නඩත්තුව", is_label = true, sort = " "},
},
}
raw_categories["ඉල්ලීම්"] = {
topright = "{{shortcut|WT:CR|WT:RQ}}",
description = "A parent category for the various request categories.",
parents = {"ප්රවර්ගය:වික්ෂනරිය"},
}
raw_categories["Requests by language"] = {
description = "Categories with requests in various specific languages.",
additional = "{{{umbrella_msg}}}",
parents = {
{name = "Request subcategories by language", sort = " "},
{name = "ඉල්ලීම්", sort = " "},
},
breadcrumb = "By language",
}
raw_categories["Request subcategories by language"] = {
description = "Umbrella categories covering topics related to requests.",
additional = "{{{umbrella_meta_msg}}}",
parents = {
"ඡත්ර මෙටා ප්රවර්ග",
{name = "ඉල්ලීම්", sort = " "},
},
}
raw_categories["Requests for quotations by source"] = {
description = "Categories with requests for quotation, broken out by the source of the quotation.",
additional = "Some abbreviated names of sources are explained at [[Wiktionary:Abbreviated Authorities in Webster]].",
parents = {{name = "Requests for quotations", sort = "source"}},
breadcrumb = "By source",
}
raw_categories["Requests for quotations"] = {
-- FIXME
description = "Words are added to this category by the inclusion in their entries of {{tl|rfv-quote}}.",
parents = {{name = "ඉල්ලීම්", sort = "quotations"}},
breadcrumb = "Quotations",
}
raw_categories["Requests for date"] = {
description = "Requests for a date to be added to a quotation.",
additional = "To add an article to this category, use {{tl|rfdate}} or {{tl|rfdatek}} to include the author. " ..
"Please remove the template from the article once the date has been provided.",
parents = {{name = "ඉල්ලීම්", sort = "date"}},
breadcrumb = "Date",
}
raw_categories["Requests for translations in user-competency categories by number of users"] = {
description = "Requests for translations to be added to user-competency categories, sorted by number of users with that competency.",
parents = {{name = "ඉල්ලීම්", sort = "translations in user-competency categories by number of users"}},
breadcrumb = "Translations in user-competency categories by number of users",
}
raw_categories["Requests for translations in user-competency categories by language"] = {
description = "Requests for translations to be added to user-competency categories, sorted by language.",
parents = {{name = "ඉල්ලීම්", sort = "translations in user-competency categories by language"}},
breadcrumb = "Translations in user-competency categories by language",
hidden = true,
}
raw_categories["භාෂාව අනුව යෙදුම්, පරිවර්තන සහිත"] = {
description = "Terms with translations, sorted by language.",
parents = {{name = "භාෂාව අනුව ප්රවේශ නඩත්තු උපප්රවර්ග", sort = "translations by language"}},
breadcrumb = "පරිවර්තන",
}
raw_categories["Entries using missing taxonomic names"] = {
description = "Entries that link to wikispecies because there is no corresponding Wiktionary entry for the taxonomic name in the template {{tl|taxlink}}.",
additional = "The missing name is one or more of those enclosed in {{tl|taxlink}}. The entries are sorted by the missing taxonomic name." ..
"\n\nSee [[:Category:mul:Taxonomic names]].",
parents = {{name = "ප්රවේශ නඩත්තුව", is_label = true, lang = "mul", sort = "missing taxonomic names"}},
breadcrumb = "Missing taxonomic names",
hidden = true,
}
-----------------------------------------------------------------------------
-- --
-- RAW HANDLERS --
-- --
-----------------------------------------------------------------------------
local function script_name_to_code(name)
local sc = require(scripts_module).getByCanonicalName(name)
if not sc then
error("Unrecognized script name '" .. name .. "'")
end
return sc:getCode()
end
--[=[
This array consists of category match specs. Each spec contains one or more properties, whose values are (a) strings
that may contain references to other properties using the {{{PROPERTY}}} syntax; (b) functions of one argument, an
`items` table of the same properties that are accessible using the {{{PROPERTY}} syntax. Each such spec should have at
least a `regex` property that matches the name of the category. Capturing groups in this regex can be referenced in
other properties using {{{1}}} for the first group, {{{2}}} for the second group, etc. (or using keys "1", "2", etc. in
functions). Property expansion happens recursively if needed (i.e. a property can reference another property, which in
turn references a third property).
If there is a `language_name` propery, it specifies the language name (and will typically be a reference to a capturing
group from the `regex` property); if not specified, it defaults to "{{{1}}}" unless the `nolang` property is set, in
which case there is no language name associated with the category name. The language name must be the canonical name of
a recognized full language, or an error is thrown; however, if the `allow_etym_lang` property is set, the language name
may also be the canonical name of an etymology-only language. Based on the language name, the `language_code` and
`language_object` properties are automatically filled in. If `language_name` is an etymology-only language, additional
properties `parent_language_name`, `parent_language_code` and `parent_language_object` are set for the parent full
language of the etymology-only language.
If the `regex` values of multiple category specs match, the first one takes precedence.
Recognized or predefined properties:
`pagename`: Current pagename.
`regex`: See above.
`1`, `2`, `3`, ...: See above.
`language_name`, `language_code`, `language_object`: See above.
`parent_language_name`, `parent_language_code`, `parent_language_object`: See above.
`nolang`: See above.
`allow_etym_lang`: Language names may be etymology-only languages. See above.
`description`: Override the description (normally taken directly from the pagename).
`template_name`: Name of template which generates this category.
`template_sample_call`: Syntax for calling the template. Defaults to "{{{template_name}}}|{{{language_code}}}". Used to
display an example template call and the output of this call.
`template_actual_sample_call`: Syntax for calling the template. Takes precedence over `template_sample_call` when
generating example template output (but not when displaying an example template call) and is intended for a template
call that uses the |nocat=1 parameter.
`template_example_output`: Override the text that displays example template output (see `template_sample_call`).
`additional_template_description`: Extra text to be displayed after the example template output.
`parents`: Parent categories. Should be a list of elements, each of which is an object containing at least a name= and
sort= field (same format as parents= for regular raw categories, except that the name= and sort= field will have
{{{PROPERTY}}} references expanded). If no parents are specified, and the pagename is of the form "Requests for FOO
by language", the parent will be "Request subcategories by language" with FOO as the sort key. Otherwise, the
`language_name` property must exist, and the parent will be "Requests concerning LANGNAME", with the pagename minus
any initial "Requests for " as the sort key. Note that this does *NOT* apply if an etymology-only language is
associated with the category, in which case `etym_parents` is used instead.
`etym_parents`: Parent categories for categories with associated etymology-only languages. The format is the same as
`parents`. If omitted, there are two parents by default: (1) The pagename (i.e. category name) with the language name
replaced by the corresponding parent language name, with the value of `language_name` as the sort key; (2) "Requests
concerning LANGNAME", with the pagename minus any initial "Requests for " as the sort key.
`umbrella`: Parent all-language category. Sort key is based on the language name. This applies *ONLY* if a full language
is associated with the category name (i.e. not if `nolang` is set or if `allow_etym_lang` is set and the associated
language is an etymology-only language); otherwise there will be no umbrella category.
`breadcrumb`: Specify the breadcrumb. If `parents` is given, there is no default (i.e. it will end up being the
pagename). Otherwise, if the pagename is of the form "Requests for FOO by language", the default breadcrumb will be
"FOO". Otherwise it is computed by removing the language name from the pagename and chopping out "Requests for" from
the beginning and "in entries" and "for terms" from the end. Note that this does *NOT* apply if an etymology-only
language is associated with the category, in which case `etym_breadcrumb` is used instead.
`etym_breadcrumb`: Specify the breadcrumb for categories with associated etymology-only languages. Defaults to the value
of `language_name`.
`not_hidden_category`: Don't hide the category.
`catfix`: Same as `catfix` in regular labels and raw categories, except that request-specific {{{PROPERTY}}} syntax is
expanded.
`toc_template`, `toc_template_full`: Same as the corresponding fields in regular labels and raw categories, except that
request-specific {{{PROPERTY}}} syntax is expanded.
In general, properties can contain references to templates (e.g. {{tl}} and {{para}}), which will be appropriately
expanded (this expansion happens in the poscatboiler code, not in this module). The major exception is in the
`template_sample_call` and `template_actual_sample_call` properties, which are surrounded by <pre>...</pre> when
inserted, so template references are not expanded. Triple-brace property references are still expanded in these
properties; but beware that if any of those property references contain template references, they won't be expanded.
(This actually happens in the handlers for 'Request for SCRIPT script for LANG terms'; the sample call references
{{{script_code}}}, whose definition therefore cannot contain template references. The solution is to define this
property using a function.)
]=]
local requests_categories = {
{
regex = "^Requests concerning (.+)$",
allow_etym_lang = true,
description = "Categories with {{{1}}} entries that need the attention of experienced editors.",
parents = {{name = "ප්රවේශ නඩත්තුව", is_label = true, sort = "requests"}},
etym_parents = {{name = "Requests concerning {{{parent_language_name}}}", sort = "{{{1}}}"},
{name = "{{{1}}}", sort = "ඉල්ලීම්"}},
umbrella = "Requests by language",
breadcrumb = "ඉල්ලීම්",
not_hidden_category = true,
},
{
regex = "^Requests for etymologies in (.+) entries$",
allow_etym_lang = true,
umbrella = "Requests for etymologies by language",
template_name = "rfe",
},
{
regex = "^Requests for expansion of etymologies in (.+) entries$",
umbrella = "Requests for expansion of etymologies by language",
template_name = "etystub",
},
{
regex = "^Requests for pronunciation in (.+) entries$",
umbrella = "Requests for pronunciation by language",
template_name = "rfp",
},
{
regex = "^Requests for audio pronunciation in (.+) entries$",
umbrella = "Requests for audio pronunciation by language",
template_name = "rfap",
},
{
regex = "^Requests for definitions in (.+) entries$",
umbrella = "Requests for definitions by language",
template_name = "rfdef",
},
{
regex = "^Requests for clarification of definitions in (.+) entries$",
umbrella = "Requests for clarification of definitions by language",
template_name = "rfclarify",
},
}
for _, spec_with_pos in ipairs {
{"inflections", "rfinfl"},
{"plural forms"},
{"tone", "rftone"},
{"accents"},
{"aspect", "rfaspect"},
{"animacy"},
{"gender", "rfgender"},
{"noun class"},
} do
local property, rftemplate = unpack(spec_with_pos)
table.insert(requests_categories,
{
-- This is for part-of-speech-specific categories such as
-- "Requests for inflections in Northern Ndebele noun entries" or
-- "Requests for accents in Ukrainian proper noun entries".
-- Here and below, we assume that the part of speech is begins with
-- a lowercase letter, while the preceding language name ends in a
-- capitalized word. Note that this entry comes before the
-- following one and takes precedence over it.
regex = ("^Requests for %s in (.-) ([a-z]+[a-z ]*) entries$"):format(property),
parents = {{name = ("Requests for %s in {{{language_name}}} entries"):format(property), sort = "{{{2}}}"}},
umbrella = ("Requests for %s of {{pluralize|{{{2}}}}} by language"):format(property),
breadcrumb = "{{{2}}}",
template_name = rftemplate,
template_sample_call = rftemplate and ("{{%s|{{{language_code}}}|{{{2}}}}}"):format(rftemplate) or nil,
}
)
table.insert(requests_categories,
{
regex = ("^Requests for %s in (.+) entries$"):format(property),
umbrella = ("Requests for %s by language"):format(property),
template_name = rftemplate,
}
)
table.insert(requests_categories,
{
regex = ("^Requests for %s of (.+) by language$"):format(property),
nolang = true,
}
)
end
extend(requests_categories, {
{
regex = "^Requests for example sentences in (.+)$",
umbrella = "Requests for example sentences by language",
template_name = "rfex",
},
{
regex = "^Requests for quotations in (.+)$",
umbrella = "Requests for quotations by language",
template_name = "rfquote",
},
{
regex = "^Requests for translations into (.+)$",
allow_etym_lang = true,
umbrella = "Requests for translations by language",
template_name = "t-needed",
catfix = "en",
},
{
regex = "^Requests for translations of (.+) usage examples$",
allow_etym_lang = true,
umbrella = "Requests for translations of usage examples by language",
template_name = "t-needed",
template_sample_call = "{{t-needed|{{{language_code}}}|usex}}",
template_actual_sample_call = "{{t-needed|{{{language_code}}}|usex|nocat=1}}",
additional_template_description = "The {{tl|ux}}, {{tl|uxi}}, {{tl|ja-usex}} and {{tl|zh-x}} templates automatically add the page to this category if the example is in a foreign language and the translation is missing."
},
{
regex = "^Requests for translations of (.+) quotations$",
allow_etym_lang = true,
umbrella = "Requests for translations of quotations by language",
template_name = "t-needed",
template_sample_call = "{{t-needed|{{{language_code}}}|quote}}",
template_actual_sample_call = "{{t-needed|{{{language_code}}}|quote|nocat=1}}",
additional_template_description = "The {{tl|quote}}, and {{tl|Q}} templates automatically add the page to this category if the example is in a foreign language and the translation is missing."
},
{
regex = "^Requests for review of (.+) translations$",
allow_etym_lang = true,
umbrella = "Requests for review of translations by language",
template_name = "t-check",
template_sample_call = "{{t-check|{{{language_code}}}|example}}",
template_example_output = "",
catfix = "en",
},
{
regex = "^Requests for transliteration of (.+) terms$",
umbrella = "Requests for transliteration by language",
template_name = "rftranslit",
additional_template_description = "The {{tl|head}} template, and the large number of language-specific variants of it, automatically add " ..
"the page to this category if the example is in a foreign language and no transliteration can be generated (particularly in languages without " ..
"automated transliteration, such as Hebrew and Persian).",
},
{
regex = "^Requests for transliteration of (.+) usage examples$",
umbrella = "Requests for transliteration of usage examples by language",
template_name = "rftranslit",
template_sample_call = "{{rftranslit|{{{language_code}}}}}",
template_actual_sample_call = "{{rftranslit|{{{language_code}}}|nocat=1}}",
catfix = false,
additional_template_description = "The {{tl|ux}} and {{tl|uxi}} templates automatically add the page to this category if the example " ..
"is in a foreign language and no transliteration can be generated (particularly in languages without automated transliteration, such as " ..
"Hebrew and Persian).",
},
{
regex = "^Requests for transliteration of (.+) quotations$",
umbrella = "Requests for transliteration of quotations by language",
catfix = false,
additional_template_description = "The {{tl|quote}} and {{code|<nowiki>{{quote-*}}</nowiki>}} templates automatically add the page to this category if the quotation " ..
"is in a foreign language and no transliteration can be generated (particularly in languages without automated transliteration, such as " ..
"Hebrew and Persian).",
},
{
regex = "^Requests for native script for (.+) terms$",
allow_etym_lang = true,
etym_parents = {
{name = "Requests for native script for {{{parent_language_name}}} terms", sort = "{{{1}}}"},
{name = "Requests concerning {{{language_name}}}", sort = "native script"},
},
umbrella = "Requests for native script by language",
template_name = "rfscript",
template_actual_sample_call = "{{rfscript|{{{language_code}}}|nocat=1}}",
catfix = false,
additional_template_description = "Many templates such as {{tl|l}}, {{tl|m}} and {{tl|t}} automatically place the page in this category when they are missing the term but have been provided with a transliteration."
},
{
regex = "^Requests for native script in (.+) usage examples$",
umbrella = "Requests for native script in usage examples by language",
template_name = "rfscript",
template_sample_call = "{{rfscript|{{{language_code}}}|usex=1}}",
template_actual_sample_call = "{{rfscript|{{{language_code}}}|usex=1|nocat=1}}",
catfix = false,
additional_template_description = "The {{tl|ux}} and {{tl|uxi}} templates automatically add the page to this category if the example itself is missing but the translation is supplied."
},
{
regex = "^Requests for native script in (.+) quotations$",
umbrella = "Requests for native script in quotations by language",
template_name = "rfscript",
template_sample_call = "{{rfscript|{{{language_code}}}|quote=1}}",
template_actual_sample_call = "{{rfscript|{{{language_code}}}|quote=1|nocat=1}}",
catfix = false,
additional_template_description = "The {{tl|quote}} and {{code|<nowiki>{{quote-*}}</nowiki>}} templates automatically add the page to this category if the quotation itself is missing but the translation is supplied."
},
{
regex = "^Requests for (.+) script for (.+) terms$",
language_name = "{{{2}}}",
allow_etym_lang = true,
parents = {{name = "Requests for native script for {{{language_name}}} terms", sort = "{{{1}}}"}},
etym_parents = {
{name = "Requests for native script for {{{language_name}}} terms", sort = "{{{1}}}"},
{name = "Requests for {{{1}}} script for {{{parent_language_name}}} terms", sort = "{{{language_name}}}"},
{name = "Requests concerning {{{language_name}}}", sort = "{{{1}}} script"},
},
umbrella = "Requests for {{{1}}} script by language",
breadcrumb = "{{{1}}}",
etym_breadcrumb = "{{{1}}}",
template_name = "rfscript",
-- NOTE: The following is used in `template_sample_call` and `template_actual_sample_call`, meaning the
-- conversion of script name to script code needs to be done using an inline function like this, instead of
-- a {{#invoke:...}} template call.
script_code = function(items)
return script_name_to_code(items["1"])
end,
template_sample_call = "{{rfscript|{{{language_code}}}|sc={{{script_code}}}}}",
template_actual_sample_call = "{{rfscript|{{{language_code}}}|sc={{{script_code}}}|nocat=1}}",
catfix = false,
additional_template_description = "Many templates such as {{tl|l}}, {{tl|m}} and {{tl|t}} automatically place the page in this category when they are missing the term but have been provided with a transliteration."
},
{
regex = "^Requests for (.+) script by language$",
parents = {{name = "Requests for script by language", sort = "{{{1}}}"}},
breadcrumb = "{{{1}}}",
nolang = true,
},
{
regex = "^Requests for script by language$",
nolang = true,
},
{
regex = "^Requests for images in (.+) entries$",
umbrella = "Requests for images by language",
template_name = "rfi",
},
{
regex = "^Requests for references for (.+) terms$",
umbrella = "Requests for references by language",
template_name = "rfref",
},
{
regex = "^Requests for references for etymologies in (.+) entries$",
parents = {{name = "Requests for references for {{{language_name}}} terms", sort = "etymologies"}},
umbrella = "Requests for references for etymologies by language",
breadcrumb = "නිරුක්ති",
template_name = "rfv-etym",
},
{
regex = "^Requests for references for pronunciations in (.+) entries$",
parents = {{name = "Requests for references for {{{language_name}}} terms", sort = "pronunciations"}},
umbrella = "Requests for references for pronunciations by language",
breadcrumb = "Pronunciations",
template_name = "rfv-pron",
},
{
regex = "^Requests for attention concerning (.+)$",
umbrella = "Requests for attention by language",
breadcrumb = "Attention",
template_name = "attention",
template_sample_call = "{{attention|{{{language_code}}}|insert a brief description of the request here}}",
template_example_output = "This template does not generate any text in entries, but can be visualised by enabling the Catch My Attention gadget. See {{section link|Template:attention#Visibility}}.",
-- These pages typically contain a mixture of English and native-language entries, so disable catfix.
catfix = false,
-- Setting catfix = false will normally trigger the English table of contents template.
-- We still want the native-language table of contents template, though.
toc_template = "{{{language_code}}}-categoryTOC",
toc_template_full = "{{{language_code}}}-categoryTOC/full",
},
{
regex = "^Requests for cleanup in (.+) entries$",
umbrella = "Requests for cleanup by language",
template_name = "rfc",
template_actual_sample_call = "{{rfc|{{{language_code}}}|nocat=1}}",
},
{
regex = "^Requests for cleanup of Pronunciation N headers in (.+) entries$",
umbrella = "Requests for cleanup of Pronunciation N headers by language",
template_name = "rfc-pron-n",
template_actual_sample_call = "{{rfc-pron-n|{{{language_code}}}|nocat=1}}",
template_example_output = "This template does not generate any text in entries.",
additional_template_description = [=[
The purpose of this category is to tag entries that use headers with "Pronunciation" and a number.
While these headers and structure are sometimes used, they are not specifically prescribed by [[WT:ELE]]. No complete proposal has yet been made on how they should work, what the semantics are, or how they interact with multiple etymologies. As a result they should generally be avoided. Instead, merge the entries (possibly under multiple Etymology sections, if appropriate), and list all pronunciations, appropriately tagged, under a Pronunciation header.
[[User:KassadBot|KassadBot]] tags these entries (or used to tag these entries, when the bot was operational). At some point if a proposal is made and adopted as policy, these entries should be reviewed.
This category is hidden.]=],
},
{
regex = "^Requests for deletion in (.+) entries$",
umbrella = "Requests for deletion by language",
template_name = "rfd",
template_actual_sample_call = "{{rfd|{{{language_code}}}|nocat=1}}",
},
{
regex = "^Requests for verification in (.+) entries$",
umbrella = "Requests for verification by language",
template_name = "rfv",
},
{
regex = "^Requests for attention in (.+) etymologies$",
umbrella = "Requests for attention by language"
},
{
regex = "^Requests for quotations/(.+)$",
description = "Requests for a quotation or for quotations from {{{1}}}.",
parents = {{name = "Requests for quotations by source", sort = "{{{1}}}"}},
breadcrumb = "{{{1}}}",
nolang = true,
template_name = "rfquotek",
template_sample_call = "{{rfquotek|LANGCODE|{{{1}}}}}",
template_example_output = "\n(where LANGCODE is the language code of the entry)\n\nඑමගින් පහත දැක්වෙන නිවේදනය ප්රදර්ශනය වෙයි:\n\n{{rfquotek|und|{{{1}}}}}",
},
{
regex = "^Requests for date in (.+) entries$",
umbrella = "Requests for date by language",
template_name = "rfdate",
additional_template_description = "The quotation templates, such as {{tl|quote-book}} and {{tl|quote-journal}}, " ..
"automatically add the page to this category if neither {{para|date}} nor {{para|year}} is provided. Providing the " ..
"parameter in each case on the page automatically removes the article from this category. See " ..
"[[Wiktionary:Quotations]] for information about formatting dates and quotations.",
},
{
regex = "^Requests for date/(.+)$",
description = "{{rfd|section=Category:Requests for date by source}}Requests for a date for a quotation or quotations from {{{1}}}.",
parents = {{name = "Requests for date by source", sort = "{{{1}}}"}},
breadcrumb = "{{{1}}}",
nolang = true,
template_name = "rfdatek",
template_sample_call = "{{rfdatek|LANGCODE|{{{1}}}}}",
template_example_output = "\n(where LANGCODE is the language code of the entry)\n\nඑමගින් පහත දැක්වෙන නිවේදනය ප්රදර්ශනය වෙයි:\n\n{{rfdatek|und|{{{1}}}}}",
},
{
regex = "^Requests for attestation of (.+) terms$",
umbrella = "Requests for attestation of terms by language",
breadcrumb = "Attestation",
additional_template_description = "The {{tl|LDL}} template adds this category when a language code is supplied in {{para|1}} (as it should be)."
},
})
local user_competency_additional_template_description = "This is added by user-competency categories such as " ..
"[[:Category:User fr-4]], which groups users who speak French at level 4 (near-native proficiency), when " ..
"the native-language text indicating this fact is missing. The appropriate translation should mirror the " ..
"English text also displayed (e.g. in this case \"These users speak French at a '''near native''' " ..
"level.\"), and should be supplied to {{tl|auto cat}} using the {{para|text}} parameter. The mention of the " ..
"language in the text should be surrounded by double angle brackets, e.g. \"<<français>>\", which " ..
"causes it to be automatically linked to the appropriate parent category."
local user_competency_parents = {{name = "Requests for translations in user-competency categories by number of users",
sort = function(items)
return " " .. ("%010d"):format(items["1"])
end,
}}
extend(requests_categories, {
{
regex = "^Requests for translations in user%-competency categories with ([0-9]+)%-([0-9]+) users$",
description = "Requests for translation of phrases indicating user competencies for specific languages and specific competency levels, for categories with {{{1}}}-{{{2}}} users.",
additional_template_description = user_competency_additional_template_description,
parents = user_competency_parents,
breadcrumb = "{{{1}}}-{{{2}}}",
nolang = true,
},
{
regex = "^Requests for translations in user%-competency categories with ([0-9]+) (users?)$",
description = "Requests for translation of phrases indicating user competencies for specific languages and specific competency levels, for categories with {{{1}}} {{{2}}}.",
additional_template_description = user_competency_additional_template_description,
parents = user_competency_parents,
breadcrumb = "{{{1}}}",
nolang = true,
}
})
table.insert(raw_handlers, function(data)
local items
local function init_items()
items = {pagename = data.category}
end
local function expand_value(item, val)
if not val then
return val
elseif is_callable(val) then
return expand_value(item .. " ⇒ function", val(items))
elseif type(val) == "table" then
for k, v in pairs(val) do
val[k] = expand_value(item .. " ⇒ " .. k, v)
end
return val
elseif type(val) == "number" then
val = tostring(val)
end
if type(val) ~= "string" then
error(("The item '%s' on page %s is of type %s and can't be concatenated"):format(
item, items.pagename, type(val)))
end
-- Replaces pseudo-template code {{{ }}} with the corresponding member of the "items" table. Has to be done
-- recursively, since some of the items are nested:
-- {{{template_sample_call_with_temp}}}
-- ⇓
-- {{{{{template_name}}}|{{{language_code}}}}}
-- ⇓
-- {{attention|en}}
if val:find("{{{") then
val = mw.ustring.gsub(val, "{{{([^%}%{]+)}}}", function(prop)
local propval = items[prop]
if not propval then
error(("The item '%s' (expanded from property '%s' on page %s) was not found in the 'items' table"):
format(prop, item, items.pagename))
end
return expand_value(item .. " ⇒ " .. prop, propval)
end
)
end
return val
end
local function expand_items_value(item)
return expand_value(item, items[item])
end
local function convert_items_to_category_data(items)
if not items.nolang then
items.language_name = items.language_name or "{{{1}}}"
items.language_name = expand_items_value("language_name")
items.language_object = require(languages_module).getByCanonicalName(items.language_name, true,
items.allow_etym_lang)
items.language_code = items.language_object:getCode()
items.is_etym_lang = items.language_object:hasType("etymology-only")
if items.is_etym_lang then
items.parent_language_object = items.language_object:getFull()
-- Reject weird cases where etymology language has no parent.
if not items.parent_language_object then
return nil
end
items.parent_language_code = items.parent_language_object:getCode()
items.parent_language_name = items.parent_language_object:getCanonicalName()
-- Reject weird cases where the parent language has the same name as the child etymology language. In
-- that case, we'll get an infinite parent-category loop. This actually happens, e.g. with Rudbari and
-- Bashkardi.
if items.parent_language_name == items.language_name then
return nil
end
else
end
end
if items.template_name then
items.template_sample_call = items.template_sample_call or "{{{{{template_name}}}|{{{language_code}}}}}"
items.full_text_about_the_template = "මෙම ඉල්ලීම කිරීම සඳහා, මෙම භාෂාව සඳහා, අදාළ ප්රවේශය තුළ මෙම කේතය භාවිතා කරන්න ([[Template:{{{template_name}}}]] සඳහා වන උපදෙස් පත්රිකාව වෙත ද අවධානය යොමු කරන්න):\n\n<pre>{{{template_sample_call}}}</pre>"
if items.template_example_output then
items.full_text_about_the_template = items.full_text_about_the_template .. " " .. items.template_example_output
else
items.template_actual_sample_call = items.template_actual_sample_call or items.template_sample_call
items.full_text_about_the_template = items.full_text_about_the_template .. "\nඑමගින් පහත දැක්වෙන නිවේදනය ප්රදර්ශනය වෙයි:\n\n{{{template_actual_sample_call}}}"
end
if items.additional_template_description then
items.full_text_about_the_template = items.full_text_about_the_template .. "\n\n" .. items.additional_template_description
end
else
items.full_text_about_the_template = items.additional_template_description
end
local parents, breadcrumb
if items.is_etym_lang then
parents = items.etym_parents
breadcrumb = expand_items_value("etym_breadcrumb") or items.language_name
else
parents = items.parents
breadcrumb = expand_items_value("breadcrumb")
end
if parents then
for _, parent in ipairs(parents) do
parent.name = expand_value("parent.name", parent.name)
parent.sort = {sort_base = expand_value("parent.sort", parent.sort), lang = "en"}
end
else
local umbrella_type = items.pagename:match("^Requests for (.+) by language$")
if umbrella_type then
breadcrumb = breadcrumb or umbrella_type
parents = {{name = "Request subcategories by language", sort = umbrella_type}}
elseif not items.language_name then
error("Internal error: Don't know how to compute parents for non-language-specific category '" .. items.pagename .. "'")
else
local requests_concerning_breadcrumb = items.pagename:gsub(" " .. pattern_escape(items.language_name), "")
requests_concerning_breadcrumb =
requests_concerning_breadcrumb:gsub("^Requests for ", ""):gsub(" in entries$", ""):gsub(" for terms$", "")
local requests_concerning_parent =
{
name = "Requests concerning " .. items.language_name,
sort = {sort_base = requests_concerning_breadcrumb, lang = "en"}
}
if items.is_etym_lang then
local parent_lang_cat = items.pagename:gsub(pattern_escape(items.language_name), replacement_escape(items.parent_language_name))
parents = {
{name = parent_lang_cat, sort = {sort_base = items.language_name, lang = "en"}},
requests_concerning_parent
}
else
breadcrumb = breadcrumb or requests_concerning_breadcrumb
parents = {requests_concerning_parent}
end
end
end
if not items.nolang and not items.is_etym_lang and items.umbrella ~= false then
table.insert(parents, {
name = expand_items_value("umbrella"),
sort = {sort_base = items.language_name, lang = "en"}
})
end
local additional = expand_items_value("full_text_about_the_template")
if items.pagename:find(" by language$") then
additional = "{{{umbrella_msg}}}" .. (additional and "\n\n" .. additional or "")
end
return {
description = expand_items_value("description") or items.pagename .. ".",
lang = items.parent_language_code or items.language_code,
additional = additional,
parents = parents,
-- If no breadcrumb= and not an etym-only language, it will default to the category name
breadcrumb = breadcrumb,
catfix = expand_items_value("catfix"),
toc_template = expand_items_value("toc_template"),
toc_template_full = expand_items_value("toc_template_full"),
hidden = not items.nolang and not items.not_hidden_category,
can_be_empty = true,
}
end
-- First look for a regular (usually language or script-specific) category.
for _, category in ipairs(requests_categories) do
local matchvals = {mw.ustring.match(data.category, category.regex)}
if #matchvals > 0 then
init_items()
for key, value in pairs(category) do
items[key] = value
end
for key, value in ipairs(matchvals) do
items["" .. key] = value
end
local catdata = convert_items_to_category_data(items)
if catdata then
return catdata
end
end
end
-- Now look for umbrella categories.
for _, category in ipairs(requests_categories) do
if data.category == category.umbrella then
init_items()
items.nolang = true
local catdata = convert_items_to_category_data(items)
if catdata then
return catdata
end
end
end
return nil
end)
table.insert(raw_handlers, function(data)
local langname = data.category:match("^යෙදුම්, (.+) පරිවර්තන සහිත$")
local lang = langname and require(languages_module).getByCanonicalName(langname, true, true)
if lang then
local langcode = lang:getCode()
local parents, breadcrumb_and_first_sort_key
if lang:hasType("etymology-only") then
parents = {
"යෙදුම්, " .. lang:getFullName() .. " පරිවර්තන සහිත",
{name = langname, sort = "පරිවර්තන"},
}
breadcrumb_and_first_sort_key = lang:getCanonicalName()
else
parents = {
{name = "ප්රවේශ නඩත්තුව", is_label = true, lang = langcode},
{
name = "භාෂාව අනුව යෙදුම්, පරිවර්තන සහිත",
sort = {sort_base = langname, lang = "en"}
},
}
breadcrumb_and_first_sort_key = "පරිවර්තන"
end
return {
description = "Entries that contain translations into " .. langname .. " which were added using one of the translation templates, such as {{tl|t|" .. langcode .. "|...}}, {{tl|t+|" .. langcode .. "|...}}, etc.",
parents = parents,
breadcrumb_and_first_sort_key = breadcrumb_and_first_sort_key,
catfix = false,
can_be_empty = true,
hidden = true,
}
end
end)
local recognized_taxtypes = require(table_module).listToSet {
"ambiguous",
"binomial",
"branch",
"clade",
"cladus",
"class",
"cohort",
"convariety",
"cultivar group",
"cultivar",
"division",
"empire",
"epifamily",
"epithet",
"family",
"form taxon",
"form",
"genus",
"grade",
"grandorder",
"group",
"hybrid",
"informal group",
"infraclass",
"infracohort",
"infrakingdom",
"infraorder",
"infraphylum",
"infraspecies",
"kingdom",
"magnorder",
"megacohort",
"mirorder",
"morph",
"nothogenus",
"nothospecies",
"nothosubspecies",
"nothovariety",
"obsolete",
"oofamily",
"order",
"parvclass",
"parvorder",
"phylum",
"section",
"series",
"serovar",
"species group",
"species",
"stem",
"stirps",
"strain",
"subclass",
"subcohort",
"subdivision",
"subfamily",
"subgenus",
"subgroup",
"subinfraorder",
"subkingdom",
"suborder",
"subphylum",
"subsection",
"subspecies",
"subterclass",
"subtribe",
"superclass",
"supercohort",
"superfamily",
"supergroup",
"superorder",
"superphylum",
"supertribe",
"taxon",
"tribe",
"trinomial",
"undescribed species",
"unknown",
"unranked group",
"variety",
"virus complex",
}
table.insert(raw_handlers, function(data)
local taxtype = data.category:match("^Entries using missing taxonomic name %((.*)%)$")
if taxtype and recognized_taxtypes[taxtype] then
return {
description = "Entries that link to wikispecies because there is no corresponding Wiktionary entry for the taxonomic name in the template {{tl|taxlink}}.",
additional = "The missing name is one or more of those enclosed in {{tl|taxlink}}. The entries are sorted by the missing taxonomic name.",
parents = {{name = "Entries using missing taxonomic names", sort = {sort_base = taxtype, lang = "en"}}},
breadcrumb = taxtype,
hidden = true,
}
end
end)
return {LABELS = labels, RAW_CATEGORIES = raw_categories, RAW_HANDLERS = raw_handlers}
hki54nbs0ate2aow1nube8yowwtz1v3
Module:category tree/templates
828
6143
234059
231000
2026-04-26T20:05:24Z
en>Fenakhay
0
Reverted edits by [[Special:Contributions/Fenakhay|Fenakhay]]. If you think this rollback is in error, please leave a message on my [[User talk:Fenakhay|talk page]].
234059
Scribunto
text/plain
local labels = {}
local raw_categories = {}
local raw_handlers = {}
local languages_module = "Module:languages"
local insert = table.insert
-----------------------------------------------------------------------------
-- --
-- LABELS --
-- --
-----------------------------------------------------------------------------
labels["templates"] = {
description = "{{{langname}}} [[Wiktionary:Templates|templates]], which contain reusable wiki code that helps with creating and managing entries.",
umbrella = {
parents = {{name = "Templates", sort = " "}},
breadcrumb = "by language",
},
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["auto-table templates"] = {
description = "Templates that contain {{{langname}}} tables generated automatically.",
additional = "They use the <code>table:</code> prefix. For example, see [[Template:table:chess pieces/en]].",
parents = {"link templates"},
}
labels["category boilerplate templates"] = {
description = "Templates used to generate descriptions and categorization for category pages.",
parents = {"templates"},
}
labels["conversion templates"] = {
description = "Templates used in {{{langname}}} entries to convert between different orthographic or numeral representations.",
parents = {"templates"},
}
labels["definition templates"] = {
description = "Templates used in the [[Wiktionary:Glossary#definition line|definition line]] of {{{langname}}} entries to help in creating definitions.",
parents = {"templates"},
}
labels["entry templates"] = {
description = "Templates used to help in the creation of {{{langname}}} entries.",
umbrella_parents = {"Templates subcategories by language", "Entry templates"},
parents = {"templates"},
}
labels["etymology templates"] = {
description = "Templates used in the etymology section of {{{langname}}} entries.",
parents = {"templates"},
}
labels["experimental templates"] = {
description = "Templates used to test possible content for {{{langname}}} entries.",
parents = {"templates"},
}
labels["form-of templates"] = {
description = "Templates used on the definition line of entries for inflected forms of words in {{{langdisp}}}, to link back to the main form.",
parents = {"definition templates", "link templates"},
}
labels["headword-line templates"] = {
description = "Templates used in {{{langname}}} entries to display lines containing headwords.",
parents = {"templates"},
}
labels["index templates"] = {
description = "Templates used to organize {{{langname}}} indexes.",
parents = {"link templates"},
}
labels["inflection-table templates"] = {
description = "Templates used to show inflection tables for {{{langname}}} terms.",
parents = {"templates"},
}
-- Do particular types of inflection-table templates.
for _, pos in ipairs({
"adjective",
"adverb",
"determiner",
"nominal",
"noun",
"numeral",
"participle",
"postposition",
"particle",
"preposition",
"pronoun",
"verb",
}) do
labels[pos .. " inflection-table templates"] = {
description = "Templates used to show declension tables for {{{langname}}} " .. pos .. "s.",
parents = {"inflection-table templates"},
}
end
labels["link templates"] = {
description = "{{{langname}}} templates used to create links to other entries.",
parents = {"templates"},
}
labels["list templates"] = {
description = "Templates that contain {{{langname}}} lists.",
additional = "They use the <code>list:</code> prefix. For example, see [[Template:list:Latin script letters/en]].<br />" ..
"See also [[:Category:List templates]].",
parents = {"link templates"},
}
labels["mutation templates"] = {
description = "Templates used to show mutation of {{{langname}}} words.",
parents = {"templates"},
}
labels["navigation templates"] = {
description = "{{{langname}}} templates used to create navigation boxes for easily linking to other similar pages.",
additional = "Examples are all the members of a given class (e.g. personal pronouns, interrogatives, demonstratives), cardinal numbers up to 100, category TOC (table-of-contents) templates, etc.",
parents = {"link templates"},
}
labels["pronunciation templates"] = {
description = "Templates used to generate IPA pronunciation, rhymes, hyphenation, etc. for {{{langname}}} entries.",
umbrella_parents = {"Templates subcategories by language", "Category:Pronunciation templates"},
parents = {"templates"},
}
labels["sign production templates"] = {
description = "Templates used in describing and showing the production of {{{langname}}} signs.",
parents = {"pronunciation templates"},
}
labels["quotation templates"] = {
description = "Templates used to generate quotations for {{{langname}}} entries.",
umbrella_parents = {"Templates subcategories by language", "Category:Citation templates"},
parents = {"templates"},
}
labels["quotation navigation templates"] = {
description = "Templates used in the documentation of {{{langname}}} [[Wiktionary:Quotations/Templates|quotation templates]] in order to link to quotation templates for other works by the same author.",
umbrella_parents = {"Templates subcategories by language", "Category:Navigation templates", "Category:Quotation templates by language"},
parents = {"quotation templates", "link templates"},
}
labels["reference templates"] = {
topright = function(data)
if data.lang and data.lang:getCode() == "ine-pro" then
return "{{shortcut|WT:RTINE}}"
end
end,
umbrella = {
preceding = "{{also|Wiktionary:Reference templates}}\n{{also|Template:refcat}}",
parents = {"Templates subcategories by language", "Category:Reference templates"},
breadcrumb = "by language",
},
description = "Templates used to generate reference footnotes for {{{langname}}} entries.",
parents = {"link templates"},
}
labels["reference navigation templates"] = {
description = "Templates used in the documentation of reference templates in order to link to related reference templates.",
umbrella_parents = {"Templates subcategories by language", "Category:Navigation templates", "Category:Reference templates by language"},
parents = {"reference templates", "link templates"},
}
labels["supplementary templates"] = {
description = "Templates used to keep contents for other {{{langname}}} templates.",
parents = {"templates"},
}
labels["inflection-table subtemplates"] = {
description = "Templates used to assist in constructing parts of {{{langname}}} inflection-table templates.",
parents = {"supplementary templates"},
}
labels["usage templates"] = {
description = "Templates used to show usage notes in {{{langname}}} entries.",
parents = {"templates"},
}
for key, data in pairs(labels) do
-- Add 'umbrella_parents' key if not already present.
if not data.umbrella and not data.umbrella_parents then
data.umbrella_parents = "Templates subcategories by language"
end
-- Add breadcrumb by chopping off the parent (or the parent's parent, etc.) from the end of the label, if possible.
if not data.breadcrumb then
local parent = data.parents[1]
while true do
if type(parent) == "string" then
local parent_re = " " .. require("Module:string utilities").pattern_escape(parent) .. "$"
if key:find(parent_re) then
data.breadcrumb = key:gsub(parent_re, "")
break
end
if labels[parent] then
parent = labels[parent].parents[1]
else
break
end
else
break
end
end
end
end
-----------------------------------------------------------------------------
-- --
-- RAW CATEGORIES --
-- --
-----------------------------------------------------------------------------
raw_categories["Templates"] = {
topright = "{{shortcut|WT:T}}",
description = "An organizing category intended for all templates in use on Wiktionary.",
additional = "''See also: [[Wiktionary:Templates]], [[meta:Help:Template]]''",
parents = {"Wiktionary"},
}
raw_categories["Administration templates"] = {
description = "Templates used in the administration of Wiktionary.",
additional = "They are only used outside of mainspace and are distinct from [[:Category:Maintenance templates|maintenance templates]], which are used in maintaining entries.",
parents = {"Templates"},
}
raw_categories["Archive templates"] = {
description = "Templates used on archived or otherwise inactive pages.",
parents = {"Administration templates"},
}
raw_categories["CheckUser templates"] = {
description = "Templates related to [[Wiktionary:Requests for checkuser|checkuser requests]].",
parents = {"Administration templates"},
}
raw_categories["Editnotices"] = {
description = "Templates used to display notices in edit mode.",
parents = {"Administration templates"},
}
raw_categories["Appendix templates"] = {
description = "Templates used in appendices or to link to appendices.",
parents = {"Templates", "Category:Appendices"},
}
raw_categories["Swadesh list templates"] = {
description = "Templates used on pages that contain [[w:Swadesh list]]s.<br />" ..
"See also [[Wiktionary:Swadesh template]] and [[Wiktionary:Swadesh template categorized]].",
parents = {"Appendix templates"},
}
raw_categories["Astrology templates"] = {
description = "Templates that display astrology-related diagrams or boxes.",
parents = {"Templates"},
}
raw_categories["Audio templates"] = {
description = "Templates used to play or request audio files.",
parents = {"Templates"},
}
raw_categories["Auto-table templates"] = {
description = "Templates used to generate word tables (like [[Template:table:seasons]]).",
additional = "See also [[:Category:Auto-table templates by language]].",
parents = {"Templates"},
}
raw_categories["Box templates"] = {
description = "General purpose box templates.",
additional = "If you're considering making a template that looks like a box, look here first!",
parents = {"Templates"},
}
raw_categories["Categorization templates"] = {
preceding = "{{also|:Category:Category modules}}",
description = "Templates used to categorize terms or entries.",
additional = "([[:Category:Category templates]], on the other hand, contains templates used in the category namespace.)",
parents = {"Templates"},
}
raw_categories["Category templates"] = {
description = "Templates used in the category namespace.",
additional = "([[:Category:Categorization templates]], on the other hand, contains templates used to categorize pages.)",
parents = {"Templates"},
}
raw_categories["Category boilerplate templates"] = {
description = "Templates used to generate the text of category pages.",
parents = {"Category templates"},
}
raw_categories["TOC templates"] = {
description = "Templates used to generate a list of linked letters to navigate the pages listed in categories.",
parents = {"Category templates", "Navigation templates"},
}
raw_categories["Character info templates"] = {
description = "Templates that utilize {{temp|character info}}.",
parents = {"Templates"},
}
raw_categories["Character insertion templates"] = {
description = "Templates that provide easier ways to type characters that are not found in most keyboard layouts.",
parents = {"Templates"},
}
raw_categories["Templates for generating characters used in wiki code"] = {
description = "Templates used to generate characters that are reserved for specific wiki code functions and cannot be directly entered.",
additional = "An alternative to using these templates is to use an HTML entity such as <code>&#91</code> " ..
"for a left bracket.<br />" ..
"Note that the templates below are sorted by the first character of the wikicode that each template generates.",
parents = {"Character insertion templates"},
}
raw_categories["Chemistry templates"] = {
description = "Templates that display chemistry-related diagrams or boxes.",
parents = {"Templates"},
}
raw_categories["Chess templates"] = {
description = "Templates that display chess diagrams.",
parents = {"Templates"},
}
raw_categories["Citation templates"] = {
preceding = "{{ombox|type=speedy|text=Some templates may be marked '''FOR TESTING ONLY'''. Do not use these in entries, if requested on the template page itself. Take a look at the template page before using it.}}",
description = "Templates used to generate citations and quotations.",
additional = [=[
{{citation templates}}
==See also==
* [[Wiktionary:Quotations]]
* [[:Category:Reference templates]] for specific templates to well-known and widely used sources.]=],
parents = {"Templates"},
}
-- Skipped: Concordance templates
raw_categories["Control flow templates"] = {
description = "Templates to aid in control-flow constructs, which the template language is normally limited in.",
parents = {"Templates"},
}
raw_categories["Cross reference templates"] = {
description = "Templates used to create cross-references between sections.",
parents = {"Templates"},
}
raw_categories["Dating templates"] = {
description = "Templates for displaying dates.",
parents = {"Templates"},
}
raw_categories["Definition templates"] = {
description = "Templates used in the [[Wiktionary:Glossary#definition line|definition line]] to help in creating definitions.",
parents = {"Templates"},
}
raw_categories["Form-of templates"] = {
description = "Templates used in defining inflections or variants of a given lemma.",
parents = {"Definition templates"},
}
raw_categories["Grammar form-of templates"] = {
description = "Templates used in defining terms that stand in a particular grammatical relation to a given lemma.",
parents = {"Form-of templates"},
}
raw_categories["Conjugation form-of templates"] = {
description = "Templates used in defining terms that represent particular verb forms (e.g. past participle) of given lemma.",
parents = {"Grammar form-of templates"},
}
raw_categories["Declension form-of templates"] = {
description = "Templates used in defining terms that represent particular noun or adjective forms (e.g. masculine plural) of given lemma.",
parents = {"Grammar form-of templates"},
}
raw_categories["Name templates"] = {
description = "Templates used in the [[Wiktionary:Glossary#definition line|definition line]] to help in creating definitions for names.",
parents = {"Definition templates"},
}
raw_categories["Object usage templates"] = {
description = "Templates used in the [[Wiktionary:Glossary#definition line|definition line]] to show case and adposition usage for verb objects and similar constructs.",
parents = {"Definition templates"},
}
raw_categories["Place name templates"] = {
description = "Templates used in defining place names or demonyms that refer to place names.",
parents = {"Definition templates"},
}
raw_categories["Entry templates"] = {
description = "Templates used to help create new entries.",
parents = {"Templates"},
}
raw_categories["Etymology templates"] = {
description = "Templates used in etymology sections to define the etymology of a term.",
parents = {"Templates"},
}
raw_categories["Foreign derivation templates"] = {
description = "Templates used in etymology sections to indicate derivation from a different language than the language of the current entry.",
parents = {"Etymology templates"},
}
raw_categories["Morphology templates"] = {
description = "Templates used in etymology sections to specify the morphology of a term.",
parents = {"Etymology templates"},
}
raw_categories["Language-specific morphology templates"] = {
description = "Specialized morphology templates used in the etymology sections of terms in particular languages.",
parents = {"Morphology templates"},
}
raw_categories["Headword-line templates"] = {
preceding = "{{also|Wiktionary:Headword-line templates}}",
description = "Templates used to define the [[Wiktionary:Glossary#headword line|headword line]] of a term.",
parents = {"Templates"},
}
raw_categories["Discussion templates"] = {
description = "Templates intended for use only in discussions and documentation of templates and modules.",
parents = {"Templates"},
}
raw_categories["Monthly-subpages discussion room infrastructure"] = {
description = "Templates used in generating and maintaining monthly discussion forums such as the [[Wiktionary:Grease pit|Grease pit]] and [[Wiktionary:Beer parlour|Beer parlour]].",
parents = {"Discussion templates"},
}
raw_categories["Documentation templates"] = {
description = "Templates used on template and module documentation pages.",
parents = {"Templates"},
}
raw_categories["File templates"] = {
description = "Templates used in the File namespace.",
parents = {"Templates"},
}
raw_categories["Language attestation warning templates"] = {
description = "Templates that warn users about the attestation status of entries or senses from a language.",
parents = {"Templates"},
}
raw_categories["Layout templates"] = {
description = "Templates used in creating specific layouts within entries.",
parents = {"Templates"},
}
raw_categories["Collapsible box templates"] = {
description = "Templates used in creating collapsible boxes.",
parents = {"Layout templates"},
}
raw_categories["Column templates"] = {
preceding = "{{also|Wiktionary:Templates#Columns}}",
description = "Templates used in laying out lists in columns.",
parents = {"Layout templates"},
}
raw_categories["Table templates"] = {
description = "Templates used in formatting tables.",
parents = {"Layout templates"},
}
raw_categories["Link templates"] = {
description = "Templates used to link to other terms, to other MediaWiki projects or to external websites.",
parents = {"Templates"},
}
raw_categories["Disambiguation templates"] = {
description = "Templates used to disambiguate multiple similar terms.",
parents = {"Link templates"},
}
raw_categories["External link templates"] = {
description = "Templates that link to websites outside of the MediaWiki Foundation purview.",
additional = "See also [[:Category:Citation templates]] for others.",
parents = {"Link templates"},
}
raw_categories["Internal link templates"] = {
description = "Templates that link between Wiktionary entries.",
parents = {"Link templates"},
}
raw_categories["Language-specific internal link templates"] = {
description = "Language-specific templates that link between Wiktionary entries in particular languages.",
parents = {"Internal link templates"},
}
raw_categories["Interwiki link templates"] = {
description = "Templates that link to other Wikimedia projects.",
parents = {"Link templates"},
}
raw_categories["Inline interwiki link templates"] = {
description = "Inline templates that link to other Wikimedia projects.",
parents = {"Interwiki link templates"},
}
raw_categories["Sidebar interwiki link templates"] = {
description = "Sidebar templates that link to other Wikimedia projects.",
parents = {"Interwiki link templates"},
}
raw_categories["Wikidata link templates"] = {
description = "Inline templates that link to Wikidata.",
parents = {"Interwiki link templates"},
}
raw_categories["Wikisource link templates"] = {
description = "Inline templates that link to Wikisource.",
parents = {"Interwiki link templates"},
}
raw_categories["List templates"] = {
description = "Templates used to generate lists.",
additional = "See also [[:Category:List templates by language]].",
parents = {"Templates"},
}
raw_categories["Character list templates"] = {
description = "Templates used to generate lists of characters.",
parents = {"List templates"},
}
raw_categories["Lua-free templates"] = {
description = "Lua-free (i.e. \"lite\") versions of templates that use Lua.",
additional = "Lua-free templates are used on long pages to avoid [[Wiktionary:Lua memory errors|Lua memory errors]].",
parents = {"Templates"},
}
raw_categories["Maintenance templates"] = {
preceding = "{{also|Wiktionary:Maintenance templates}}",
description = "Templates used in the maintenance of Wiktionary entries and other pages.",
additional = "They are distinct from [[:Category:Administration templates|administration templates]], which are only used outside of mainspace.",
parents = {"Templates", "Category:Wiktionary maintenance"},
}
raw_categories["Cleanup templates"] = {
description = "Templates used to request cleanup of entries.",
additional = "Some of these templates are used when entries are batch-imported from another source.",
parents = {"Maintenance templates", "Request templates"},
}
raw_categories["Deletion templates"] = {
description = "Templates used to request deletion of entries.",
parents = {"Maintenance templates", "Request templates"},
}
raw_categories["Verification templates"] = {
description = "Templates used to request verification of entries that may be incorrect.",
parents = {"Maintenance templates", "Request templates"},
}
raw_categories["Wiktionary templates"] = {
description = "Templates used in the internal operation of Wiktionary.",
parents = {"Templates", "Wiktionary"},
}
raw_categories["Metatemplates"] = {
description = "Templates used in other templates or to create other templates.",
parents = {"Templates"},
}
raw_categories["String manipulation templates"] = {
description = "Templates used to manipulate strings.",
additional = "See also [[Module:string/templates]], which can be invoked from templates to do string manipulation.",
parents = {"Metatemplates"},
}
------------ NAVIGATION TEMPLATES ------------
raw_categories["Navigation templates"] = {
description = "Templates used to create navigation boxes for easily linking to other similar pages.",
parents = {"Templates"},
}
raw_categories["Language-specific number templates"] = {
description = "Language-specific templates that generate number boxes or lists for a given language.",
additional = "Contrast {{catlink|Number templates}}, which contains general (language-agnostic) templates for converting numbers or generating number boxes or lists in a given language.",
parents = {"Navigation templates"},
}
raw_categories["Pro-form box templates"] = {
description = "Language-specific templates that generate navigation boxes for displaying pro-forms (pronouns, determiners, pronominal adverbs, etc.) for a given language.",
parents = {"Navigation templates"},
}
raw_categories["Demonstrative box templates"] = {
description = "Language-specific templates that generate demonstrative pronoun, determiner and adverb boxes for a given language.",
parents = {"Pro-form box templates"},
}
raw_categories["Grammatical article box templates"] = {
description = "Language-specific templates that generate grammatical article boxes (definite, indefinite, partitive, etc.) for a given language.",
parents = {"Pro-form box templates"},
}
raw_categories["Interrogative box templates"] = {
description = "Language-specific templates that generate interrogative pronoun, determiner and adverb boxes for a given language.",
parents = {"Pro-form box templates"},
}
raw_categories["Personal pronoun box templates"] = {
description = "Language-specific templates that generate personal pronoun boxes for a given language.",
additional = [=[
The standard format for these templates is:
* Where the language is uninflected (e.g. Samoan {{tl|sm-personal pronouns}}) or the language is inflected but the box shows only the lemma forms of the pronoun (e.g. Basque {{tl|eu-personal pronouns}}), the '''numbers''' (singular/plural) run across the top and the '''persons''' (1st/2nd/3rd) run down the left side.
* Where the language is inflected, the '''cases''' run across the top. Down the left side, the headers (from left to right) are '''number''', '''person''', then any subform if applicable. Example: Middle High German {{tl|gmh-personal pronouns}}
** Exceptions:
*** If there are too many cases to fit on the screen as columns, the template can be transposed so that cases run vertically. Example: Northern Yukaghir {{tl|ykg-personal pronouns}}
*** If the singular and plural forms are very similar, consider placing the person headers outside number instead. Example: Punjabi {{tl|pa-personal pronouns}}
]=],
parents = {"Pro-form box templates"},
}
raw_categories["Possessive pronoun and determiner box templates"] = {
description = "Language-specific templates that generate possessive pronoun and determiner boxes for a given language.",
parents = {"Pro-form box templates"},
}
raw_categories["Reflexive pronoun and determiner box templates"] = {
description = "Language-specific templates that generate reflexive pronoun and determiner boxes for a given language.",
parents = {"Pro-form box templates"},
}
raw_categories["Relative pronoun and determiner box templates"] = {
description = "Language-specific templates that generate relative pronoun and determiner boxes for a given language.",
parents = {"Pro-form box templates"},
}
raw_categories["Number templates"] = {
description = "General (language-agnostic) templates used to convert numbers or generate boxes or lists of the numbers in a given language.",
additional = "Contrast {{catlink|Language-specific number templates}}, which contains language-specific templates for generating number boxes or lists in a given language.",
parents = {"Templates"},
}
raw_categories["Orthographic and regional variant templates"] = {
description = "Templates used to generate lists of links to alternative forms of a term, either across orthographic systems, scripts, or regional or dialectal variation.",
parents = {"Script templates", "Internal link templates"},
}
raw_categories["Pagename templates"] = {
description = "Templates used to retrieve pagenames or pagename properties or manipulate pagenames.",
parents = {"Templates"},
}
raw_categories["Preloaded templates"] = {
description = "Templates not meant to be transcluded, but instead, whether through URL parameters or modules, have their contents preloaded into edit fields.",
parents = {"Templates"},
}
raw_categories["Pronunciation templates"] = {
description = "Templates used to format pronunciation sections and the characters they use.",
additional = "See also [[:Category:Script templates]] and [[Wiktionary:Pronunciation]].",
parents = {"Templates"},
}
raw_categories["Rhyme templates"] = {
description = "Templates used to format [[Wiktionary:Rhymes|rhyme pages]], links to them from pronunciation sections, etc.",
parents = {"Pronunciation templates"},
}
raw_categories["Sign language templates"] = {
description = "Templates used to format sign-language pronunciation charts.",
parents = {"Pronunciation templates"},
}
raw_categories["Qualifier and gloss templates"] = {
description = "Templates for displaying qualifiers, glosses and the like.",
parents = {"Templates"},
}
raw_categories["Redirect templates"] = {
description = "Templates used to format redirect pages.",
parents = {"Templates"},
}
raw_categories["Reference templates"] = {
preceding = "{{also|Wiktionary:Reference templates|:Category:Reference templates by language}}",
description = "Templates used to format references.",
parents = {"Templates"},
}
raw_categories["Religion templates"] = {
description = "Templates that display religion-related diagrams or boxes.",
parents = {"Templates"},
}
raw_categories["Request templates"] = {
topright = "{{shortcut|WT:RT}}",
description = "Request templates for dictionary entries in the main namespace.",
parents = {"Templates", "Requests"},
}
raw_categories["Sandbox templates"] = {
description = "Sandbox versions of templates used for testing purposes.",
additional = "'''NOTE:''' The use of sandbox templates in mainspace is strongly dispreferred. Please place all sandbox templates in your userspace.",
parents = {"Templates"},
}
raw_categories["Script templates"] = {
preceding = "{{mainwikt|Scripts}}",
description = "Templates used for converting between scripts or displaying text in a specific script.",
parents = {"Templates"},
}
raw_categories["Semantic relation templates"] = {
description = "Templates that are placed below the [[Wiktionary:Glossary#definition line|definition line]], to indicate other terms semantically related to a particular sense.",
parents = {"Templates"},
}
raw_categories["Single-page-use templates"] = {
description = "Templates used only on a single page and unlikely to find re-use elsewhere.",
parents = {"Templates"},
}
raw_categories["Supplementary templates"] = {
description = "A grab bag of templates used to assist other templates.",
additional = "These should be recategorized according to function.",
parents = {"Templates"},
}
raw_categories["Taxonomy templates"] = {
description = "Templates used in Translingual taxonomy entries and in reference to those entries.",
parents = {"Templates"},
}
raw_categories["Taxonomic hypernym templates"] = {
description = "Templates and subcategories containing such templates. The templates contain text to appear under the Hypernyms header for taxonomic name entries.",
additional = "Each template has the name of the taxon from which it begins. The templates in this category at present are the many templates that begin with the names of taxonomic families. Others are in subcategories",
breadcrumb = "Hypernym",
parents = {"Taxonomy templates"},
}
raw_categories["Taxonomic name templates"] = {
description = "Templates used for the presentation of taxonomic names on a definition line.",
breadcrumb = "Name",
parents = {"Taxonomy templates", "Definition templates"},
}
raw_categories["Taxonomic reference templates"] = {
description = "Templates used to format references for taxonomic names.",
breadcrumb = "Reference",
parents = {"Taxonomy templates", "Reference templates"},
}
raw_categories["Templates that must be substituted"] = {
description = "Templates that are not intended for transclusion with <code><nowiki>{{ }}</nowiki></code>, " ..
"and must be substituted with <code><nowiki>{{subst: }}</nowiki></code>wherever they exist.",
additional = "Some of the members of this category are permanent, as the template was written in such a way that " ..
"it must be substituted to function properly. There may also be templates in this category that are deprecated, " ..
"in which case their content has been replaced with the preferred code.",
parents = {"Templates", "Requests"},
}
raw_categories["Templates with acceleration"] = {
description = "Templates can be added to this category by adding {{tl|isAccelerated}} to their documentation pages.",
additional = "Presence in this category indicates that at least some of the \"form-of\" entries for the word can be generated semi-automatically by users with [[Wiktionary:ACCEL|accelerated]] editing enabled.",
parents = {"Templates"},
}
raw_categories["Text format templates"] = {
description = "Templates that provide shortcuts for formatting ordinary text.",
parents = {"Templates"},
}
raw_categories["Thesaurus templates"] = {
description = "Templates for linking to or formatting thesaurus entries.",
parents = {"Templates"},
}
raw_categories["Translation templates"] = {
description = "Templates used to format entries in and parts of translation tables.",
parents = {"Templates"},
}
raw_categories["User templates"] = {
description = "Templates meant to be used in userspace.",
parents = {"Templates"},
}
raw_categories["User sandbox templates"] = {
description = "Templates that are for personal use and testing by individual editors.",
additional = "These should all begin with <code>User:</code> followed by the user's name. If several " ..
"sandbox templates are needed by a single user, subpages can be created. These templates should not be used in real " ..
"Wiktionary content pages, as all content on those pages should be editable by anyone and, if necessary, edit protected.",
parents = { "Sandbox templates", "Templates" },
}
raw_categories["Authority control subtemplates"] = {
description = "Subtemplates used in conjunction with {{tl|authority control}}.",
parents = {"User templates"},
}
raw_categories["User competency templates"] = {
description = "Templates used for to indicate a user's competency in a given natural language, script or programming language.",
additional = "These are used in conjunction with {{tl|Babel}}, which invokes these templates as necessary.",
parents = {"User templates"},
}
raw_categories["Coder user templates"] = {
description = "Templates used for to indicate a user's competency in a given programming language.",
additional = "These are used in conjunction with {{tl|Babel}}, which invokes these templates as necessary.",
parents = {"User competency templates"},
}
raw_categories["Language user templates"] = {
description = "Templates used for to indicate a user's competency in speaking a given language.",
additional = "These are used in conjunction with {{tl|Babel}}, which invokes these templates as necessary.",
parents = {"User competency templates"},
}
raw_categories["Script user templates"] = {
description = "Templates used for to indicate a user's competency in reading a given script.",
additional = "These are used in conjunction with {{tl|Babel}}, which invokes these templates as necessary.",
parents = {"User competency templates"},
}
raw_categories["WOTD templates"] = {
description = "Templates used to support the Word of the Day.",
parents = {"Wiktionary templates"},
}
raw_categories["FWOTD templates"] = {
description = "Templates used to support the Foreign Word of the Day.",
parents = {"WOTD templates"},
}
raw_categories["Non-production templates and modules"] = {
description = "Templates and modules not currently used in production.",
additional = "{{also|Special:UnusedTemplates|Category:Unused templates}}",
parents = {"Templates", "Modules", "Category:Wiktionary maintenance"},
}
raw_categories["Templates subcategories by language"] = {
description = "Umbrella categories covering topics related to templates.",
additional = "{{{umbrella_meta_msg}}}",
parents = {
"Umbrella metacategories",
{name = "templates", is_label = true, sort = " "},
},
}
-- Add breadcrumb by chopping off the parent (or the parent's parent, etc.) from the end of the label, if possible.
for key, data in pairs(raw_categories) do
if not data.breadcrumb then
local parent = data.parents[1]
while true do
if type(parent) == "string" then
local parent_re = " " .. require("Module:string utilities").pattern_escape(mw.getContentLanguage():lcfirst(parent)) .. "$"
if key:find(parent_re) then
data.breadcrumb = key:gsub(parent_re, "")
break
end
if raw_categories[parent] then
parent = raw_categories[parent].parents[1]
else
break
end
else
break
end
end
end
end
-----------------------------------------------------------------------------
-- --
-- RAW HANDLERS --
-- --
-----------------------------------------------------------------------------
insert(raw_handlers, function(data)
-- Allow 'Foo reference templates' for etym-only varieties.
local langname = data.category:match("^(.+) reference templates$")
if not langname then
return nil
end
local lang = require(languages_module).getByCanonicalName(langname, nil, true)
if lang and lang:hasType("etymology-only") then
local first_parent
local lang_parent = lang:getParent()
if lang_parent:hasType("etymology-only") then
-- In case there are nested etymology templates, return the parent's reference template cat, not the
-- full lang's reference template cat.
first_parent = lang_parent:getCanonicalName() .. " reference templates"
else
first_parent = {name = "reference templates", lang = lang_parent:getCode(), is_label = true}
end
return {
lang = lang:getCode(),
description = "Templates used to generate reference footnotes for {{{langname}}} entries.",
parents = {
first_parent,
lang:getCategoryName(),
},
breadcrumb_and_first_sort_key = langname,
}
end
end)
return {LABELS = labels, RAW_CATEGORIES = raw_categories, RAW_HANDLERS = raw_handlers}
9mtp4jf2frsdjmfzstzm0kkfwsdezra
234060
234059
2026-05-15T07:06:26Z
Lee
19
[[:en:Module:category_tree/templates]] වෙතින් එක් සංශෝධනයක්
234059
Scribunto
text/plain
local labels = {}
local raw_categories = {}
local raw_handlers = {}
local languages_module = "Module:languages"
local insert = table.insert
-----------------------------------------------------------------------------
-- --
-- LABELS --
-- --
-----------------------------------------------------------------------------
labels["templates"] = {
description = "{{{langname}}} [[Wiktionary:Templates|templates]], which contain reusable wiki code that helps with creating and managing entries.",
umbrella = {
parents = {{name = "Templates", sort = " "}},
breadcrumb = "by language",
},
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["auto-table templates"] = {
description = "Templates that contain {{{langname}}} tables generated automatically.",
additional = "They use the <code>table:</code> prefix. For example, see [[Template:table:chess pieces/en]].",
parents = {"link templates"},
}
labels["category boilerplate templates"] = {
description = "Templates used to generate descriptions and categorization for category pages.",
parents = {"templates"},
}
labels["conversion templates"] = {
description = "Templates used in {{{langname}}} entries to convert between different orthographic or numeral representations.",
parents = {"templates"},
}
labels["definition templates"] = {
description = "Templates used in the [[Wiktionary:Glossary#definition line|definition line]] of {{{langname}}} entries to help in creating definitions.",
parents = {"templates"},
}
labels["entry templates"] = {
description = "Templates used to help in the creation of {{{langname}}} entries.",
umbrella_parents = {"Templates subcategories by language", "Entry templates"},
parents = {"templates"},
}
labels["etymology templates"] = {
description = "Templates used in the etymology section of {{{langname}}} entries.",
parents = {"templates"},
}
labels["experimental templates"] = {
description = "Templates used to test possible content for {{{langname}}} entries.",
parents = {"templates"},
}
labels["form-of templates"] = {
description = "Templates used on the definition line of entries for inflected forms of words in {{{langdisp}}}, to link back to the main form.",
parents = {"definition templates", "link templates"},
}
labels["headword-line templates"] = {
description = "Templates used in {{{langname}}} entries to display lines containing headwords.",
parents = {"templates"},
}
labels["index templates"] = {
description = "Templates used to organize {{{langname}}} indexes.",
parents = {"link templates"},
}
labels["inflection-table templates"] = {
description = "Templates used to show inflection tables for {{{langname}}} terms.",
parents = {"templates"},
}
-- Do particular types of inflection-table templates.
for _, pos in ipairs({
"adjective",
"adverb",
"determiner",
"nominal",
"noun",
"numeral",
"participle",
"postposition",
"particle",
"preposition",
"pronoun",
"verb",
}) do
labels[pos .. " inflection-table templates"] = {
description = "Templates used to show declension tables for {{{langname}}} " .. pos .. "s.",
parents = {"inflection-table templates"},
}
end
labels["link templates"] = {
description = "{{{langname}}} templates used to create links to other entries.",
parents = {"templates"},
}
labels["list templates"] = {
description = "Templates that contain {{{langname}}} lists.",
additional = "They use the <code>list:</code> prefix. For example, see [[Template:list:Latin script letters/en]].<br />" ..
"See also [[:Category:List templates]].",
parents = {"link templates"},
}
labels["mutation templates"] = {
description = "Templates used to show mutation of {{{langname}}} words.",
parents = {"templates"},
}
labels["navigation templates"] = {
description = "{{{langname}}} templates used to create navigation boxes for easily linking to other similar pages.",
additional = "Examples are all the members of a given class (e.g. personal pronouns, interrogatives, demonstratives), cardinal numbers up to 100, category TOC (table-of-contents) templates, etc.",
parents = {"link templates"},
}
labels["pronunciation templates"] = {
description = "Templates used to generate IPA pronunciation, rhymes, hyphenation, etc. for {{{langname}}} entries.",
umbrella_parents = {"Templates subcategories by language", "Category:Pronunciation templates"},
parents = {"templates"},
}
labels["sign production templates"] = {
description = "Templates used in describing and showing the production of {{{langname}}} signs.",
parents = {"pronunciation templates"},
}
labels["quotation templates"] = {
description = "Templates used to generate quotations for {{{langname}}} entries.",
umbrella_parents = {"Templates subcategories by language", "Category:Citation templates"},
parents = {"templates"},
}
labels["quotation navigation templates"] = {
description = "Templates used in the documentation of {{{langname}}} [[Wiktionary:Quotations/Templates|quotation templates]] in order to link to quotation templates for other works by the same author.",
umbrella_parents = {"Templates subcategories by language", "Category:Navigation templates", "Category:Quotation templates by language"},
parents = {"quotation templates", "link templates"},
}
labels["reference templates"] = {
topright = function(data)
if data.lang and data.lang:getCode() == "ine-pro" then
return "{{shortcut|WT:RTINE}}"
end
end,
umbrella = {
preceding = "{{also|Wiktionary:Reference templates}}\n{{also|Template:refcat}}",
parents = {"Templates subcategories by language", "Category:Reference templates"},
breadcrumb = "by language",
},
description = "Templates used to generate reference footnotes for {{{langname}}} entries.",
parents = {"link templates"},
}
labels["reference navigation templates"] = {
description = "Templates used in the documentation of reference templates in order to link to related reference templates.",
umbrella_parents = {"Templates subcategories by language", "Category:Navigation templates", "Category:Reference templates by language"},
parents = {"reference templates", "link templates"},
}
labels["supplementary templates"] = {
description = "Templates used to keep contents for other {{{langname}}} templates.",
parents = {"templates"},
}
labels["inflection-table subtemplates"] = {
description = "Templates used to assist in constructing parts of {{{langname}}} inflection-table templates.",
parents = {"supplementary templates"},
}
labels["usage templates"] = {
description = "Templates used to show usage notes in {{{langname}}} entries.",
parents = {"templates"},
}
for key, data in pairs(labels) do
-- Add 'umbrella_parents' key if not already present.
if not data.umbrella and not data.umbrella_parents then
data.umbrella_parents = "Templates subcategories by language"
end
-- Add breadcrumb by chopping off the parent (or the parent's parent, etc.) from the end of the label, if possible.
if not data.breadcrumb then
local parent = data.parents[1]
while true do
if type(parent) == "string" then
local parent_re = " " .. require("Module:string utilities").pattern_escape(parent) .. "$"
if key:find(parent_re) then
data.breadcrumb = key:gsub(parent_re, "")
break
end
if labels[parent] then
parent = labels[parent].parents[1]
else
break
end
else
break
end
end
end
end
-----------------------------------------------------------------------------
-- --
-- RAW CATEGORIES --
-- --
-----------------------------------------------------------------------------
raw_categories["Templates"] = {
topright = "{{shortcut|WT:T}}",
description = "An organizing category intended for all templates in use on Wiktionary.",
additional = "''See also: [[Wiktionary:Templates]], [[meta:Help:Template]]''",
parents = {"Wiktionary"},
}
raw_categories["Administration templates"] = {
description = "Templates used in the administration of Wiktionary.",
additional = "They are only used outside of mainspace and are distinct from [[:Category:Maintenance templates|maintenance templates]], which are used in maintaining entries.",
parents = {"Templates"},
}
raw_categories["Archive templates"] = {
description = "Templates used on archived or otherwise inactive pages.",
parents = {"Administration templates"},
}
raw_categories["CheckUser templates"] = {
description = "Templates related to [[Wiktionary:Requests for checkuser|checkuser requests]].",
parents = {"Administration templates"},
}
raw_categories["Editnotices"] = {
description = "Templates used to display notices in edit mode.",
parents = {"Administration templates"},
}
raw_categories["Appendix templates"] = {
description = "Templates used in appendices or to link to appendices.",
parents = {"Templates", "Category:Appendices"},
}
raw_categories["Swadesh list templates"] = {
description = "Templates used on pages that contain [[w:Swadesh list]]s.<br />" ..
"See also [[Wiktionary:Swadesh template]] and [[Wiktionary:Swadesh template categorized]].",
parents = {"Appendix templates"},
}
raw_categories["Astrology templates"] = {
description = "Templates that display astrology-related diagrams or boxes.",
parents = {"Templates"},
}
raw_categories["Audio templates"] = {
description = "Templates used to play or request audio files.",
parents = {"Templates"},
}
raw_categories["Auto-table templates"] = {
description = "Templates used to generate word tables (like [[Template:table:seasons]]).",
additional = "See also [[:Category:Auto-table templates by language]].",
parents = {"Templates"},
}
raw_categories["Box templates"] = {
description = "General purpose box templates.",
additional = "If you're considering making a template that looks like a box, look here first!",
parents = {"Templates"},
}
raw_categories["Categorization templates"] = {
preceding = "{{also|:Category:Category modules}}",
description = "Templates used to categorize terms or entries.",
additional = "([[:Category:Category templates]], on the other hand, contains templates used in the category namespace.)",
parents = {"Templates"},
}
raw_categories["Category templates"] = {
description = "Templates used in the category namespace.",
additional = "([[:Category:Categorization templates]], on the other hand, contains templates used to categorize pages.)",
parents = {"Templates"},
}
raw_categories["Category boilerplate templates"] = {
description = "Templates used to generate the text of category pages.",
parents = {"Category templates"},
}
raw_categories["TOC templates"] = {
description = "Templates used to generate a list of linked letters to navigate the pages listed in categories.",
parents = {"Category templates", "Navigation templates"},
}
raw_categories["Character info templates"] = {
description = "Templates that utilize {{temp|character info}}.",
parents = {"Templates"},
}
raw_categories["Character insertion templates"] = {
description = "Templates that provide easier ways to type characters that are not found in most keyboard layouts.",
parents = {"Templates"},
}
raw_categories["Templates for generating characters used in wiki code"] = {
description = "Templates used to generate characters that are reserved for specific wiki code functions and cannot be directly entered.",
additional = "An alternative to using these templates is to use an HTML entity such as <code>&#91</code> " ..
"for a left bracket.<br />" ..
"Note that the templates below are sorted by the first character of the wikicode that each template generates.",
parents = {"Character insertion templates"},
}
raw_categories["Chemistry templates"] = {
description = "Templates that display chemistry-related diagrams or boxes.",
parents = {"Templates"},
}
raw_categories["Chess templates"] = {
description = "Templates that display chess diagrams.",
parents = {"Templates"},
}
raw_categories["Citation templates"] = {
preceding = "{{ombox|type=speedy|text=Some templates may be marked '''FOR TESTING ONLY'''. Do not use these in entries, if requested on the template page itself. Take a look at the template page before using it.}}",
description = "Templates used to generate citations and quotations.",
additional = [=[
{{citation templates}}
==See also==
* [[Wiktionary:Quotations]]
* [[:Category:Reference templates]] for specific templates to well-known and widely used sources.]=],
parents = {"Templates"},
}
-- Skipped: Concordance templates
raw_categories["Control flow templates"] = {
description = "Templates to aid in control-flow constructs, which the template language is normally limited in.",
parents = {"Templates"},
}
raw_categories["Cross reference templates"] = {
description = "Templates used to create cross-references between sections.",
parents = {"Templates"},
}
raw_categories["Dating templates"] = {
description = "Templates for displaying dates.",
parents = {"Templates"},
}
raw_categories["Definition templates"] = {
description = "Templates used in the [[Wiktionary:Glossary#definition line|definition line]] to help in creating definitions.",
parents = {"Templates"},
}
raw_categories["Form-of templates"] = {
description = "Templates used in defining inflections or variants of a given lemma.",
parents = {"Definition templates"},
}
raw_categories["Grammar form-of templates"] = {
description = "Templates used in defining terms that stand in a particular grammatical relation to a given lemma.",
parents = {"Form-of templates"},
}
raw_categories["Conjugation form-of templates"] = {
description = "Templates used in defining terms that represent particular verb forms (e.g. past participle) of given lemma.",
parents = {"Grammar form-of templates"},
}
raw_categories["Declension form-of templates"] = {
description = "Templates used in defining terms that represent particular noun or adjective forms (e.g. masculine plural) of given lemma.",
parents = {"Grammar form-of templates"},
}
raw_categories["Name templates"] = {
description = "Templates used in the [[Wiktionary:Glossary#definition line|definition line]] to help in creating definitions for names.",
parents = {"Definition templates"},
}
raw_categories["Object usage templates"] = {
description = "Templates used in the [[Wiktionary:Glossary#definition line|definition line]] to show case and adposition usage for verb objects and similar constructs.",
parents = {"Definition templates"},
}
raw_categories["Place name templates"] = {
description = "Templates used in defining place names or demonyms that refer to place names.",
parents = {"Definition templates"},
}
raw_categories["Entry templates"] = {
description = "Templates used to help create new entries.",
parents = {"Templates"},
}
raw_categories["Etymology templates"] = {
description = "Templates used in etymology sections to define the etymology of a term.",
parents = {"Templates"},
}
raw_categories["Foreign derivation templates"] = {
description = "Templates used in etymology sections to indicate derivation from a different language than the language of the current entry.",
parents = {"Etymology templates"},
}
raw_categories["Morphology templates"] = {
description = "Templates used in etymology sections to specify the morphology of a term.",
parents = {"Etymology templates"},
}
raw_categories["Language-specific morphology templates"] = {
description = "Specialized morphology templates used in the etymology sections of terms in particular languages.",
parents = {"Morphology templates"},
}
raw_categories["Headword-line templates"] = {
preceding = "{{also|Wiktionary:Headword-line templates}}",
description = "Templates used to define the [[Wiktionary:Glossary#headword line|headword line]] of a term.",
parents = {"Templates"},
}
raw_categories["Discussion templates"] = {
description = "Templates intended for use only in discussions and documentation of templates and modules.",
parents = {"Templates"},
}
raw_categories["Monthly-subpages discussion room infrastructure"] = {
description = "Templates used in generating and maintaining monthly discussion forums such as the [[Wiktionary:Grease pit|Grease pit]] and [[Wiktionary:Beer parlour|Beer parlour]].",
parents = {"Discussion templates"},
}
raw_categories["Documentation templates"] = {
description = "Templates used on template and module documentation pages.",
parents = {"Templates"},
}
raw_categories["File templates"] = {
description = "Templates used in the File namespace.",
parents = {"Templates"},
}
raw_categories["Language attestation warning templates"] = {
description = "Templates that warn users about the attestation status of entries or senses from a language.",
parents = {"Templates"},
}
raw_categories["Layout templates"] = {
description = "Templates used in creating specific layouts within entries.",
parents = {"Templates"},
}
raw_categories["Collapsible box templates"] = {
description = "Templates used in creating collapsible boxes.",
parents = {"Layout templates"},
}
raw_categories["Column templates"] = {
preceding = "{{also|Wiktionary:Templates#Columns}}",
description = "Templates used in laying out lists in columns.",
parents = {"Layout templates"},
}
raw_categories["Table templates"] = {
description = "Templates used in formatting tables.",
parents = {"Layout templates"},
}
raw_categories["Link templates"] = {
description = "Templates used to link to other terms, to other MediaWiki projects or to external websites.",
parents = {"Templates"},
}
raw_categories["Disambiguation templates"] = {
description = "Templates used to disambiguate multiple similar terms.",
parents = {"Link templates"},
}
raw_categories["External link templates"] = {
description = "Templates that link to websites outside of the MediaWiki Foundation purview.",
additional = "See also [[:Category:Citation templates]] for others.",
parents = {"Link templates"},
}
raw_categories["Internal link templates"] = {
description = "Templates that link between Wiktionary entries.",
parents = {"Link templates"},
}
raw_categories["Language-specific internal link templates"] = {
description = "Language-specific templates that link between Wiktionary entries in particular languages.",
parents = {"Internal link templates"},
}
raw_categories["Interwiki link templates"] = {
description = "Templates that link to other Wikimedia projects.",
parents = {"Link templates"},
}
raw_categories["Inline interwiki link templates"] = {
description = "Inline templates that link to other Wikimedia projects.",
parents = {"Interwiki link templates"},
}
raw_categories["Sidebar interwiki link templates"] = {
description = "Sidebar templates that link to other Wikimedia projects.",
parents = {"Interwiki link templates"},
}
raw_categories["Wikidata link templates"] = {
description = "Inline templates that link to Wikidata.",
parents = {"Interwiki link templates"},
}
raw_categories["Wikisource link templates"] = {
description = "Inline templates that link to Wikisource.",
parents = {"Interwiki link templates"},
}
raw_categories["List templates"] = {
description = "Templates used to generate lists.",
additional = "See also [[:Category:List templates by language]].",
parents = {"Templates"},
}
raw_categories["Character list templates"] = {
description = "Templates used to generate lists of characters.",
parents = {"List templates"},
}
raw_categories["Lua-free templates"] = {
description = "Lua-free (i.e. \"lite\") versions of templates that use Lua.",
additional = "Lua-free templates are used on long pages to avoid [[Wiktionary:Lua memory errors|Lua memory errors]].",
parents = {"Templates"},
}
raw_categories["Maintenance templates"] = {
preceding = "{{also|Wiktionary:Maintenance templates}}",
description = "Templates used in the maintenance of Wiktionary entries and other pages.",
additional = "They are distinct from [[:Category:Administration templates|administration templates]], which are only used outside of mainspace.",
parents = {"Templates", "Category:Wiktionary maintenance"},
}
raw_categories["Cleanup templates"] = {
description = "Templates used to request cleanup of entries.",
additional = "Some of these templates are used when entries are batch-imported from another source.",
parents = {"Maintenance templates", "Request templates"},
}
raw_categories["Deletion templates"] = {
description = "Templates used to request deletion of entries.",
parents = {"Maintenance templates", "Request templates"},
}
raw_categories["Verification templates"] = {
description = "Templates used to request verification of entries that may be incorrect.",
parents = {"Maintenance templates", "Request templates"},
}
raw_categories["Wiktionary templates"] = {
description = "Templates used in the internal operation of Wiktionary.",
parents = {"Templates", "Wiktionary"},
}
raw_categories["Metatemplates"] = {
description = "Templates used in other templates or to create other templates.",
parents = {"Templates"},
}
raw_categories["String manipulation templates"] = {
description = "Templates used to manipulate strings.",
additional = "See also [[Module:string/templates]], which can be invoked from templates to do string manipulation.",
parents = {"Metatemplates"},
}
------------ NAVIGATION TEMPLATES ------------
raw_categories["Navigation templates"] = {
description = "Templates used to create navigation boxes for easily linking to other similar pages.",
parents = {"Templates"},
}
raw_categories["Language-specific number templates"] = {
description = "Language-specific templates that generate number boxes or lists for a given language.",
additional = "Contrast {{catlink|Number templates}}, which contains general (language-agnostic) templates for converting numbers or generating number boxes or lists in a given language.",
parents = {"Navigation templates"},
}
raw_categories["Pro-form box templates"] = {
description = "Language-specific templates that generate navigation boxes for displaying pro-forms (pronouns, determiners, pronominal adverbs, etc.) for a given language.",
parents = {"Navigation templates"},
}
raw_categories["Demonstrative box templates"] = {
description = "Language-specific templates that generate demonstrative pronoun, determiner and adverb boxes for a given language.",
parents = {"Pro-form box templates"},
}
raw_categories["Grammatical article box templates"] = {
description = "Language-specific templates that generate grammatical article boxes (definite, indefinite, partitive, etc.) for a given language.",
parents = {"Pro-form box templates"},
}
raw_categories["Interrogative box templates"] = {
description = "Language-specific templates that generate interrogative pronoun, determiner and adverb boxes for a given language.",
parents = {"Pro-form box templates"},
}
raw_categories["Personal pronoun box templates"] = {
description = "Language-specific templates that generate personal pronoun boxes for a given language.",
additional = [=[
The standard format for these templates is:
* Where the language is uninflected (e.g. Samoan {{tl|sm-personal pronouns}}) or the language is inflected but the box shows only the lemma forms of the pronoun (e.g. Basque {{tl|eu-personal pronouns}}), the '''numbers''' (singular/plural) run across the top and the '''persons''' (1st/2nd/3rd) run down the left side.
* Where the language is inflected, the '''cases''' run across the top. Down the left side, the headers (from left to right) are '''number''', '''person''', then any subform if applicable. Example: Middle High German {{tl|gmh-personal pronouns}}
** Exceptions:
*** If there are too many cases to fit on the screen as columns, the template can be transposed so that cases run vertically. Example: Northern Yukaghir {{tl|ykg-personal pronouns}}
*** If the singular and plural forms are very similar, consider placing the person headers outside number instead. Example: Punjabi {{tl|pa-personal pronouns}}
]=],
parents = {"Pro-form box templates"},
}
raw_categories["Possessive pronoun and determiner box templates"] = {
description = "Language-specific templates that generate possessive pronoun and determiner boxes for a given language.",
parents = {"Pro-form box templates"},
}
raw_categories["Reflexive pronoun and determiner box templates"] = {
description = "Language-specific templates that generate reflexive pronoun and determiner boxes for a given language.",
parents = {"Pro-form box templates"},
}
raw_categories["Relative pronoun and determiner box templates"] = {
description = "Language-specific templates that generate relative pronoun and determiner boxes for a given language.",
parents = {"Pro-form box templates"},
}
raw_categories["Number templates"] = {
description = "General (language-agnostic) templates used to convert numbers or generate boxes or lists of the numbers in a given language.",
additional = "Contrast {{catlink|Language-specific number templates}}, which contains language-specific templates for generating number boxes or lists in a given language.",
parents = {"Templates"},
}
raw_categories["Orthographic and regional variant templates"] = {
description = "Templates used to generate lists of links to alternative forms of a term, either across orthographic systems, scripts, or regional or dialectal variation.",
parents = {"Script templates", "Internal link templates"},
}
raw_categories["Pagename templates"] = {
description = "Templates used to retrieve pagenames or pagename properties or manipulate pagenames.",
parents = {"Templates"},
}
raw_categories["Preloaded templates"] = {
description = "Templates not meant to be transcluded, but instead, whether through URL parameters or modules, have their contents preloaded into edit fields.",
parents = {"Templates"},
}
raw_categories["Pronunciation templates"] = {
description = "Templates used to format pronunciation sections and the characters they use.",
additional = "See also [[:Category:Script templates]] and [[Wiktionary:Pronunciation]].",
parents = {"Templates"},
}
raw_categories["Rhyme templates"] = {
description = "Templates used to format [[Wiktionary:Rhymes|rhyme pages]], links to them from pronunciation sections, etc.",
parents = {"Pronunciation templates"},
}
raw_categories["Sign language templates"] = {
description = "Templates used to format sign-language pronunciation charts.",
parents = {"Pronunciation templates"},
}
raw_categories["Qualifier and gloss templates"] = {
description = "Templates for displaying qualifiers, glosses and the like.",
parents = {"Templates"},
}
raw_categories["Redirect templates"] = {
description = "Templates used to format redirect pages.",
parents = {"Templates"},
}
raw_categories["Reference templates"] = {
preceding = "{{also|Wiktionary:Reference templates|:Category:Reference templates by language}}",
description = "Templates used to format references.",
parents = {"Templates"},
}
raw_categories["Religion templates"] = {
description = "Templates that display religion-related diagrams or boxes.",
parents = {"Templates"},
}
raw_categories["Request templates"] = {
topright = "{{shortcut|WT:RT}}",
description = "Request templates for dictionary entries in the main namespace.",
parents = {"Templates", "Requests"},
}
raw_categories["Sandbox templates"] = {
description = "Sandbox versions of templates used for testing purposes.",
additional = "'''NOTE:''' The use of sandbox templates in mainspace is strongly dispreferred. Please place all sandbox templates in your userspace.",
parents = {"Templates"},
}
raw_categories["Script templates"] = {
preceding = "{{mainwikt|Scripts}}",
description = "Templates used for converting between scripts or displaying text in a specific script.",
parents = {"Templates"},
}
raw_categories["Semantic relation templates"] = {
description = "Templates that are placed below the [[Wiktionary:Glossary#definition line|definition line]], to indicate other terms semantically related to a particular sense.",
parents = {"Templates"},
}
raw_categories["Single-page-use templates"] = {
description = "Templates used only on a single page and unlikely to find re-use elsewhere.",
parents = {"Templates"},
}
raw_categories["Supplementary templates"] = {
description = "A grab bag of templates used to assist other templates.",
additional = "These should be recategorized according to function.",
parents = {"Templates"},
}
raw_categories["Taxonomy templates"] = {
description = "Templates used in Translingual taxonomy entries and in reference to those entries.",
parents = {"Templates"},
}
raw_categories["Taxonomic hypernym templates"] = {
description = "Templates and subcategories containing such templates. The templates contain text to appear under the Hypernyms header for taxonomic name entries.",
additional = "Each template has the name of the taxon from which it begins. The templates in this category at present are the many templates that begin with the names of taxonomic families. Others are in subcategories",
breadcrumb = "Hypernym",
parents = {"Taxonomy templates"},
}
raw_categories["Taxonomic name templates"] = {
description = "Templates used for the presentation of taxonomic names on a definition line.",
breadcrumb = "Name",
parents = {"Taxonomy templates", "Definition templates"},
}
raw_categories["Taxonomic reference templates"] = {
description = "Templates used to format references for taxonomic names.",
breadcrumb = "Reference",
parents = {"Taxonomy templates", "Reference templates"},
}
raw_categories["Templates that must be substituted"] = {
description = "Templates that are not intended for transclusion with <code><nowiki>{{ }}</nowiki></code>, " ..
"and must be substituted with <code><nowiki>{{subst: }}</nowiki></code>wherever they exist.",
additional = "Some of the members of this category are permanent, as the template was written in such a way that " ..
"it must be substituted to function properly. There may also be templates in this category that are deprecated, " ..
"in which case their content has been replaced with the preferred code.",
parents = {"Templates", "Requests"},
}
raw_categories["Templates with acceleration"] = {
description = "Templates can be added to this category by adding {{tl|isAccelerated}} to their documentation pages.",
additional = "Presence in this category indicates that at least some of the \"form-of\" entries for the word can be generated semi-automatically by users with [[Wiktionary:ACCEL|accelerated]] editing enabled.",
parents = {"Templates"},
}
raw_categories["Text format templates"] = {
description = "Templates that provide shortcuts for formatting ordinary text.",
parents = {"Templates"},
}
raw_categories["Thesaurus templates"] = {
description = "Templates for linking to or formatting thesaurus entries.",
parents = {"Templates"},
}
raw_categories["Translation templates"] = {
description = "Templates used to format entries in and parts of translation tables.",
parents = {"Templates"},
}
raw_categories["User templates"] = {
description = "Templates meant to be used in userspace.",
parents = {"Templates"},
}
raw_categories["User sandbox templates"] = {
description = "Templates that are for personal use and testing by individual editors.",
additional = "These should all begin with <code>User:</code> followed by the user's name. If several " ..
"sandbox templates are needed by a single user, subpages can be created. These templates should not be used in real " ..
"Wiktionary content pages, as all content on those pages should be editable by anyone and, if necessary, edit protected.",
parents = { "Sandbox templates", "Templates" },
}
raw_categories["Authority control subtemplates"] = {
description = "Subtemplates used in conjunction with {{tl|authority control}}.",
parents = {"User templates"},
}
raw_categories["User competency templates"] = {
description = "Templates used for to indicate a user's competency in a given natural language, script or programming language.",
additional = "These are used in conjunction with {{tl|Babel}}, which invokes these templates as necessary.",
parents = {"User templates"},
}
raw_categories["Coder user templates"] = {
description = "Templates used for to indicate a user's competency in a given programming language.",
additional = "These are used in conjunction with {{tl|Babel}}, which invokes these templates as necessary.",
parents = {"User competency templates"},
}
raw_categories["Language user templates"] = {
description = "Templates used for to indicate a user's competency in speaking a given language.",
additional = "These are used in conjunction with {{tl|Babel}}, which invokes these templates as necessary.",
parents = {"User competency templates"},
}
raw_categories["Script user templates"] = {
description = "Templates used for to indicate a user's competency in reading a given script.",
additional = "These are used in conjunction with {{tl|Babel}}, which invokes these templates as necessary.",
parents = {"User competency templates"},
}
raw_categories["WOTD templates"] = {
description = "Templates used to support the Word of the Day.",
parents = {"Wiktionary templates"},
}
raw_categories["FWOTD templates"] = {
description = "Templates used to support the Foreign Word of the Day.",
parents = {"WOTD templates"},
}
raw_categories["Non-production templates and modules"] = {
description = "Templates and modules not currently used in production.",
additional = "{{also|Special:UnusedTemplates|Category:Unused templates}}",
parents = {"Templates", "Modules", "Category:Wiktionary maintenance"},
}
raw_categories["Templates subcategories by language"] = {
description = "Umbrella categories covering topics related to templates.",
additional = "{{{umbrella_meta_msg}}}",
parents = {
"Umbrella metacategories",
{name = "templates", is_label = true, sort = " "},
},
}
-- Add breadcrumb by chopping off the parent (or the parent's parent, etc.) from the end of the label, if possible.
for key, data in pairs(raw_categories) do
if not data.breadcrumb then
local parent = data.parents[1]
while true do
if type(parent) == "string" then
local parent_re = " " .. require("Module:string utilities").pattern_escape(mw.getContentLanguage():lcfirst(parent)) .. "$"
if key:find(parent_re) then
data.breadcrumb = key:gsub(parent_re, "")
break
end
if raw_categories[parent] then
parent = raw_categories[parent].parents[1]
else
break
end
else
break
end
end
end
end
-----------------------------------------------------------------------------
-- --
-- RAW HANDLERS --
-- --
-----------------------------------------------------------------------------
insert(raw_handlers, function(data)
-- Allow 'Foo reference templates' for etym-only varieties.
local langname = data.category:match("^(.+) reference templates$")
if not langname then
return nil
end
local lang = require(languages_module).getByCanonicalName(langname, nil, true)
if lang and lang:hasType("etymology-only") then
local first_parent
local lang_parent = lang:getParent()
if lang_parent:hasType("etymology-only") then
-- In case there are nested etymology templates, return the parent's reference template cat, not the
-- full lang's reference template cat.
first_parent = lang_parent:getCanonicalName() .. " reference templates"
else
first_parent = {name = "reference templates", lang = lang_parent:getCode(), is_label = true}
end
return {
lang = lang:getCode(),
description = "Templates used to generate reference footnotes for {{{langname}}} entries.",
parents = {
first_parent,
lang:getCategoryName(),
},
breadcrumb_and_first_sort_key = langname,
}
end
end)
return {LABELS = labels, RAW_CATEGORIES = raw_categories, RAW_HANDLERS = raw_handlers}
9mtp4jf2frsdjmfzstzm0kkfwsdezra
234061
234060
2026-05-15T07:06:46Z
Lee
19
පැරණි සංස්කරණයකින් ගත් කොටස්...
234061
Scribunto
text/plain
local m_sinhala = require("Module:sinhala")
local labels = {}
local raw_categories = {}
local raw_handlers = {}
local languages_module = "Module:languages"
local insert = table.insert
-----------------------------------------------------------------------------
-- --
-- LABELS --
-- --
-----------------------------------------------------------------------------
labels["සැකිලි"] = {
description = "ප්රවේශ නිර්මාණය සහ කළමනාකරණය සඳහා සහාය සලසන, නැවත-නැවත භාවිතයට ගත හැකි විකි කේත අඩංගු, {{{langname}}} [[වික්ෂනරි:සැකිලි|සැකිලි]].",
umbrella = {
parents = {{name = "සැකිලි", sort = " "}},
breadcrumb = "භාෂාව අනුව",
},
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["ස්වයංක්රීය-වගු සැකිලි"] = {
description = "Templates that contain {{{langname}}} tables generated automatically.",
additional = "They use the <code>වගුව:</code> prefix. උදාහරණ සඳහා, [[සැකිල්ල:වගුව:chess pieces/en]] වෙතට යොමු වන්න.",
parents = {"සබැඳි සැකිලි"},
}
labels["category boilerplate templates"] = {
description = "Templates used to generate descriptions and categorization for category pages.",
parents = {"සැකිලි"},
}
labels["conversion templates"] = {
description = "Templates used in {{{langname}}} entries to convert between different orthographic or numeral representations.",
parents = {"සැකිලි"},
}
labels["අර්ථ දැක්වීම් සැකිලි"] = {
description = "Templates used in the [[Wiktionary:Glossary#definition line|definition line]] of {{{langname}}} entries to help in creating definitions.",
parents = {"සැකිලි"},
}
labels["ප්රවේශ සැකිලි"] = {
description = "Templates used to help in the creation of {{{langname}}} entries.",
umbrella_parents = {"Templates subcategories by language", "ප්රවේශ සැකිලි"},
parents = {"සැකිලි"},
}
labels["නිරුක්ති සැකිලි"] = {
description = "Templates used in the etymology section of {{{langname}}} entries.",
parents = {"සැකිලි"},
}
labels["experimental templates"] = {
description = "Templates used to test possible content for {{{langname}}} entries.",
parents = {"සැකිලි"},
}
labels["රූපාකාර සැකිලි"] = {
description = "Templates used on the definition line of entries for inflected forms of words in {{{langdisp}}}, to link back to the main form.",
parents = {"definition templates", "සබැඳි සැකිලි"},
}
labels["යොමු වචන පේළි සැකිලි"] = {
description = "{{{langname}}} යොමු වචන අඩංගු පේළි පෙන්වීම සඳහා භාවිතා වන සැකිලි.",
parents = {"සැකිලි"},
}
labels["index templates"] = {
description = "Templates used to organize {{{langname}}} indexes.",
parents = {"සබැඳි සැකිලි"},
}
labels["වරනැගීම්-වගු සැකිලි"] = {
description = "Templates used to show inflection tables for {{{langname}}} terms.",
parents = {"සැකිලි"},
}
-- Do particular types of inflection-table templates.
for _, pos in ipairs({
"adjective",
"adverb",
"determiner",
"nominal",
"noun",
"numeral",
"participle",
"postposition",
"particle",
"preposition",
"pronoun",
"verb",
}) do
labels[m_sinhala.sinhala_adjective(pos) .. " වරනැගීම්-වගු සැකිලි"] = {
description = "Templates used to show declension tables for {{{langname}}} " .. pos .. "s.",
parents = {"වරනැගීම්-වගු සැකිලි"},
}
end
labels["සබැඳි සැකිලි"] = {
description = "{{{langname}}} templates used to create links to other entries.",
parents = {"සැකිලි"},
}
labels["ලැයිස්තු සැකිලි"] = {
description = "{{{langname}}} ලැයිස්තු අඩංගු වන සැකිලි.",
additional = "මේවා <code>list:</code> උපසර්ගය භාවිතා කරයි. උදාහරණයක් සඳහා, [[සැකිල්ල:list:Latin script letters/en]] වෙතට යොමු වන්න.<br />" ..
"අමතර අවධානයට [[:ප්රවර්ගය:ලැයිස්තු සැකිලි]].",
parents = {"සබැඳි සැකිලි"},
}
labels["mutation templates"] = {
description = "Templates used to show mutation of {{{langname}}} words.",
parents = {"සැකිලි"},
}
labels["navigation templates"] = {
description = "{{{langname}}} templates used to create navigation boxes for easily linking to other similar pages.",
additional = "Examples are all the members of a given class (e.g. personal pronouns, interrogatives, demonstratives), cardinal numbers up to 100, category TOC (table-of-contents) templates, etc.",
parents = {"සබැඳි සැකිලි"},
}
labels["උච්චාරණ සැකිලි"] = {
description = "Templates used to generate IPA pronunciation, rhymes, hyphenation, etc. for {{{langname}}} entries.",
umbrella_parents = {"Templates subcategories by language", "ප්රවර්ගය:උච්චාරණ සැකිලි"},
parents = {"සැකිලි"},
}
labels["sign production templates"] = {
description = "Templates used in describing and showing the production of {{{langname}}} signs.",
parents = {"pronunciation templates"},
}
labels["උපුටා දැක්වීම් සැකිලි"] = {
description = "Templates used to generate quotations for {{{langname}}} entries.",
umbrella_parents = {"Templates subcategories by language", "ප්රවර්ගය:උපහරණ සැකිලි"},
parents = {"සැකිලි"},
}
labels["quotation navigation templates"] = {
description = "Templates used in the documentation of {{{langname}}} [[Wiktionary:Quotations/Templates|quotation templates]] in order to link to quotation templates for other works by the same author.",
umbrella_parents = {"Templates subcategories by language", "Category:Navigation templates", "Category:Quotation templates by language"},
parents = {"උපුටා දැක්වීම් සැකිලි", "සබැඳි සැකිලි"},
}
labels["මූලාශ්ර සැකිලි"] = {
topright = function(data)
if data.lang and data.lang:getCode() == "ine-pro" then
return "{{shortcut|WT:RTINE}}"
end
end,
umbrella = {
preceding = "{{also|Wiktionary:Reference templates}}\n{{also|Template:refcat}}",
parents = {"Templates subcategories by language", "ප්රවර්ගය:මූලාශ්ර සැකිලි"},
breadcrumb = "භාෂාව අනුව",
},
description = "{{{langname}}} ප්රවේශ සඳහා මූලාශ්ර පාද සටහන් ජනනය පිණිස භාවිතා වන සැකිලි.",
parents = {"සබැඳි සැකිලි"},
}
labels["reference navigation templates"] = {
description = "Templates used in the documentation of reference templates in order to link to related reference templates.",
umbrella_parents = {"Templates subcategories by language", "Category:Navigation templates", "Category:Reference templates by language"},
parents = {"මූලාශ්ර සැකිලි", "සබැඳි සැකිලි"},
}
labels["පරිපූරක සැකිලි"] = {
description = "Templates used to keep contents for other {{{langname}}} templates.",
parents = {"සැකිලි"},
}
labels["inflection-table subtemplates"] = {
description = "Templates used to assist in constructing parts of {{{langname}}} inflection-table templates.",
parents = {"පරිපූරක සැකිලි"},
}
labels["භාවිතා සැකිලි"] = {
description = "Templates used to show usage notes in {{{langname}}} entries.",
parents = {"සැකිලි"},
}
for key, data in pairs(labels) do
-- Add 'umbrella_parents' key if not already present.
if not data.umbrella and not data.umbrella_parents then
data.umbrella_parents = "Templates subcategories by language"
end
-- Add breadcrumb by chopping off the parent (or the parent's parent, etc.) from the end of the label, if possible.
if not data.breadcrumb then
local parent = data.parents[1]
while true do
if type(parent) == "string" then
local parent_re = " " .. require("Module:string utilities").pattern_escape(parent) .. "$"
if key:find(parent_re) then
data.breadcrumb = key:gsub(parent_re, "")
break
end
if labels[parent] then
parent = labels[parent].parents[1]
else
break
end
else
break
end
end
end
end
-----------------------------------------------------------------------------
-- --
-- RAW CATEGORIES --
-- --
-----------------------------------------------------------------------------
raw_categories["සැකිලි"] = {
topright = "{{shortcut|WT:T}}",
description = "An organizing category intended for all templates in use on Wiktionary.",
additional = "''See also: [[Wiktionary:Templates]], [[meta:Help:Template]]''",
parents = {"වික්ෂනරිය"},
}
raw_categories["පරිපාලන සැකිලි"] = {
description = "Templates used in the administration of Wiktionary.",
additional = "They are only used outside of mainspace and are distinct from [[:Category:Maintenance templates|maintenance templates]], which are used in maintaining entries.",
parents = {"සැකිලි"},
}
raw_categories["ලේඛනාරක්ෂණ සැකිලි"] = {
description = "Templates used on archived or otherwise inactive pages.",
parents = {"පරිපාලන සැකිලි"},
}
raw_categories["CheckUser templates"] = {
description = "Templates related to [[Wiktionary:Requests for checkuser|checkuser requests]].",
parents = {"පරිපාලන සැකිලි"},
}
raw_categories["Editnotices"] = {
description = "Templates used to display notices in edit mode.",
parents = {"පරිපාලන සැකිලි"},
}
raw_categories["උපග්රන්ථ සැකිලි"] = {
description = "Templates used in appendices or to link to appendices.",
parents = {"සැකිලි", "ප්රවර්ගය:උපග්රන්ථ"},
}
raw_categories["Swadesh list templates"] = {
description = "Templates used on pages that contain [[w:Swadesh list]]s.<br />" ..
"See also [[Wiktionary:Swadesh template]] and [[Wiktionary:Swadesh template categorized]].",
parents = {"උපග්රන්ථ සැකිලි"},
}
raw_categories["Astrology templates"] = {
description = "Templates that display astrology-related diagrams or boxes.",
parents = {"සැකිලි"},
}
raw_categories["ශ්රව්ය සහාය සැකිලි"] = {
description = "Templates used to play or request audio files.",
parents = {"සැකිලි"},
}
raw_categories["ස්වයංක්රීය-වගු සැකිලි"] = {
description = "Templates used to generate word tables (like [[සැකිල්ල:වගුව:seasons]]).",
additional = "අමතර අවධානයට [[:ප්රවර්ගය:භාෂාව අනුව ස්වයංක්රීය-වගු සැකිලි]].",
parents = {"සැකිලි"},
}
raw_categories["Box templates"] = {
description = "General purpose box templates.",
additional = "If you're considering making a template that looks like a box, look here first!",
parents = {"සැකිලි"},
}
raw_categories["ප්රවර්ගකරණ සැකිලි"] = {
preceding = "{{also|:Category:Category modules}}",
description = "Templates used to categorize terms or entries.",
additional = "([[:Category:Category templates]], on the other hand, contains templates used in the category namespace.)",
parents = {"සැකිලි"},
}
raw_categories["ප්රවර්ග සැකිලි"] = {
description = "Templates used in the category namespace.",
additional = "([[:Category:Categorization templates]], on the other hand, contains templates used to categorize pages.)",
parents = {"සැකිලි"},
}
raw_categories["Category boilerplate templates"] = {
description = "Templates used to generate the text of category pages.",
parents = {"ප්රවර්ග සැකිලි"},
}
raw_categories["පටුන සැකිලි"] = {
description = "Templates used to generate a list of linked letters to navigate the pages listed in categories.",
parents = {"ප්රවර්ග සැකිලි", "මං සලකුණු සැකිලි"},
}
raw_categories["Character info templates"] = {
description = "Templates that utilize {{temp|character info}}.",
parents = {"සැකිලි"},
}
raw_categories["Character insertion templates"] = {
description = "Templates that provide easier ways to type characters that are not found in most keyboard layouts.",
parents = {"සැකිලි"},
}
raw_categories["Templates for generating characters used in wiki code"] = {
description = "Templates used to generate characters that are reserved for specific wiki code functions and cannot be directly entered.",
additional = "An alternative to using these templates is to use an HTML entity such as <code>&#91</code> " ..
"for a left bracket.<br />" ..
"Note that the templates below are sorted by the first character of the wikicode that each template generates.",
parents = {"Character insertion templates"},
}
raw_categories["Chemistry templates"] = {
description = "Templates that display chemistry-related diagrams or boxes.",
parents = {"සැකිලි"},
}
raw_categories["Chess templates"] = {
description = "Templates that display chess diagrams.",
parents = {"සැකිලි"},
}
raw_categories["උපහරණ සැකිලි"] = {
preceding = "{{ombox|type=speedy|text=Some templates may be marked '''FOR TESTING ONLY'''. Do not use these in entries, if requested on the template page itself. Take a look at the template page before using it.}}",
description = "Templates used to generate citations and quotations.",
additional = [=[
{{citation templates}}
== අමතර අවධානයට ==
* [[Wiktionary:Quotations]]
* [[:Category:Reference templates]] for specific templates to well-known and widely used sources.]=],
parents = {"සැකිලි"},
}
-- Skipped: Concordance templates
raw_categories["Control flow templates"] = {
description = "Templates to aid in control-flow constructs, which the template language is normally limited in.",
parents = {"සැකිලි"},
}
raw_categories["Cross reference templates"] = {
description = "Templates used to create cross-references between sections.",
parents = {"සැකිලි"},
}
raw_categories["Dating templates"] = {
description = "Templates for displaying dates.",
parents = {"සැකිලි"},
}
raw_categories["අර්ථ දැක්වීම් සැකිලි"] = {
description = "Templates used in the [[Wiktionary:Glossary#definition line|definition line]] to help in creating definitions.",
parents = {"සැකිලි"},
}
raw_categories["රූපාකාර සැකිලි"] = {
description = "Templates used in defining inflections or variants of a given lemma.",
parents = {"අර්ථ දැක්වීම් සැකිලි"},
}
raw_categories["Grammar form-of templates"] = {
description = "Templates used in defining terms that stand in a particular grammatical relation to a given lemma.",
parents = {"රූපාකාර සැකිලි"},
}
raw_categories["Conjugation form-of templates"] = {
description = "Templates used in defining terms that represent particular verb forms (e.g. past participle) of given lemma.",
parents = {"Grammar form-of templates"},
}
raw_categories["Declension form-of templates"] = {
description = "Templates used in defining terms that represent particular noun or adjective forms (e.g. masculine plural) of given lemma.",
parents = {"Grammar form-of templates"},
}
raw_categories["නාම සැකිලි"] = {
description = "Templates used in the [[Wiktionary:Glossary#definition line|definition line]] to help in creating definitions for names.",
parents = {"අර්ථ දැක්වීම් සැකිලි"},
}
raw_categories["Object usage templates"] = {
description = "Templates used in the [[Wiktionary:Glossary#definition line|definition line]] to show case and adposition usage for verb objects and similar constructs.",
parents = {"අර්ථ දැක්වීම් සැකිලි"},
}
raw_categories["Place name templates"] = {
description = "Templates used in defining place names or demonyms that refer to place names.",
parents = {"අර්ථ දැක්වීම් සැකිලි"},
}
raw_categories["ප්රවේශ සැකිලි"] = {
description = "Templates used to help create new entries.",
parents = {"සැකිලි"},
}
raw_categories["නිරුක්ති සැකිලි"] = {
description = "Templates used in etymology sections to define the etymology of a term.",
parents = {"සැකිලි"},
}
raw_categories["Foreign derivation templates"] = {
description = "Templates used in etymology sections to indicate derivation from a different language than the language of the current entry.",
parents = {"නිරුක්ති සැකිලි"},
}
raw_categories["පදිම විචාර සැකිලි"] = {
description = "Templates used in etymology sections to specify the morphology of a term.",
parents = {"නිරුක්ති සැකිලි"},
}
raw_categories["Language-specific morphology templates"] = {
description = "Specialized morphology templates used in the etymology sections of terms in particular languages.",
parents = {"පදිම විචාර සැකිලි"},
}
raw_categories["යොමු වචන පේළි සැකිලි"] = {
preceding = "{{also|Wiktionary:Headword-line templates}}",
description = "Templates used to define the [[Wiktionary:Glossary#headword line|headword line]] of a term.",
parents = {"සැකිලි"},
}
raw_categories["සාකච්ඡා සැකිලි"] = {
description = "Templates intended for use only in discussions and documentation of templates and modules.",
parents = {"සැකිලි"},
}
raw_categories["Monthly-subpages discussion room infrastructure"] = {
description = "Templates used in generating and maintaining monthly discussion forums such as the [[Wiktionary:Grease pit|Grease pit]] and [[Wiktionary:Beer parlour|Beer parlour]].",
parents = {"සාකච්ඡා සැකිලි"},
}
raw_categories["උපදෙස් සැකිලි"] = {
description = "මෙම ප්රවර්ගය සැකිලි සහ මොඩියුල උපදෙස් පිටු සඳහා භාවිතා වන සැකිලි ලැයිස්තු ගත කරයි.",
parents = {"සැකිලි"},
}
raw_categories["File templates"] = {
description = "Templates used in the File namespace.",
parents = {"සැකිලි"},
}
raw_categories["Language attestation warning templates"] = {
description = "Templates that warn users about the attestation status of entries or senses from a language.",
parents = {"සැකිලි"},
}
raw_categories["පිරිසැලසුම් සැකිලි"] = {
description = "Templates used in creating specific layouts within entries.",
parents = {"සැකිලි"},
}
raw_categories["Collapsible box templates"] = {
description = "Templates used in creating collapsible boxes.",
parents = {"පිරිසැලසුම් සැකිලි"},
}
raw_categories["තීරු සැකිලි"] = {
preceding = "{{also|Wiktionary:Templates#Columns}}",
description = "Templates used in laying out lists in columns.",
parents = {"පිරිසැලසුම් සැකිලි"},
}
raw_categories["වගු සැකිලි"] = {
description = "වගු හැඩගැන්වීම් සඳහා භාවිතා වන සැකිලි.",
parents = {"පිරිසැලසුම් සැකිලි"},
}
raw_categories["සබැඳි සැකිලි"] = {
description = "Templates used to link to other terms, to other MediaWiki projects or to external websites.",
parents = {"සැකිලි"},
}
raw_categories["බහුරුත්හරණ සැකිලි"] = {
description = "Templates used to disambiguate multiple similar terms.",
parents = {"සබැඳි සැකිලි"},
}
raw_categories["භාහිර සබැඳි සැකිලි"] = {
description = "Templates that link to websites outside of the MediaWiki Foundation purview.",
additional = "See also [[:ප්රවර්ගය:උපහරණ සැකිලි]] for others.",
parents = {"සබැඳි සැකිලි"},
}
raw_categories["අභ්යන්තර සබැඳි සැකිලි"] = {
description = "Templates that link between Wiktionary entries.",
parents = {"සබැඳි සැකිලි"},
}
raw_categories["Language-specific internal link templates"] = {
description = "Language-specific templates that link between Wiktionary entries in particular languages.",
parents = {"අභ්යන්තර සබැඳි සැකිලි"},
}
raw_categories["Interwiki link templates"] = {
description = "Templates that link to other Wikimedia projects.",
parents = {"සබැඳි සැකිලි"},
}
raw_categories["Inline interwiki link templates"] = {
description = "Inline templates that link to other Wikimedia projects.",
parents = {"Interwiki link templates"},
}
raw_categories["Sidebar interwiki link templates"] = {
description = "Sidebar templates that link to other Wikimedia projects.",
parents = {"Interwiki link templates"},
}
raw_categories["Wikidata link templates"] = {
description = "Inline templates that link to Wikidata.",
parents = {"Interwiki link templates"},
}
raw_categories["Wikisource link templates"] = {
description = "Inline templates that link to Wikisource.",
parents = {"Interwiki link templates"},
}
raw_categories["ලැයිස්තු සැකිලි"] = {
description = "ලැයිස්තු ජනනය සඳහා භාවිතා වන සැකිලි.",
additional = "මෙයත් බලන්න: [[:ප්රවර්ගය:භාෂාව අනුව ලැයිස්තු සැකිලි]].",
parents = {"සැකිලි"},
}
raw_categories["අනුලක්ෂණ ලැයිස්තු සැකිලි"] = {
description = "අනුලක්ෂණ ලැයිස්තු ජනනය සඳහා භාවිතා වන සැකිලි.",
parents = {"ලැයිස්තු සැකිලි"},
}
raw_categories["Lua-free templates"] = {
description = "Lua-free (i.e. \"lite\") versions of templates that use Lua.",
additional = "Lua-free templates are used on long pages to avoid [[Wiktionary:Lua memory errors|Lua memory errors]].",
parents = {"සැකිලි"},
}
raw_categories["නඩත්තු කටයුතු සැකිලි"] = {
preceding = "{{also|Wiktionary:Maintenance templates}}",
description = "Templates used in the maintenance of Wiktionary entries and other pages.",
additional = "They are distinct from [[:Category:Administration templates|administration templates]], which are only used outside of mainspace.",
parents = {"සැකිලි", "ප්රවර්ගය:වික්ෂනරි නඩත්තු කටයුතු"},
}
raw_categories["ශුද්ධ පවිත්රණ සැකිලි"] = {
description = "Templates used to request cleanup of entries.",
additional = "Some of these templates are used when entries are batch-imported from another source.",
parents = {"නඩත්තු කටයුතු සැකිලි", "ඉල්ලීම් සැකිලි"},
}
raw_categories["මකා දැමීම් සැකිලි"] = {
description = "Templates used to request deletion of entries.",
parents = {"නඩත්තු කටයුතු සැකිලි", "ඉල්ලීම් සැකිලි"},
}
raw_categories["සත්යාපන සැකිලි"] = {
description = "Templates used to request verification of entries that may be incorrect.",
parents = {"නඩත්තු කටයුතු සැකිලි", "ඉල්ලීම් සැකිලි"},
}
raw_categories["Wiktionary templates"] = {
description = "Templates used in the internal operation of Wiktionary.",
parents = {"සැකිලි", "වික්ෂනරිය"},
}
raw_categories["මෙටා සැකිලි"] = {
description = "Templates used in other templates or to create other templates.",
parents = {"සැකිලි"},
}
raw_categories["පෙළ හැසිරවීම් සැකිලි"] = {
description = "Templates used to manipulate strings.",
additional = "See also [[Module:string/templates]], which can be invoked from templates to do string manipulation.",
parents = {"මෙටා සැකිලි"},
}
------------ NAVIGATION TEMPLATES ------------
raw_categories["මං සලකුණු සැකිලි"] = {
description = "Templates used to create navigation boxes for easily linking to other similar pages.",
parents = {"සැකිලි"},
}
raw_categories["Language-specific number templates"] = {
description = "Language-specific templates that generate number boxes or lists for a given language.",
additional = "Contrast {{catlink|Number templates}}, which contains general (language-agnostic) templates for converting numbers or generating number boxes or lists in a given language.",
parents = {"මං සලකුණු සැකිලි"},
}
raw_categories["Pro-form box templates"] = {
description = "Language-specific templates that generate navigation boxes for displaying pro-forms (pronouns, determiners, pronominal adverbs, etc.) for a given language.",
parents = {"මං සලකුණු සැකිලි"},
}
raw_categories["Demonstrative box templates"] = {
description = "Language-specific templates that generate demonstrative pronoun, determiner and adverb boxes for a given language.",
parents = {"Pro-form box templates"},
}
raw_categories["Grammatical article box templates"] = {
description = "Language-specific templates that generate grammatical article boxes (definite, indefinite, partitive, etc.) for a given language.",
parents = {"Pro-form box templates"},
}
raw_categories["Interrogative box templates"] = {
description = "Language-specific templates that generate interrogative pronoun, determiner and adverb boxes for a given language.",
parents = {"Pro-form box templates"},
}
raw_categories["Personal pronoun box templates"] = {
description = "Language-specific templates that generate personal pronoun boxes for a given language.",
additional = [=[
The standard format for these templates is:
* Where the language is uninflected (e.g. Samoan {{tl|sm-personal pronouns}}) or the language is inflected but the box shows only the lemma forms of the pronoun (e.g. Basque {{tl|eu-personal pronouns}}), the '''numbers''' (singular/plural) run across the top and the '''persons''' (1st/2nd/3rd) run down the left side.
* Where the language is inflected, the '''cases''' run across the top. Down the left side, the headers (from left to right) are '''number''', '''person''', then any subform if applicable. Example: Middle High German {{tl|gmh-personal pronouns}}
** Exceptions:
*** If there are too many cases to fit on the screen as columns, the template can be transposed so that cases run vertically. Example: Northern Yukaghir {{tl|ykg-personal pronouns}}
*** If the singular and plural forms are very similar, consider placing the person headers outside number instead. Example: Punjabi {{tl|pa-personal pronouns}}
]=],
parents = {"Pro-form box templates"},
}
raw_categories["Possessive pronoun and determiner box templates"] = {
description = "Language-specific templates that generate possessive pronoun and determiner boxes for a given language.",
parents = {"Pro-form box templates"},
}
raw_categories["Reflexive pronoun and determiner box templates"] = {
description = "Language-specific templates that generate reflexive pronoun and determiner boxes for a given language.",
parents = {"Pro-form box templates"},
}
raw_categories["Relative pronoun and determiner box templates"] = {
description = "Language-specific templates that generate relative pronoun and determiner boxes for a given language.",
parents = {"Pro-form box templates"},
}
raw_categories["සංඛ්යා සැකිලි"] = {
description = "General (language-agnostic) templates used to convert numbers or generate boxes or lists of the numbers in a given language.",
additional = "Contrast {{catlink|Language-specific number templates}}, which contains language-specific templates for generating number boxes or lists in a given language.",
parents = {"සැකිලි"},
}
raw_categories["Orthographic and regional variant templates"] = {
description = "Templates used to generate lists of links to alternative forms of a term, either across orthographic systems, scripts, or regional or dialectal variation.",
parents = {"අක්ෂරක්රම සැකිලි", "අභ්යන්තර සබැඳි සැකිලි"},
}
raw_categories["Pagename templates"] = {
description = "Templates used to retrieve pagenames or pagename properties or manipulate pagenames.",
parents = {"සැකිලි"},
}
raw_categories["Preloaded templates"] = {
description = "Templates not meant to be transcluded, but instead, whether through URL parameters or modules, have their contents preloaded into edit fields.",
parents = {"සැකිලි"},
}
raw_categories["උච්චාරණ සැකිලි"] = {
description = "Templates used to format pronunciation sections and the characters they use.",
additional = "See also [[:Category:Script templates]] and [[Wiktionary:Pronunciation]].",
parents = {"සැකිලි"},
}
raw_categories["Rhyme templates"] = {
description = "Templates used to format [[Wiktionary:Rhymes|rhyme pages]], links to them from pronunciation sections, etc.",
parents = {"උච්චාරණ සැකිලි"},
}
raw_categories["Sign language templates"] = {
description = "Templates used to format sign-language pronunciation charts.",
parents = {"උච්චාරණ සැකිලි"},
}
raw_categories["Qualifier and gloss templates"] = {
description = "Templates for displaying qualifiers, glosses and the like.",
parents = {"සැකිලි"},
}
raw_categories["Redirect templates"] = {
description = "Templates used to format redirect pages.",
parents = {"සැකිලි"},
}
raw_categories["මූලාශ්ර සැකිලි"] = {
preceding = "{{also|Wiktionary:Reference templates|:Category:Reference templates by language}}",
description = "Templates used to format references.",
parents = {"සැකිලි"},
}
raw_categories["Religion templates"] = {
description = "Templates that display religion-related diagrams or boxes.",
parents = {"සැකිලි"},
}
raw_categories["ඉල්ලීම් සැකිලි"] = {
topright = "{{shortcut|WT:RT}}",
description = "Request templates for dictionary entries in the main namespace.",
parents = {"සැකිලි", "Requests"},
}
raw_categories["වැලිපිලි සැකිලි"] = {
description = "Sandbox versions of templates used for testing purposes.",
additional = "'''NOTE:''' The use of sandbox templates in mainspace is strongly dispreferred. Please place all sandbox templates in your userspace.",
parents = {"සැකිලි"},
}
raw_categories["අක්ෂරක්රම සැකිලි"] = {
preceding = "{{mainwikt|Scripts}}",
description = "Templates used for converting between scripts or displaying text in a specific script.",
parents = {"සැකිලි"},
}
raw_categories["ශබ්දාර්ථවිභාග සබඳතා සැකිලි"] = {
description = "Templates that are placed below the [[Wiktionary:Glossary#definition line|definition line]], to indicate other terms semantically related to a particular sense.",
parents = {"සැකිලි"},
}
raw_categories["Single-page-use templates"] = {
description = "Templates used only on a single page and unlikely to find re-use elsewhere.",
parents = {"සැකිලි"},
}
raw_categories["පරිපූරක සැකිලි"] = {
description = "A grab bag of templates used to assist other templates.",
additional = "These should be recategorized according to function.",
parents = {"සැකිලි"},
}
raw_categories["Taxonomy templates"] = {
description = "Templates used in Translingual taxonomy entries and in reference to those entries.",
parents = {"සැකිලි"},
}
raw_categories["Taxonomic hypernym templates"] = {
description = "Templates and subcategories containing such templates. The templates contain text to appear under the Hypernyms header for taxonomic name entries.",
additional = "Each template has the name of the taxon from which it begins. The templates in this category at present are the many templates that begin with the names of taxonomic families. Others are in subcategories",
breadcrumb = "Hypernym",
parents = {"Taxonomy templates"},
}
raw_categories["Taxonomic name templates"] = {
description = "Templates used for the presentation of taxonomic names on a definition line.",
breadcrumb = "Name",
parents = {"Taxonomy templates", "අර්ථ දැක්වීම් සැකිලි"},
}
raw_categories["Taxonomic reference templates"] = {
description = "Templates used to format references for taxonomic names.",
breadcrumb = "Reference",
parents = {"Taxonomy templates", "මූලාශ්ර සැකිලි"},
}
raw_categories["Templates that must be substituted"] = {
description = "Templates that are not intended for transclusion with <code><nowiki>{{ }}</nowiki></code>, " ..
"and must be substituted with <code><nowiki>{{subst: }}</nowiki></code>wherever they exist.",
additional = "Some of the members of this category are permanent, as the template was written in such a way that " ..
"it must be substituted to function properly. There may also be templates in this category that are deprecated, " ..
"in which case their content has been replaced with the preferred code.",
parents = {"සැකිලි", "Requests"},
}
raw_categories["Templates with acceleration"] = {
description = "Templates can be added to this category by adding {{tl|isAccelerated}} to their documentation pages.",
additional = "Presence in this category indicates that at least some of the \"form-of\" entries for the word can be generated semi-automatically by users with [[Wiktionary:ACCEL|accelerated]] editing enabled.",
parents = {"සැකිලි"},
}
raw_categories["පෙළ සැකසුම් සැකිලි"] = {
description = "Templates that provide shortcuts for formatting ordinary text.",
parents = {"සැකිලි"},
}
raw_categories["Thesaurus templates"] = {
description = "Templates for linking to or formatting thesaurus entries.",
parents = {"සැකිලි"},
}
raw_categories["පරිවර්තන සැකිලි"] = {
description = "Templates used to format entries in and parts of translation tables.",
parents = {"සැකිලි"},
}
raw_categories["පරිශීලක සැකිලි"] = {
description = "Templates meant to be used in userspace.",
parents = {"සැකිලි"},
}
raw_categories["User sandbox templates"] = {
description = "Templates that are for personal use and testing by individual editors.",
additional = "These should all begin with <code>User:</code> followed by the user's name. If several " ..
"sandbox templates are needed by a single user, subpages can be created. These templates should not be used in real " ..
"Wiktionary content pages, as all content on those pages should be editable by anyone and, if necessary, edit protected.",
parents = { "වැලිපිලි සැකිලි", "සැකිලි" },
}
raw_categories["Authority control subtemplates"] = {
description = "Subtemplates used in conjunction with {{tl|authority control}}.",
parents = {"පරිශීලක සැකිලි"},
}
raw_categories["User competency templates"] = {
description = "Templates used for to indicate a user's competency in a given natural language, script or programming language.",
additional = "These are used in conjunction with {{tl|Babel}}, which invokes these templates as necessary.",
parents = {"පරිශීලක සැකිලි"},
}
raw_categories["Coder user templates"] = {
description = "Templates used for to indicate a user's competency in a given programming language.",
additional = "These are used in conjunction with {{tl|Babel}}, which invokes these templates as necessary.",
parents = {"User competency templates"},
}
raw_categories["Language user templates"] = {
description = "Templates used for to indicate a user's competency in speaking a given language.",
additional = "These are used in conjunction with {{tl|Babel}}, which invokes these templates as necessary.",
parents = {"User competency templates"},
}
raw_categories["Script user templates"] = {
description = "Templates used for to indicate a user's competency in reading a given script.",
additional = "These are used in conjunction with {{tl|Babel}}, which invokes these templates as necessary.",
parents = {"User competency templates"},
}
raw_categories["WOTD templates"] = {
description = "Templates used to support the Word of the Day.",
parents = {"Wiktionary templates"},
}
raw_categories["FWOTD templates"] = {
description = "Templates used to support the Foreign Word of the Day.",
parents = {"WOTD templates"},
}
raw_categories["නන්-ප්රොඩක්ශන් සැකිලි සහ මොඩියුල"] = {
description = "Templates and modules not currently used in production.",
additional = "{{also|Special:UnusedTemplates|:ප්රවර්ගය:භාවිතා නොවූ සැකිලි}}",
parents = {"සැකිලි", "මොඩියුල", "ප්රවර්ගය:වික්ෂනරි නඩත්තු කටයුතු"},
}
raw_categories["Templates subcategories by language"] = {
description = "Umbrella categories covering topics related to templates.",
additional = "{{{umbrella_meta_msg}}}",
parents = {
"ඡත්ර මෙටා ප්රවර්ග",
{name = "සැකිලි", is_label = true, sort = " "},
},
}
-- Add breadcrumb by chopping off the parent (or the parent's parent, etc.) from the end of the label, if possible.
for key, data in pairs(raw_categories) do
if not data.breadcrumb then
local parent = data.parents[1]
while true do
if type(parent) == "string" then
local parent_re = " " .. require("Module:string utilities").pattern_escape(mw.getContentLanguage():lcfirst(parent)) .. "$"
if key:find(parent_re) then
data.breadcrumb = key:gsub(parent_re, "")
break
end
if raw_categories[parent] then
parent = raw_categories[parent].parents[1]
else
break
end
else
break
end
end
end
end
-----------------------------------------------------------------------------
-- --
-- RAW HANDLERS --
-- --
-----------------------------------------------------------------------------
insert(raw_handlers, function(data)
-- Allow 'Foo reference templates' for etym-only varieties.
local langname = data.category:match("^(.+) reference templates$")
if not langname then
return nil
end
local lang = require(languages_module).getByCanonicalName(langname, nil, true)
if lang and lang:hasType("etymology-only") then
local first_parent
local lang_parent = lang:getParent()
if lang_parent:hasType("etymology-only") then
-- In case there are nested etymology templates, return the parent's reference template cat, not the
-- full lang's reference template cat.
first_parent = lang_parent:getCanonicalName() .. " reference templates"
else
first_parent = {name = "මූලාශ්ර සැකිලි", lang = lang_parent:getCode(), is_label = true}
end
return {
lang = lang:getCode(),
description = "Templates used to generate reference footnotes for {{{langname}}} entries.",
parents = {
first_parent,
lang:getCategoryName(),
},
breadcrumb_and_first_sort_key = langname,
}
end
end)
return {LABELS = labels, RAW_CATEGORIES = raw_categories, RAW_HANDLERS = raw_handlers}
67l0qnyzqt0r0ued8a8c9lki1159a77
234062
234061
2026-05-15T07:08:22Z
Lee
19
"definition templates" සිට "අර්ථ දැක්වීම් සැකිලි" වෙතට
234062
Scribunto
text/plain
local m_sinhala = require("Module:sinhala")
local labels = {}
local raw_categories = {}
local raw_handlers = {}
local languages_module = "Module:languages"
local insert = table.insert
-----------------------------------------------------------------------------
-- --
-- LABELS --
-- --
-----------------------------------------------------------------------------
labels["සැකිලි"] = {
description = "ප්රවේශ නිර්මාණය සහ කළමනාකරණය සඳහා සහාය සලසන, නැවත-නැවත භාවිතයට ගත හැකි විකි කේත අඩංගු, {{{langname}}} [[වික්ෂනරි:සැකිලි|සැකිලි]].",
umbrella = {
parents = {{name = "සැකිලි", sort = " "}},
breadcrumb = "භාෂාව අනුව",
},
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["ස්වයංක්රීය-වගු සැකිලි"] = {
description = "Templates that contain {{{langname}}} tables generated automatically.",
additional = "They use the <code>වගුව:</code> prefix. උදාහරණ සඳහා, [[සැකිල්ල:වගුව:chess pieces/en]] වෙතට යොමු වන්න.",
parents = {"සබැඳි සැකිලි"},
}
labels["category boilerplate templates"] = {
description = "Templates used to generate descriptions and categorization for category pages.",
parents = {"සැකිලි"},
}
labels["conversion templates"] = {
description = "Templates used in {{{langname}}} entries to convert between different orthographic or numeral representations.",
parents = {"සැකිලි"},
}
labels["අර්ථ දැක්වීම් සැකිලි"] = {
description = "Templates used in the [[Wiktionary:Glossary#definition line|definition line]] of {{{langname}}} entries to help in creating definitions.",
parents = {"සැකිලි"},
}
labels["ප්රවේශ සැකිලි"] = {
description = "Templates used to help in the creation of {{{langname}}} entries.",
umbrella_parents = {"Templates subcategories by language", "ප්රවේශ සැකිලි"},
parents = {"සැකිලි"},
}
labels["නිරුක්ති සැකිලි"] = {
description = "Templates used in the etymology section of {{{langname}}} entries.",
parents = {"සැකිලි"},
}
labels["experimental templates"] = {
description = "Templates used to test possible content for {{{langname}}} entries.",
parents = {"සැකිලි"},
}
labels["රූපාකාර සැකිලි"] = {
description = "Templates used on the definition line of entries for inflected forms of words in {{{langdisp}}}, to link back to the main form.",
parents = {"අර්ථ දැක්වීම් සැකිලි", "සබැඳි සැකිලි"},
}
labels["යොමු වචන පේළි සැකිලි"] = {
description = "{{{langname}}} යොමු වචන අඩංගු පේළි පෙන්වීම සඳහා භාවිතා වන සැකිලි.",
parents = {"සැකිලි"},
}
labels["index templates"] = {
description = "Templates used to organize {{{langname}}} indexes.",
parents = {"සබැඳි සැකිලි"},
}
labels["වරනැගීම්-වගු සැකිලි"] = {
description = "Templates used to show inflection tables for {{{langname}}} terms.",
parents = {"සැකිලි"},
}
-- Do particular types of inflection-table templates.
for _, pos in ipairs({
"adjective",
"adverb",
"determiner",
"nominal",
"noun",
"numeral",
"participle",
"postposition",
"particle",
"preposition",
"pronoun",
"verb",
}) do
labels[m_sinhala.sinhala_adjective(pos) .. " වරනැගීම්-වගු සැකිලි"] = {
description = "Templates used to show declension tables for {{{langname}}} " .. pos .. "s.",
parents = {"වරනැගීම්-වගු සැකිලි"},
}
end
labels["සබැඳි සැකිලි"] = {
description = "{{{langname}}} templates used to create links to other entries.",
parents = {"සැකිලි"},
}
labels["ලැයිස්තු සැකිලි"] = {
description = "{{{langname}}} ලැයිස්තු අඩංගු වන සැකිලි.",
additional = "මේවා <code>list:</code> උපසර්ගය භාවිතා කරයි. උදාහරණයක් සඳහා, [[සැකිල්ල:list:Latin script letters/en]] වෙතට යොමු වන්න.<br />" ..
"අමතර අවධානයට [[:ප්රවර්ගය:ලැයිස්තු සැකිලි]].",
parents = {"සබැඳි සැකිලි"},
}
labels["mutation templates"] = {
description = "Templates used to show mutation of {{{langname}}} words.",
parents = {"සැකිලි"},
}
labels["navigation templates"] = {
description = "{{{langname}}} templates used to create navigation boxes for easily linking to other similar pages.",
additional = "Examples are all the members of a given class (e.g. personal pronouns, interrogatives, demonstratives), cardinal numbers up to 100, category TOC (table-of-contents) templates, etc.",
parents = {"සබැඳි සැකිලි"},
}
labels["උච්චාරණ සැකිලි"] = {
description = "Templates used to generate IPA pronunciation, rhymes, hyphenation, etc. for {{{langname}}} entries.",
umbrella_parents = {"Templates subcategories by language", "ප්රවර්ගය:උච්චාරණ සැකිලි"},
parents = {"සැකිලි"},
}
labels["sign production templates"] = {
description = "Templates used in describing and showing the production of {{{langname}}} signs.",
parents = {"pronunciation templates"},
}
labels["උපුටා දැක්වීම් සැකිලි"] = {
description = "Templates used to generate quotations for {{{langname}}} entries.",
umbrella_parents = {"Templates subcategories by language", "ප්රවර්ගය:උපහරණ සැකිලි"},
parents = {"සැකිලි"},
}
labels["quotation navigation templates"] = {
description = "Templates used in the documentation of {{{langname}}} [[Wiktionary:Quotations/Templates|quotation templates]] in order to link to quotation templates for other works by the same author.",
umbrella_parents = {"Templates subcategories by language", "Category:Navigation templates", "Category:Quotation templates by language"},
parents = {"උපුටා දැක්වීම් සැකිලි", "සබැඳි සැකිලි"},
}
labels["මූලාශ්ර සැකිලි"] = {
topright = function(data)
if data.lang and data.lang:getCode() == "ine-pro" then
return "{{shortcut|WT:RTINE}}"
end
end,
umbrella = {
preceding = "{{also|Wiktionary:Reference templates}}\n{{also|Template:refcat}}",
parents = {"Templates subcategories by language", "ප්රවර්ගය:මූලාශ්ර සැකිලි"},
breadcrumb = "භාෂාව අනුව",
},
description = "{{{langname}}} ප්රවේශ සඳහා මූලාශ්ර පාද සටහන් ජනනය පිණිස භාවිතා වන සැකිලි.",
parents = {"සබැඳි සැකිලි"},
}
labels["reference navigation templates"] = {
description = "Templates used in the documentation of reference templates in order to link to related reference templates.",
umbrella_parents = {"Templates subcategories by language", "Category:Navigation templates", "Category:Reference templates by language"},
parents = {"මූලාශ්ර සැකිලි", "සබැඳි සැකිලි"},
}
labels["පරිපූරක සැකිලි"] = {
description = "Templates used to keep contents for other {{{langname}}} templates.",
parents = {"සැකිලි"},
}
labels["inflection-table subtemplates"] = {
description = "Templates used to assist in constructing parts of {{{langname}}} inflection-table templates.",
parents = {"පරිපූරක සැකිලි"},
}
labels["භාවිතා සැකිලි"] = {
description = "Templates used to show usage notes in {{{langname}}} entries.",
parents = {"සැකිලි"},
}
for key, data in pairs(labels) do
-- Add 'umbrella_parents' key if not already present.
if not data.umbrella and not data.umbrella_parents then
data.umbrella_parents = "Templates subcategories by language"
end
-- Add breadcrumb by chopping off the parent (or the parent's parent, etc.) from the end of the label, if possible.
if not data.breadcrumb then
local parent = data.parents[1]
while true do
if type(parent) == "string" then
local parent_re = " " .. require("Module:string utilities").pattern_escape(parent) .. "$"
if key:find(parent_re) then
data.breadcrumb = key:gsub(parent_re, "")
break
end
if labels[parent] then
parent = labels[parent].parents[1]
else
break
end
else
break
end
end
end
end
-----------------------------------------------------------------------------
-- --
-- RAW CATEGORIES --
-- --
-----------------------------------------------------------------------------
raw_categories["සැකිලි"] = {
topright = "{{shortcut|WT:T}}",
description = "An organizing category intended for all templates in use on Wiktionary.",
additional = "''See also: [[Wiktionary:Templates]], [[meta:Help:Template]]''",
parents = {"වික්ෂනරිය"},
}
raw_categories["පරිපාලන සැකිලි"] = {
description = "Templates used in the administration of Wiktionary.",
additional = "They are only used outside of mainspace and are distinct from [[:Category:Maintenance templates|maintenance templates]], which are used in maintaining entries.",
parents = {"සැකිලි"},
}
raw_categories["ලේඛනාරක්ෂණ සැකිලි"] = {
description = "Templates used on archived or otherwise inactive pages.",
parents = {"පරිපාලන සැකිලි"},
}
raw_categories["CheckUser templates"] = {
description = "Templates related to [[Wiktionary:Requests for checkuser|checkuser requests]].",
parents = {"පරිපාලන සැකිලි"},
}
raw_categories["Editnotices"] = {
description = "Templates used to display notices in edit mode.",
parents = {"පරිපාලන සැකිලි"},
}
raw_categories["උපග්රන්ථ සැකිලි"] = {
description = "Templates used in appendices or to link to appendices.",
parents = {"සැකිලි", "ප්රවර්ගය:උපග්රන්ථ"},
}
raw_categories["Swadesh list templates"] = {
description = "Templates used on pages that contain [[w:Swadesh list]]s.<br />" ..
"See also [[Wiktionary:Swadesh template]] and [[Wiktionary:Swadesh template categorized]].",
parents = {"උපග්රන්ථ සැකිලි"},
}
raw_categories["Astrology templates"] = {
description = "Templates that display astrology-related diagrams or boxes.",
parents = {"සැකිලි"},
}
raw_categories["ශ්රව්ය සහාය සැකිලි"] = {
description = "Templates used to play or request audio files.",
parents = {"සැකිලි"},
}
raw_categories["ස්වයංක්රීය-වගු සැකිලි"] = {
description = "Templates used to generate word tables (like [[සැකිල්ල:වගුව:seasons]]).",
additional = "අමතර අවධානයට [[:ප්රවර්ගය:භාෂාව අනුව ස්වයංක්රීය-වගු සැකිලි]].",
parents = {"සැකිලි"},
}
raw_categories["Box templates"] = {
description = "General purpose box templates.",
additional = "If you're considering making a template that looks like a box, look here first!",
parents = {"සැකිලි"},
}
raw_categories["ප්රවර්ගකරණ සැකිලි"] = {
preceding = "{{also|:Category:Category modules}}",
description = "Templates used to categorize terms or entries.",
additional = "([[:Category:Category templates]], on the other hand, contains templates used in the category namespace.)",
parents = {"සැකිලි"},
}
raw_categories["ප්රවර්ග සැකිලි"] = {
description = "Templates used in the category namespace.",
additional = "([[:Category:Categorization templates]], on the other hand, contains templates used to categorize pages.)",
parents = {"සැකිලි"},
}
raw_categories["Category boilerplate templates"] = {
description = "Templates used to generate the text of category pages.",
parents = {"ප්රවර්ග සැකිලි"},
}
raw_categories["පටුන සැකිලි"] = {
description = "Templates used to generate a list of linked letters to navigate the pages listed in categories.",
parents = {"ප්රවර්ග සැකිලි", "මං සලකුණු සැකිලි"},
}
raw_categories["Character info templates"] = {
description = "Templates that utilize {{temp|character info}}.",
parents = {"සැකිලි"},
}
raw_categories["Character insertion templates"] = {
description = "Templates that provide easier ways to type characters that are not found in most keyboard layouts.",
parents = {"සැකිලි"},
}
raw_categories["Templates for generating characters used in wiki code"] = {
description = "Templates used to generate characters that are reserved for specific wiki code functions and cannot be directly entered.",
additional = "An alternative to using these templates is to use an HTML entity such as <code>&#91</code> " ..
"for a left bracket.<br />" ..
"Note that the templates below are sorted by the first character of the wikicode that each template generates.",
parents = {"Character insertion templates"},
}
raw_categories["Chemistry templates"] = {
description = "Templates that display chemistry-related diagrams or boxes.",
parents = {"සැකිලි"},
}
raw_categories["Chess templates"] = {
description = "Templates that display chess diagrams.",
parents = {"සැකිලි"},
}
raw_categories["උපහරණ සැකිලි"] = {
preceding = "{{ombox|type=speedy|text=Some templates may be marked '''FOR TESTING ONLY'''. Do not use these in entries, if requested on the template page itself. Take a look at the template page before using it.}}",
description = "Templates used to generate citations and quotations.",
additional = [=[
{{citation templates}}
== අමතර අවධානයට ==
* [[Wiktionary:Quotations]]
* [[:Category:Reference templates]] for specific templates to well-known and widely used sources.]=],
parents = {"සැකිලි"},
}
-- Skipped: Concordance templates
raw_categories["Control flow templates"] = {
description = "Templates to aid in control-flow constructs, which the template language is normally limited in.",
parents = {"සැකිලි"},
}
raw_categories["Cross reference templates"] = {
description = "Templates used to create cross-references between sections.",
parents = {"සැකිලි"},
}
raw_categories["Dating templates"] = {
description = "Templates for displaying dates.",
parents = {"සැකිලි"},
}
raw_categories["අර්ථ දැක්වීම් සැකිලි"] = {
description = "Templates used in the [[Wiktionary:Glossary#definition line|definition line]] to help in creating definitions.",
parents = {"සැකිලි"},
}
raw_categories["රූපාකාර සැකිලි"] = {
description = "Templates used in defining inflections or variants of a given lemma.",
parents = {"අර්ථ දැක්වීම් සැකිලි"},
}
raw_categories["Grammar form-of templates"] = {
description = "Templates used in defining terms that stand in a particular grammatical relation to a given lemma.",
parents = {"රූපාකාර සැකිලි"},
}
raw_categories["Conjugation form-of templates"] = {
description = "Templates used in defining terms that represent particular verb forms (e.g. past participle) of given lemma.",
parents = {"Grammar form-of templates"},
}
raw_categories["Declension form-of templates"] = {
description = "Templates used in defining terms that represent particular noun or adjective forms (e.g. masculine plural) of given lemma.",
parents = {"Grammar form-of templates"},
}
raw_categories["නාම සැකිලි"] = {
description = "Templates used in the [[Wiktionary:Glossary#definition line|definition line]] to help in creating definitions for names.",
parents = {"අර්ථ දැක්වීම් සැකිලි"},
}
raw_categories["Object usage templates"] = {
description = "Templates used in the [[Wiktionary:Glossary#definition line|definition line]] to show case and adposition usage for verb objects and similar constructs.",
parents = {"අර්ථ දැක්වීම් සැකිලි"},
}
raw_categories["Place name templates"] = {
description = "Templates used in defining place names or demonyms that refer to place names.",
parents = {"අර්ථ දැක්වීම් සැකිලි"},
}
raw_categories["ප්රවේශ සැකිලි"] = {
description = "Templates used to help create new entries.",
parents = {"සැකිලි"},
}
raw_categories["නිරුක්ති සැකිලි"] = {
description = "Templates used in etymology sections to define the etymology of a term.",
parents = {"සැකිලි"},
}
raw_categories["Foreign derivation templates"] = {
description = "Templates used in etymology sections to indicate derivation from a different language than the language of the current entry.",
parents = {"නිරුක්ති සැකිලි"},
}
raw_categories["පදිම විචාර සැකිලි"] = {
description = "Templates used in etymology sections to specify the morphology of a term.",
parents = {"නිරුක්ති සැකිලි"},
}
raw_categories["Language-specific morphology templates"] = {
description = "Specialized morphology templates used in the etymology sections of terms in particular languages.",
parents = {"පදිම විචාර සැකිලි"},
}
raw_categories["යොමු වචන පේළි සැකිලි"] = {
preceding = "{{also|Wiktionary:Headword-line templates}}",
description = "Templates used to define the [[Wiktionary:Glossary#headword line|headword line]] of a term.",
parents = {"සැකිලි"},
}
raw_categories["සාකච්ඡා සැකිලි"] = {
description = "Templates intended for use only in discussions and documentation of templates and modules.",
parents = {"සැකිලි"},
}
raw_categories["Monthly-subpages discussion room infrastructure"] = {
description = "Templates used in generating and maintaining monthly discussion forums such as the [[Wiktionary:Grease pit|Grease pit]] and [[Wiktionary:Beer parlour|Beer parlour]].",
parents = {"සාකච්ඡා සැකිලි"},
}
raw_categories["උපදෙස් සැකිලි"] = {
description = "මෙම ප්රවර්ගය සැකිලි සහ මොඩියුල උපදෙස් පිටු සඳහා භාවිතා වන සැකිලි ලැයිස්තු ගත කරයි.",
parents = {"සැකිලි"},
}
raw_categories["File templates"] = {
description = "Templates used in the File namespace.",
parents = {"සැකිලි"},
}
raw_categories["Language attestation warning templates"] = {
description = "Templates that warn users about the attestation status of entries or senses from a language.",
parents = {"සැකිලි"},
}
raw_categories["පිරිසැලසුම් සැකිලි"] = {
description = "Templates used in creating specific layouts within entries.",
parents = {"සැකිලි"},
}
raw_categories["Collapsible box templates"] = {
description = "Templates used in creating collapsible boxes.",
parents = {"පිරිසැලසුම් සැකිලි"},
}
raw_categories["තීරු සැකිලි"] = {
preceding = "{{also|Wiktionary:Templates#Columns}}",
description = "Templates used in laying out lists in columns.",
parents = {"පිරිසැලසුම් සැකිලි"},
}
raw_categories["වගු සැකිලි"] = {
description = "වගු හැඩගැන්වීම් සඳහා භාවිතා වන සැකිලි.",
parents = {"පිරිසැලසුම් සැකිලි"},
}
raw_categories["සබැඳි සැකිලි"] = {
description = "Templates used to link to other terms, to other MediaWiki projects or to external websites.",
parents = {"සැකිලි"},
}
raw_categories["බහුරුත්හරණ සැකිලි"] = {
description = "Templates used to disambiguate multiple similar terms.",
parents = {"සබැඳි සැකිලි"},
}
raw_categories["භාහිර සබැඳි සැකිලි"] = {
description = "Templates that link to websites outside of the MediaWiki Foundation purview.",
additional = "See also [[:ප්රවර්ගය:උපහරණ සැකිලි]] for others.",
parents = {"සබැඳි සැකිලි"},
}
raw_categories["අභ්යන්තර සබැඳි සැකිලි"] = {
description = "Templates that link between Wiktionary entries.",
parents = {"සබැඳි සැකිලි"},
}
raw_categories["Language-specific internal link templates"] = {
description = "Language-specific templates that link between Wiktionary entries in particular languages.",
parents = {"අභ්යන්තර සබැඳි සැකිලි"},
}
raw_categories["Interwiki link templates"] = {
description = "Templates that link to other Wikimedia projects.",
parents = {"සබැඳි සැකිලි"},
}
raw_categories["Inline interwiki link templates"] = {
description = "Inline templates that link to other Wikimedia projects.",
parents = {"Interwiki link templates"},
}
raw_categories["Sidebar interwiki link templates"] = {
description = "Sidebar templates that link to other Wikimedia projects.",
parents = {"Interwiki link templates"},
}
raw_categories["Wikidata link templates"] = {
description = "Inline templates that link to Wikidata.",
parents = {"Interwiki link templates"},
}
raw_categories["Wikisource link templates"] = {
description = "Inline templates that link to Wikisource.",
parents = {"Interwiki link templates"},
}
raw_categories["ලැයිස්තු සැකිලි"] = {
description = "ලැයිස්තු ජනනය සඳහා භාවිතා වන සැකිලි.",
additional = "මෙයත් බලන්න: [[:ප්රවර්ගය:භාෂාව අනුව ලැයිස්තු සැකිලි]].",
parents = {"සැකිලි"},
}
raw_categories["අනුලක්ෂණ ලැයිස්තු සැකිලි"] = {
description = "අනුලක්ෂණ ලැයිස්තු ජනනය සඳහා භාවිතා වන සැකිලි.",
parents = {"ලැයිස්තු සැකිලි"},
}
raw_categories["Lua-free templates"] = {
description = "Lua-free (i.e. \"lite\") versions of templates that use Lua.",
additional = "Lua-free templates are used on long pages to avoid [[Wiktionary:Lua memory errors|Lua memory errors]].",
parents = {"සැකිලි"},
}
raw_categories["නඩත්තු කටයුතු සැකිලි"] = {
preceding = "{{also|Wiktionary:Maintenance templates}}",
description = "Templates used in the maintenance of Wiktionary entries and other pages.",
additional = "They are distinct from [[:Category:Administration templates|administration templates]], which are only used outside of mainspace.",
parents = {"සැකිලි", "ප්රවර්ගය:වික්ෂනරි නඩත්තු කටයුතු"},
}
raw_categories["ශුද්ධ පවිත්රණ සැකිලි"] = {
description = "Templates used to request cleanup of entries.",
additional = "Some of these templates are used when entries are batch-imported from another source.",
parents = {"නඩත්තු කටයුතු සැකිලි", "ඉල්ලීම් සැකිලි"},
}
raw_categories["මකා දැමීම් සැකිලි"] = {
description = "Templates used to request deletion of entries.",
parents = {"නඩත්තු කටයුතු සැකිලි", "ඉල්ලීම් සැකිලි"},
}
raw_categories["සත්යාපන සැකිලි"] = {
description = "Templates used to request verification of entries that may be incorrect.",
parents = {"නඩත්තු කටයුතු සැකිලි", "ඉල්ලීම් සැකිලි"},
}
raw_categories["Wiktionary templates"] = {
description = "Templates used in the internal operation of Wiktionary.",
parents = {"සැකිලි", "වික්ෂනරිය"},
}
raw_categories["මෙටා සැකිලි"] = {
description = "Templates used in other templates or to create other templates.",
parents = {"සැකිලි"},
}
raw_categories["පෙළ හැසිරවීම් සැකිලි"] = {
description = "Templates used to manipulate strings.",
additional = "See also [[Module:string/templates]], which can be invoked from templates to do string manipulation.",
parents = {"මෙටා සැකිලි"},
}
------------ NAVIGATION TEMPLATES ------------
raw_categories["මං සලකුණු සැකිලි"] = {
description = "Templates used to create navigation boxes for easily linking to other similar pages.",
parents = {"සැකිලි"},
}
raw_categories["Language-specific number templates"] = {
description = "Language-specific templates that generate number boxes or lists for a given language.",
additional = "Contrast {{catlink|Number templates}}, which contains general (language-agnostic) templates for converting numbers or generating number boxes or lists in a given language.",
parents = {"මං සලකුණු සැකිලි"},
}
raw_categories["Pro-form box templates"] = {
description = "Language-specific templates that generate navigation boxes for displaying pro-forms (pronouns, determiners, pronominal adverbs, etc.) for a given language.",
parents = {"මං සලකුණු සැකිලි"},
}
raw_categories["Demonstrative box templates"] = {
description = "Language-specific templates that generate demonstrative pronoun, determiner and adverb boxes for a given language.",
parents = {"Pro-form box templates"},
}
raw_categories["Grammatical article box templates"] = {
description = "Language-specific templates that generate grammatical article boxes (definite, indefinite, partitive, etc.) for a given language.",
parents = {"Pro-form box templates"},
}
raw_categories["Interrogative box templates"] = {
description = "Language-specific templates that generate interrogative pronoun, determiner and adverb boxes for a given language.",
parents = {"Pro-form box templates"},
}
raw_categories["Personal pronoun box templates"] = {
description = "Language-specific templates that generate personal pronoun boxes for a given language.",
additional = [=[
The standard format for these templates is:
* Where the language is uninflected (e.g. Samoan {{tl|sm-personal pronouns}}) or the language is inflected but the box shows only the lemma forms of the pronoun (e.g. Basque {{tl|eu-personal pronouns}}), the '''numbers''' (singular/plural) run across the top and the '''persons''' (1st/2nd/3rd) run down the left side.
* Where the language is inflected, the '''cases''' run across the top. Down the left side, the headers (from left to right) are '''number''', '''person''', then any subform if applicable. Example: Middle High German {{tl|gmh-personal pronouns}}
** Exceptions:
*** If there are too many cases to fit on the screen as columns, the template can be transposed so that cases run vertically. Example: Northern Yukaghir {{tl|ykg-personal pronouns}}
*** If the singular and plural forms are very similar, consider placing the person headers outside number instead. Example: Punjabi {{tl|pa-personal pronouns}}
]=],
parents = {"Pro-form box templates"},
}
raw_categories["Possessive pronoun and determiner box templates"] = {
description = "Language-specific templates that generate possessive pronoun and determiner boxes for a given language.",
parents = {"Pro-form box templates"},
}
raw_categories["Reflexive pronoun and determiner box templates"] = {
description = "Language-specific templates that generate reflexive pronoun and determiner boxes for a given language.",
parents = {"Pro-form box templates"},
}
raw_categories["Relative pronoun and determiner box templates"] = {
description = "Language-specific templates that generate relative pronoun and determiner boxes for a given language.",
parents = {"Pro-form box templates"},
}
raw_categories["සංඛ්යා සැකිලි"] = {
description = "General (language-agnostic) templates used to convert numbers or generate boxes or lists of the numbers in a given language.",
additional = "Contrast {{catlink|Language-specific number templates}}, which contains language-specific templates for generating number boxes or lists in a given language.",
parents = {"සැකිලි"},
}
raw_categories["Orthographic and regional variant templates"] = {
description = "Templates used to generate lists of links to alternative forms of a term, either across orthographic systems, scripts, or regional or dialectal variation.",
parents = {"අක්ෂරක්රම සැකිලි", "අභ්යන්තර සබැඳි සැකිලි"},
}
raw_categories["Pagename templates"] = {
description = "Templates used to retrieve pagenames or pagename properties or manipulate pagenames.",
parents = {"සැකිලි"},
}
raw_categories["Preloaded templates"] = {
description = "Templates not meant to be transcluded, but instead, whether through URL parameters or modules, have their contents preloaded into edit fields.",
parents = {"සැකිලි"},
}
raw_categories["උච්චාරණ සැකිලි"] = {
description = "Templates used to format pronunciation sections and the characters they use.",
additional = "See also [[:Category:Script templates]] and [[Wiktionary:Pronunciation]].",
parents = {"සැකිලි"},
}
raw_categories["Rhyme templates"] = {
description = "Templates used to format [[Wiktionary:Rhymes|rhyme pages]], links to them from pronunciation sections, etc.",
parents = {"උච්චාරණ සැකිලි"},
}
raw_categories["Sign language templates"] = {
description = "Templates used to format sign-language pronunciation charts.",
parents = {"උච්චාරණ සැකිලි"},
}
raw_categories["Qualifier and gloss templates"] = {
description = "Templates for displaying qualifiers, glosses and the like.",
parents = {"සැකිලි"},
}
raw_categories["Redirect templates"] = {
description = "Templates used to format redirect pages.",
parents = {"සැකිලි"},
}
raw_categories["මූලාශ්ර සැකිලි"] = {
preceding = "{{also|Wiktionary:Reference templates|:Category:Reference templates by language}}",
description = "Templates used to format references.",
parents = {"සැකිලි"},
}
raw_categories["Religion templates"] = {
description = "Templates that display religion-related diagrams or boxes.",
parents = {"සැකිලි"},
}
raw_categories["ඉල්ලීම් සැකිලි"] = {
topright = "{{shortcut|WT:RT}}",
description = "Request templates for dictionary entries in the main namespace.",
parents = {"සැකිලි", "Requests"},
}
raw_categories["වැලිපිලි සැකිලි"] = {
description = "Sandbox versions of templates used for testing purposes.",
additional = "'''NOTE:''' The use of sandbox templates in mainspace is strongly dispreferred. Please place all sandbox templates in your userspace.",
parents = {"සැකිලි"},
}
raw_categories["අක්ෂරක්රම සැකිලි"] = {
preceding = "{{mainwikt|Scripts}}",
description = "Templates used for converting between scripts or displaying text in a specific script.",
parents = {"සැකිලි"},
}
raw_categories["ශබ්දාර්ථවිභාග සබඳතා සැකිලි"] = {
description = "Templates that are placed below the [[Wiktionary:Glossary#definition line|definition line]], to indicate other terms semantically related to a particular sense.",
parents = {"සැකිලි"},
}
raw_categories["Single-page-use templates"] = {
description = "Templates used only on a single page and unlikely to find re-use elsewhere.",
parents = {"සැකිලි"},
}
raw_categories["පරිපූරක සැකිලි"] = {
description = "A grab bag of templates used to assist other templates.",
additional = "These should be recategorized according to function.",
parents = {"සැකිලි"},
}
raw_categories["Taxonomy templates"] = {
description = "Templates used in Translingual taxonomy entries and in reference to those entries.",
parents = {"සැකිලි"},
}
raw_categories["Taxonomic hypernym templates"] = {
description = "Templates and subcategories containing such templates. The templates contain text to appear under the Hypernyms header for taxonomic name entries.",
additional = "Each template has the name of the taxon from which it begins. The templates in this category at present are the many templates that begin with the names of taxonomic families. Others are in subcategories",
breadcrumb = "Hypernym",
parents = {"Taxonomy templates"},
}
raw_categories["Taxonomic name templates"] = {
description = "Templates used for the presentation of taxonomic names on a definition line.",
breadcrumb = "Name",
parents = {"Taxonomy templates", "අර්ථ දැක්වීම් සැකිලි"},
}
raw_categories["Taxonomic reference templates"] = {
description = "Templates used to format references for taxonomic names.",
breadcrumb = "Reference",
parents = {"Taxonomy templates", "මූලාශ්ර සැකිලි"},
}
raw_categories["Templates that must be substituted"] = {
description = "Templates that are not intended for transclusion with <code><nowiki>{{ }}</nowiki></code>, " ..
"and must be substituted with <code><nowiki>{{subst: }}</nowiki></code>wherever they exist.",
additional = "Some of the members of this category are permanent, as the template was written in such a way that " ..
"it must be substituted to function properly. There may also be templates in this category that are deprecated, " ..
"in which case their content has been replaced with the preferred code.",
parents = {"සැකිලි", "Requests"},
}
raw_categories["Templates with acceleration"] = {
description = "Templates can be added to this category by adding {{tl|isAccelerated}} to their documentation pages.",
additional = "Presence in this category indicates that at least some of the \"form-of\" entries for the word can be generated semi-automatically by users with [[Wiktionary:ACCEL|accelerated]] editing enabled.",
parents = {"සැකිලි"},
}
raw_categories["පෙළ සැකසුම් සැකිලි"] = {
description = "Templates that provide shortcuts for formatting ordinary text.",
parents = {"සැකිලි"},
}
raw_categories["Thesaurus templates"] = {
description = "Templates for linking to or formatting thesaurus entries.",
parents = {"සැකිලි"},
}
raw_categories["පරිවර්තන සැකිලි"] = {
description = "Templates used to format entries in and parts of translation tables.",
parents = {"සැකිලි"},
}
raw_categories["පරිශීලක සැකිලි"] = {
description = "Templates meant to be used in userspace.",
parents = {"සැකිලි"},
}
raw_categories["User sandbox templates"] = {
description = "Templates that are for personal use and testing by individual editors.",
additional = "These should all begin with <code>User:</code> followed by the user's name. If several " ..
"sandbox templates are needed by a single user, subpages can be created. These templates should not be used in real " ..
"Wiktionary content pages, as all content on those pages should be editable by anyone and, if necessary, edit protected.",
parents = { "වැලිපිලි සැකිලි", "සැකිලි" },
}
raw_categories["Authority control subtemplates"] = {
description = "Subtemplates used in conjunction with {{tl|authority control}}.",
parents = {"පරිශීලක සැකිලි"},
}
raw_categories["User competency templates"] = {
description = "Templates used for to indicate a user's competency in a given natural language, script or programming language.",
additional = "These are used in conjunction with {{tl|Babel}}, which invokes these templates as necessary.",
parents = {"පරිශීලක සැකිලි"},
}
raw_categories["Coder user templates"] = {
description = "Templates used for to indicate a user's competency in a given programming language.",
additional = "These are used in conjunction with {{tl|Babel}}, which invokes these templates as necessary.",
parents = {"User competency templates"},
}
raw_categories["Language user templates"] = {
description = "Templates used for to indicate a user's competency in speaking a given language.",
additional = "These are used in conjunction with {{tl|Babel}}, which invokes these templates as necessary.",
parents = {"User competency templates"},
}
raw_categories["Script user templates"] = {
description = "Templates used for to indicate a user's competency in reading a given script.",
additional = "These are used in conjunction with {{tl|Babel}}, which invokes these templates as necessary.",
parents = {"User competency templates"},
}
raw_categories["WOTD templates"] = {
description = "Templates used to support the Word of the Day.",
parents = {"Wiktionary templates"},
}
raw_categories["FWOTD templates"] = {
description = "Templates used to support the Foreign Word of the Day.",
parents = {"WOTD templates"},
}
raw_categories["නන්-ප්රොඩක්ශන් සැකිලි සහ මොඩියුල"] = {
description = "Templates and modules not currently used in production.",
additional = "{{also|Special:UnusedTemplates|:ප්රවර්ගය:භාවිතා නොවූ සැකිලි}}",
parents = {"සැකිලි", "මොඩියුල", "ප්රවර්ගය:වික්ෂනරි නඩත්තු කටයුතු"},
}
raw_categories["Templates subcategories by language"] = {
description = "Umbrella categories covering topics related to templates.",
additional = "{{{umbrella_meta_msg}}}",
parents = {
"ඡත්ර මෙටා ප්රවර්ග",
{name = "සැකිලි", is_label = true, sort = " "},
},
}
-- Add breadcrumb by chopping off the parent (or the parent's parent, etc.) from the end of the label, if possible.
for key, data in pairs(raw_categories) do
if not data.breadcrumb then
local parent = data.parents[1]
while true do
if type(parent) == "string" then
local parent_re = " " .. require("Module:string utilities").pattern_escape(mw.getContentLanguage():lcfirst(parent)) .. "$"
if key:find(parent_re) then
data.breadcrumb = key:gsub(parent_re, "")
break
end
if raw_categories[parent] then
parent = raw_categories[parent].parents[1]
else
break
end
else
break
end
end
end
end
-----------------------------------------------------------------------------
-- --
-- RAW HANDLERS --
-- --
-----------------------------------------------------------------------------
insert(raw_handlers, function(data)
-- Allow 'Foo reference templates' for etym-only varieties.
local langname = data.category:match("^(.+) reference templates$")
if not langname then
return nil
end
local lang = require(languages_module).getByCanonicalName(langname, nil, true)
if lang and lang:hasType("etymology-only") then
local first_parent
local lang_parent = lang:getParent()
if lang_parent:hasType("etymology-only") then
-- In case there are nested etymology templates, return the parent's reference template cat, not the
-- full lang's reference template cat.
first_parent = lang_parent:getCanonicalName() .. " reference templates"
else
first_parent = {name = "මූලාශ්ර සැකිලි", lang = lang_parent:getCode(), is_label = true}
end
return {
lang = lang:getCode(),
description = "Templates used to generate reference footnotes for {{{langname}}} entries.",
parents = {
first_parent,
lang:getCategoryName(),
},
breadcrumb_and_first_sort_key = langname,
}
end
end)
return {LABELS = labels, RAW_CATEGORIES = raw_categories, RAW_HANDLERS = raw_handlers}
n8r378sj7pw9yzjnraz4xyk7md5x1x6
234068
234062
2026-05-15T07:16:37Z
Lee
19
"requests" සිට "ඉල්ලීම්" වෙතට
234068
Scribunto
text/plain
local m_sinhala = require("Module:sinhala")
local labels = {}
local raw_categories = {}
local raw_handlers = {}
local languages_module = "Module:languages"
local insert = table.insert
-----------------------------------------------------------------------------
-- --
-- LABELS --
-- --
-----------------------------------------------------------------------------
labels["සැකිලි"] = {
description = "ප්රවේශ නිර්මාණය සහ කළමනාකරණය සඳහා සහාය සලසන, නැවත-නැවත භාවිතයට ගත හැකි විකි කේත අඩංගු, {{{langname}}} [[වික්ෂනරි:සැකිලි|සැකිලි]].",
umbrella = {
parents = {{name = "සැකිලි", sort = " "}},
breadcrumb = "භාෂාව අනුව",
},
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["ස්වයංක්රීය-වගු සැකිලි"] = {
description = "Templates that contain {{{langname}}} tables generated automatically.",
additional = "They use the <code>වගුව:</code> prefix. උදාහරණ සඳහා, [[සැකිල්ල:වගුව:chess pieces/en]] වෙතට යොමු වන්න.",
parents = {"සබැඳි සැකිලි"},
}
labels["category boilerplate templates"] = {
description = "Templates used to generate descriptions and categorization for category pages.",
parents = {"සැකිලි"},
}
labels["conversion templates"] = {
description = "Templates used in {{{langname}}} entries to convert between different orthographic or numeral representations.",
parents = {"සැකිලි"},
}
labels["අර්ථ දැක්වීම් සැකිලි"] = {
description = "Templates used in the [[Wiktionary:Glossary#definition line|definition line]] of {{{langname}}} entries to help in creating definitions.",
parents = {"සැකිලි"},
}
labels["ප්රවේශ සැකිලි"] = {
description = "Templates used to help in the creation of {{{langname}}} entries.",
umbrella_parents = {"Templates subcategories by language", "ප්රවේශ සැකිලි"},
parents = {"සැකිලි"},
}
labels["නිරුක්ති සැකිලි"] = {
description = "Templates used in the etymology section of {{{langname}}} entries.",
parents = {"සැකිලි"},
}
labels["experimental templates"] = {
description = "Templates used to test possible content for {{{langname}}} entries.",
parents = {"සැකිලි"},
}
labels["රූපාකාර සැකිලි"] = {
description = "Templates used on the definition line of entries for inflected forms of words in {{{langdisp}}}, to link back to the main form.",
parents = {"අර්ථ දැක්වීම් සැකිලි", "සබැඳි සැකිලි"},
}
labels["යොමු වචන පේළි සැකිලි"] = {
description = "{{{langname}}} යොමු වචන අඩංගු පේළි පෙන්වීම සඳහා භාවිතා වන සැකිලි.",
parents = {"සැකිලි"},
}
labels["index templates"] = {
description = "Templates used to organize {{{langname}}} indexes.",
parents = {"සබැඳි සැකිලි"},
}
labels["වරනැගීම්-වගු සැකිලි"] = {
description = "Templates used to show inflection tables for {{{langname}}} terms.",
parents = {"සැකිලි"},
}
-- Do particular types of inflection-table templates.
for _, pos in ipairs({
"adjective",
"adverb",
"determiner",
"nominal",
"noun",
"numeral",
"participle",
"postposition",
"particle",
"preposition",
"pronoun",
"verb",
}) do
labels[m_sinhala.sinhala_adjective(pos) .. " වරනැගීම්-වගු සැකිලි"] = {
description = "Templates used to show declension tables for {{{langname}}} " .. pos .. "s.",
parents = {"වරනැගීම්-වගු සැකිලි"},
}
end
labels["සබැඳි සැකිලි"] = {
description = "{{{langname}}} templates used to create links to other entries.",
parents = {"සැකිලි"},
}
labels["ලැයිස්තු සැකිලි"] = {
description = "{{{langname}}} ලැයිස්තු අඩංගු වන සැකිලි.",
additional = "මේවා <code>list:</code> උපසර්ගය භාවිතා කරයි. උදාහරණයක් සඳහා, [[සැකිල්ල:list:Latin script letters/en]] වෙතට යොමු වන්න.<br />" ..
"අමතර අවධානයට [[:ප්රවර්ගය:ලැයිස්තු සැකිලි]].",
parents = {"සබැඳි සැකිලි"},
}
labels["mutation templates"] = {
description = "Templates used to show mutation of {{{langname}}} words.",
parents = {"සැකිලි"},
}
labels["navigation templates"] = {
description = "{{{langname}}} templates used to create navigation boxes for easily linking to other similar pages.",
additional = "Examples are all the members of a given class (e.g. personal pronouns, interrogatives, demonstratives), cardinal numbers up to 100, category TOC (table-of-contents) templates, etc.",
parents = {"සබැඳි සැකිලි"},
}
labels["උච්චාරණ සැකිලි"] = {
description = "Templates used to generate IPA pronunciation, rhymes, hyphenation, etc. for {{{langname}}} entries.",
umbrella_parents = {"Templates subcategories by language", "ප්රවර්ගය:උච්චාරණ සැකිලි"},
parents = {"සැකිලි"},
}
labels["sign production templates"] = {
description = "Templates used in describing and showing the production of {{{langname}}} signs.",
parents = {"pronunciation templates"},
}
labels["උපුටා දැක්වීම් සැකිලි"] = {
description = "Templates used to generate quotations for {{{langname}}} entries.",
umbrella_parents = {"Templates subcategories by language", "ප්රවර්ගය:උපහරණ සැකිලි"},
parents = {"සැකිලි"},
}
labels["quotation navigation templates"] = {
description = "Templates used in the documentation of {{{langname}}} [[Wiktionary:Quotations/Templates|quotation templates]] in order to link to quotation templates for other works by the same author.",
umbrella_parents = {"Templates subcategories by language", "Category:Navigation templates", "Category:Quotation templates by language"},
parents = {"උපුටා දැක්වීම් සැකිලි", "සබැඳි සැකිලි"},
}
labels["මූලාශ්ර සැකිලි"] = {
topright = function(data)
if data.lang and data.lang:getCode() == "ine-pro" then
return "{{shortcut|WT:RTINE}}"
end
end,
umbrella = {
preceding = "{{also|Wiktionary:Reference templates}}\n{{also|Template:refcat}}",
parents = {"Templates subcategories by language", "ප්රවර්ගය:මූලාශ්ර සැකිලි"},
breadcrumb = "භාෂාව අනුව",
},
description = "{{{langname}}} ප්රවේශ සඳහා මූලාශ්ර පාද සටහන් ජනනය පිණිස භාවිතා වන සැකිලි.",
parents = {"සබැඳි සැකිලි"},
}
labels["reference navigation templates"] = {
description = "Templates used in the documentation of reference templates in order to link to related reference templates.",
umbrella_parents = {"Templates subcategories by language", "Category:Navigation templates", "Category:Reference templates by language"},
parents = {"මූලාශ්ර සැකිලි", "සබැඳි සැකිලි"},
}
labels["පරිපූරක සැකිලි"] = {
description = "Templates used to keep contents for other {{{langname}}} templates.",
parents = {"සැකිලි"},
}
labels["inflection-table subtemplates"] = {
description = "Templates used to assist in constructing parts of {{{langname}}} inflection-table templates.",
parents = {"පරිපූරක සැකිලි"},
}
labels["භාවිතා සැකිලි"] = {
description = "Templates used to show usage notes in {{{langname}}} entries.",
parents = {"සැකිලි"},
}
for key, data in pairs(labels) do
-- Add 'umbrella_parents' key if not already present.
if not data.umbrella and not data.umbrella_parents then
data.umbrella_parents = "Templates subcategories by language"
end
-- Add breadcrumb by chopping off the parent (or the parent's parent, etc.) from the end of the label, if possible.
if not data.breadcrumb then
local parent = data.parents[1]
while true do
if type(parent) == "string" then
local parent_re = " " .. require("Module:string utilities").pattern_escape(parent) .. "$"
if key:find(parent_re) then
data.breadcrumb = key:gsub(parent_re, "")
break
end
if labels[parent] then
parent = labels[parent].parents[1]
else
break
end
else
break
end
end
end
end
-----------------------------------------------------------------------------
-- --
-- RAW CATEGORIES --
-- --
-----------------------------------------------------------------------------
raw_categories["සැකිලි"] = {
topright = "{{shortcut|WT:T}}",
description = "An organizing category intended for all templates in use on Wiktionary.",
additional = "''See also: [[Wiktionary:Templates]], [[meta:Help:Template]]''",
parents = {"වික්ෂනරිය"},
}
raw_categories["පරිපාලන සැකිලි"] = {
description = "Templates used in the administration of Wiktionary.",
additional = "They are only used outside of mainspace and are distinct from [[:Category:Maintenance templates|maintenance templates]], which are used in maintaining entries.",
parents = {"සැකිලි"},
}
raw_categories["ලේඛනාරක්ෂණ සැකිලි"] = {
description = "Templates used on archived or otherwise inactive pages.",
parents = {"පරිපාලන සැකිලි"},
}
raw_categories["CheckUser templates"] = {
description = "Templates related to [[Wiktionary:Requests for checkuser|checkuser requests]].",
parents = {"පරිපාලන සැකිලි"},
}
raw_categories["Editnotices"] = {
description = "Templates used to display notices in edit mode.",
parents = {"පරිපාලන සැකිලි"},
}
raw_categories["උපග්රන්ථ සැකිලි"] = {
description = "Templates used in appendices or to link to appendices.",
parents = {"සැකිලි", "ප්රවර්ගය:උපග්රන්ථ"},
}
raw_categories["Swadesh list templates"] = {
description = "Templates used on pages that contain [[w:Swadesh list]]s.<br />" ..
"See also [[Wiktionary:Swadesh template]] and [[Wiktionary:Swadesh template categorized]].",
parents = {"උපග්රන්ථ සැකිලි"},
}
raw_categories["Astrology templates"] = {
description = "Templates that display astrology-related diagrams or boxes.",
parents = {"සැකිලි"},
}
raw_categories["ශ්රව්ය සහාය සැකිලි"] = {
description = "Templates used to play or request audio files.",
parents = {"සැකිලි"},
}
raw_categories["ස්වයංක්රීය-වගු සැකිලි"] = {
description = "Templates used to generate word tables (like [[සැකිල්ල:වගුව:seasons]]).",
additional = "අමතර අවධානයට [[:ප්රවර්ගය:භාෂාව අනුව ස්වයංක්රීය-වගු සැකිලි]].",
parents = {"සැකිලි"},
}
raw_categories["Box templates"] = {
description = "General purpose box templates.",
additional = "If you're considering making a template that looks like a box, look here first!",
parents = {"සැකිලි"},
}
raw_categories["ප්රවර්ගකරණ සැකිලි"] = {
preceding = "{{also|:Category:Category modules}}",
description = "Templates used to categorize terms or entries.",
additional = "([[:Category:Category templates]], on the other hand, contains templates used in the category namespace.)",
parents = {"සැකිලි"},
}
raw_categories["ප්රවර්ග සැකිලි"] = {
description = "Templates used in the category namespace.",
additional = "([[:Category:Categorization templates]], on the other hand, contains templates used to categorize pages.)",
parents = {"සැකිලි"},
}
raw_categories["Category boilerplate templates"] = {
description = "Templates used to generate the text of category pages.",
parents = {"ප්රවර්ග සැකිලි"},
}
raw_categories["පටුන සැකිලි"] = {
description = "Templates used to generate a list of linked letters to navigate the pages listed in categories.",
parents = {"ප්රවර්ග සැකිලි", "මං සලකුණු සැකිලි"},
}
raw_categories["Character info templates"] = {
description = "Templates that utilize {{temp|character info}}.",
parents = {"සැකිලි"},
}
raw_categories["Character insertion templates"] = {
description = "Templates that provide easier ways to type characters that are not found in most keyboard layouts.",
parents = {"සැකිලි"},
}
raw_categories["Templates for generating characters used in wiki code"] = {
description = "Templates used to generate characters that are reserved for specific wiki code functions and cannot be directly entered.",
additional = "An alternative to using these templates is to use an HTML entity such as <code>&#91</code> " ..
"for a left bracket.<br />" ..
"Note that the templates below are sorted by the first character of the wikicode that each template generates.",
parents = {"Character insertion templates"},
}
raw_categories["Chemistry templates"] = {
description = "Templates that display chemistry-related diagrams or boxes.",
parents = {"සැකිලි"},
}
raw_categories["Chess templates"] = {
description = "Templates that display chess diagrams.",
parents = {"සැකිලි"},
}
raw_categories["උපහරණ සැකිලි"] = {
preceding = "{{ombox|type=speedy|text=Some templates may be marked '''FOR TESTING ONLY'''. Do not use these in entries, if requested on the template page itself. Take a look at the template page before using it.}}",
description = "Templates used to generate citations and quotations.",
additional = [=[
{{citation templates}}
== අමතර අවධානයට ==
* [[Wiktionary:Quotations]]
* [[:Category:Reference templates]] for specific templates to well-known and widely used sources.]=],
parents = {"සැකිලි"},
}
-- Skipped: Concordance templates
raw_categories["Control flow templates"] = {
description = "Templates to aid in control-flow constructs, which the template language is normally limited in.",
parents = {"සැකිලි"},
}
raw_categories["Cross reference templates"] = {
description = "Templates used to create cross-references between sections.",
parents = {"සැකිලි"},
}
raw_categories["Dating templates"] = {
description = "Templates for displaying dates.",
parents = {"සැකිලි"},
}
raw_categories["අර්ථ දැක්වීම් සැකිලි"] = {
description = "Templates used in the [[Wiktionary:Glossary#definition line|definition line]] to help in creating definitions.",
parents = {"සැකිලි"},
}
raw_categories["රූපාකාර සැකිලි"] = {
description = "Templates used in defining inflections or variants of a given lemma.",
parents = {"අර්ථ දැක්වීම් සැකිලි"},
}
raw_categories["Grammar form-of templates"] = {
description = "Templates used in defining terms that stand in a particular grammatical relation to a given lemma.",
parents = {"රූපාකාර සැකිලි"},
}
raw_categories["Conjugation form-of templates"] = {
description = "Templates used in defining terms that represent particular verb forms (e.g. past participle) of given lemma.",
parents = {"Grammar form-of templates"},
}
raw_categories["Declension form-of templates"] = {
description = "Templates used in defining terms that represent particular noun or adjective forms (e.g. masculine plural) of given lemma.",
parents = {"Grammar form-of templates"},
}
raw_categories["නාම සැකිලි"] = {
description = "Templates used in the [[Wiktionary:Glossary#definition line|definition line]] to help in creating definitions for names.",
parents = {"අර්ථ දැක්වීම් සැකිලි"},
}
raw_categories["Object usage templates"] = {
description = "Templates used in the [[Wiktionary:Glossary#definition line|definition line]] to show case and adposition usage for verb objects and similar constructs.",
parents = {"අර්ථ දැක්වීම් සැකිලි"},
}
raw_categories["Place name templates"] = {
description = "Templates used in defining place names or demonyms that refer to place names.",
parents = {"අර්ථ දැක්වීම් සැකිලි"},
}
raw_categories["ප්රවේශ සැකිලි"] = {
description = "Templates used to help create new entries.",
parents = {"සැකිලි"},
}
raw_categories["නිරුක්ති සැකිලි"] = {
description = "Templates used in etymology sections to define the etymology of a term.",
parents = {"සැකිලි"},
}
raw_categories["Foreign derivation templates"] = {
description = "Templates used in etymology sections to indicate derivation from a different language than the language of the current entry.",
parents = {"නිරුක්ති සැකිලි"},
}
raw_categories["පදිම විචාර සැකිලි"] = {
description = "Templates used in etymology sections to specify the morphology of a term.",
parents = {"නිරුක්ති සැකිලි"},
}
raw_categories["Language-specific morphology templates"] = {
description = "Specialized morphology templates used in the etymology sections of terms in particular languages.",
parents = {"පදිම විචාර සැකිලි"},
}
raw_categories["යොමු වචන පේළි සැකිලි"] = {
preceding = "{{also|Wiktionary:Headword-line templates}}",
description = "Templates used to define the [[Wiktionary:Glossary#headword line|headword line]] of a term.",
parents = {"සැකිලි"},
}
raw_categories["සාකච්ඡා සැකිලි"] = {
description = "Templates intended for use only in discussions and documentation of templates and modules.",
parents = {"සැකිලි"},
}
raw_categories["Monthly-subpages discussion room infrastructure"] = {
description = "Templates used in generating and maintaining monthly discussion forums such as the [[Wiktionary:Grease pit|Grease pit]] and [[Wiktionary:Beer parlour|Beer parlour]].",
parents = {"සාකච්ඡා සැකිලි"},
}
raw_categories["උපදෙස් සැකිලි"] = {
description = "මෙම ප්රවර්ගය සැකිලි සහ මොඩියුල උපදෙස් පිටු සඳහා භාවිතා වන සැකිලි ලැයිස්තු ගත කරයි.",
parents = {"සැකිලි"},
}
raw_categories["File templates"] = {
description = "Templates used in the File namespace.",
parents = {"සැකිලි"},
}
raw_categories["Language attestation warning templates"] = {
description = "Templates that warn users about the attestation status of entries or senses from a language.",
parents = {"සැකිලි"},
}
raw_categories["පිරිසැලසුම් සැකිලි"] = {
description = "Templates used in creating specific layouts within entries.",
parents = {"සැකිලි"},
}
raw_categories["Collapsible box templates"] = {
description = "Templates used in creating collapsible boxes.",
parents = {"පිරිසැලසුම් සැකිලි"},
}
raw_categories["තීරු සැකිලි"] = {
preceding = "{{also|Wiktionary:Templates#Columns}}",
description = "Templates used in laying out lists in columns.",
parents = {"පිරිසැලසුම් සැකිලි"},
}
raw_categories["වගු සැකිලි"] = {
description = "වගු හැඩගැන්වීම් සඳහා භාවිතා වන සැකිලි.",
parents = {"පිරිසැලසුම් සැකිලි"},
}
raw_categories["සබැඳි සැකිලි"] = {
description = "Templates used to link to other terms, to other MediaWiki projects or to external websites.",
parents = {"සැකිලි"},
}
raw_categories["බහුරුත්හරණ සැකිලි"] = {
description = "Templates used to disambiguate multiple similar terms.",
parents = {"සබැඳි සැකිලි"},
}
raw_categories["භාහිර සබැඳි සැකිලි"] = {
description = "Templates that link to websites outside of the MediaWiki Foundation purview.",
additional = "See also [[:ප්රවර්ගය:උපහරණ සැකිලි]] for others.",
parents = {"සබැඳි සැකිලි"},
}
raw_categories["අභ්යන්තර සබැඳි සැකිලි"] = {
description = "Templates that link between Wiktionary entries.",
parents = {"සබැඳි සැකිලි"},
}
raw_categories["Language-specific internal link templates"] = {
description = "Language-specific templates that link between Wiktionary entries in particular languages.",
parents = {"අභ්යන්තර සබැඳි සැකිලි"},
}
raw_categories["Interwiki link templates"] = {
description = "Templates that link to other Wikimedia projects.",
parents = {"සබැඳි සැකිලි"},
}
raw_categories["Inline interwiki link templates"] = {
description = "Inline templates that link to other Wikimedia projects.",
parents = {"Interwiki link templates"},
}
raw_categories["Sidebar interwiki link templates"] = {
description = "Sidebar templates that link to other Wikimedia projects.",
parents = {"Interwiki link templates"},
}
raw_categories["Wikidata link templates"] = {
description = "Inline templates that link to Wikidata.",
parents = {"Interwiki link templates"},
}
raw_categories["Wikisource link templates"] = {
description = "Inline templates that link to Wikisource.",
parents = {"Interwiki link templates"},
}
raw_categories["ලැයිස්තු සැකිලි"] = {
description = "ලැයිස්තු ජනනය සඳහා භාවිතා වන සැකිලි.",
additional = "මෙයත් බලන්න: [[:ප්රවර්ගය:භාෂාව අනුව ලැයිස්තු සැකිලි]].",
parents = {"සැකිලි"},
}
raw_categories["අනුලක්ෂණ ලැයිස්තු සැකිලි"] = {
description = "අනුලක්ෂණ ලැයිස්තු ජනනය සඳහා භාවිතා වන සැකිලි.",
parents = {"ලැයිස්තු සැකිලි"},
}
raw_categories["Lua-free templates"] = {
description = "Lua-free (i.e. \"lite\") versions of templates that use Lua.",
additional = "Lua-free templates are used on long pages to avoid [[Wiktionary:Lua memory errors|Lua memory errors]].",
parents = {"සැකිලි"},
}
raw_categories["නඩත්තු කටයුතු සැකිලි"] = {
preceding = "{{also|Wiktionary:Maintenance templates}}",
description = "Templates used in the maintenance of Wiktionary entries and other pages.",
additional = "They are distinct from [[:Category:Administration templates|administration templates]], which are only used outside of mainspace.",
parents = {"සැකිලි", "ප්රවර්ගය:වික්ෂනරි නඩත්තු කටයුතු"},
}
raw_categories["ශුද්ධ පවිත්රණ සැකිලි"] = {
description = "Templates used to request cleanup of entries.",
additional = "Some of these templates are used when entries are batch-imported from another source.",
parents = {"නඩත්තු කටයුතු සැකිලි", "ඉල්ලීම් සැකිලි"},
}
raw_categories["මකා දැමීම් සැකිලි"] = {
description = "Templates used to request deletion of entries.",
parents = {"නඩත්තු කටයුතු සැකිලි", "ඉල්ලීම් සැකිලි"},
}
raw_categories["සත්යාපන සැකිලි"] = {
description = "Templates used to request verification of entries that may be incorrect.",
parents = {"නඩත්තු කටයුතු සැකිලි", "ඉල්ලීම් සැකිලි"},
}
raw_categories["Wiktionary templates"] = {
description = "Templates used in the internal operation of Wiktionary.",
parents = {"සැකිලි", "වික්ෂනරිය"},
}
raw_categories["මෙටා සැකිලි"] = {
description = "Templates used in other templates or to create other templates.",
parents = {"සැකිලි"},
}
raw_categories["පෙළ හැසිරවීම් සැකිලි"] = {
description = "Templates used to manipulate strings.",
additional = "See also [[Module:string/templates]], which can be invoked from templates to do string manipulation.",
parents = {"මෙටා සැකිලි"},
}
------------ NAVIGATION TEMPLATES ------------
raw_categories["මං සලකුණු සැකිලි"] = {
description = "Templates used to create navigation boxes for easily linking to other similar pages.",
parents = {"සැකිලි"},
}
raw_categories["Language-specific number templates"] = {
description = "Language-specific templates that generate number boxes or lists for a given language.",
additional = "Contrast {{catlink|Number templates}}, which contains general (language-agnostic) templates for converting numbers or generating number boxes or lists in a given language.",
parents = {"මං සලකුණු සැකිලි"},
}
raw_categories["Pro-form box templates"] = {
description = "Language-specific templates that generate navigation boxes for displaying pro-forms (pronouns, determiners, pronominal adverbs, etc.) for a given language.",
parents = {"මං සලකුණු සැකිලි"},
}
raw_categories["Demonstrative box templates"] = {
description = "Language-specific templates that generate demonstrative pronoun, determiner and adverb boxes for a given language.",
parents = {"Pro-form box templates"},
}
raw_categories["Grammatical article box templates"] = {
description = "Language-specific templates that generate grammatical article boxes (definite, indefinite, partitive, etc.) for a given language.",
parents = {"Pro-form box templates"},
}
raw_categories["Interrogative box templates"] = {
description = "Language-specific templates that generate interrogative pronoun, determiner and adverb boxes for a given language.",
parents = {"Pro-form box templates"},
}
raw_categories["Personal pronoun box templates"] = {
description = "Language-specific templates that generate personal pronoun boxes for a given language.",
additional = [=[
The standard format for these templates is:
* Where the language is uninflected (e.g. Samoan {{tl|sm-personal pronouns}}) or the language is inflected but the box shows only the lemma forms of the pronoun (e.g. Basque {{tl|eu-personal pronouns}}), the '''numbers''' (singular/plural) run across the top and the '''persons''' (1st/2nd/3rd) run down the left side.
* Where the language is inflected, the '''cases''' run across the top. Down the left side, the headers (from left to right) are '''number''', '''person''', then any subform if applicable. Example: Middle High German {{tl|gmh-personal pronouns}}
** Exceptions:
*** If there are too many cases to fit on the screen as columns, the template can be transposed so that cases run vertically. Example: Northern Yukaghir {{tl|ykg-personal pronouns}}
*** If the singular and plural forms are very similar, consider placing the person headers outside number instead. Example: Punjabi {{tl|pa-personal pronouns}}
]=],
parents = {"Pro-form box templates"},
}
raw_categories["Possessive pronoun and determiner box templates"] = {
description = "Language-specific templates that generate possessive pronoun and determiner boxes for a given language.",
parents = {"Pro-form box templates"},
}
raw_categories["Reflexive pronoun and determiner box templates"] = {
description = "Language-specific templates that generate reflexive pronoun and determiner boxes for a given language.",
parents = {"Pro-form box templates"},
}
raw_categories["Relative pronoun and determiner box templates"] = {
description = "Language-specific templates that generate relative pronoun and determiner boxes for a given language.",
parents = {"Pro-form box templates"},
}
raw_categories["සංඛ්යා සැකිලි"] = {
description = "General (language-agnostic) templates used to convert numbers or generate boxes or lists of the numbers in a given language.",
additional = "Contrast {{catlink|Language-specific number templates}}, which contains language-specific templates for generating number boxes or lists in a given language.",
parents = {"සැකිලි"},
}
raw_categories["Orthographic and regional variant templates"] = {
description = "Templates used to generate lists of links to alternative forms of a term, either across orthographic systems, scripts, or regional or dialectal variation.",
parents = {"අක්ෂරක්රම සැකිලි", "අභ්යන්තර සබැඳි සැකිලි"},
}
raw_categories["Pagename templates"] = {
description = "Templates used to retrieve pagenames or pagename properties or manipulate pagenames.",
parents = {"සැකිලි"},
}
raw_categories["Preloaded templates"] = {
description = "Templates not meant to be transcluded, but instead, whether through URL parameters or modules, have their contents preloaded into edit fields.",
parents = {"සැකිලි"},
}
raw_categories["උච්චාරණ සැකිලි"] = {
description = "Templates used to format pronunciation sections and the characters they use.",
additional = "See also [[:Category:Script templates]] and [[Wiktionary:Pronunciation]].",
parents = {"සැකිලි"},
}
raw_categories["Rhyme templates"] = {
description = "Templates used to format [[Wiktionary:Rhymes|rhyme pages]], links to them from pronunciation sections, etc.",
parents = {"උච්චාරණ සැකිලි"},
}
raw_categories["Sign language templates"] = {
description = "Templates used to format sign-language pronunciation charts.",
parents = {"උච්චාරණ සැකිලි"},
}
raw_categories["Qualifier and gloss templates"] = {
description = "Templates for displaying qualifiers, glosses and the like.",
parents = {"සැකිලි"},
}
raw_categories["Redirect templates"] = {
description = "Templates used to format redirect pages.",
parents = {"සැකිලි"},
}
raw_categories["මූලාශ්ර සැකිලි"] = {
preceding = "{{also|Wiktionary:Reference templates|:Category:Reference templates by language}}",
description = "Templates used to format references.",
parents = {"සැකිලි"},
}
raw_categories["Religion templates"] = {
description = "Templates that display religion-related diagrams or boxes.",
parents = {"සැකිලි"},
}
raw_categories["ඉල්ලීම් සැකිලි"] = {
topright = "{{shortcut|WT:RT}}",
description = "Request templates for dictionary entries in the main namespace.",
parents = {"සැකිලි", "ඉල්ලීම්"},
}
raw_categories["වැලිපිලි සැකිලි"] = {
description = "Sandbox versions of templates used for testing purposes.",
additional = "'''NOTE:''' The use of sandbox templates in mainspace is strongly dispreferred. Please place all sandbox templates in your userspace.",
parents = {"සැකිලි"},
}
raw_categories["අක්ෂරක්රම සැකිලි"] = {
preceding = "{{mainwikt|Scripts}}",
description = "Templates used for converting between scripts or displaying text in a specific script.",
parents = {"සැකිලි"},
}
raw_categories["ශබ්දාර්ථවිභාග සබඳතා සැකිලි"] = {
description = "Templates that are placed below the [[Wiktionary:Glossary#definition line|definition line]], to indicate other terms semantically related to a particular sense.",
parents = {"සැකිලි"},
}
raw_categories["Single-page-use templates"] = {
description = "Templates used only on a single page and unlikely to find re-use elsewhere.",
parents = {"සැකිලි"},
}
raw_categories["පරිපූරක සැකිලි"] = {
description = "A grab bag of templates used to assist other templates.",
additional = "These should be recategorized according to function.",
parents = {"සැකිලි"},
}
raw_categories["Taxonomy templates"] = {
description = "Templates used in Translingual taxonomy entries and in reference to those entries.",
parents = {"සැකිලි"},
}
raw_categories["Taxonomic hypernym templates"] = {
description = "Templates and subcategories containing such templates. The templates contain text to appear under the Hypernyms header for taxonomic name entries.",
additional = "Each template has the name of the taxon from which it begins. The templates in this category at present are the many templates that begin with the names of taxonomic families. Others are in subcategories",
breadcrumb = "Hypernym",
parents = {"Taxonomy templates"},
}
raw_categories["Taxonomic name templates"] = {
description = "Templates used for the presentation of taxonomic names on a definition line.",
breadcrumb = "Name",
parents = {"Taxonomy templates", "අර්ථ දැක්වීම් සැකිලි"},
}
raw_categories["Taxonomic reference templates"] = {
description = "Templates used to format references for taxonomic names.",
breadcrumb = "Reference",
parents = {"Taxonomy templates", "මූලාශ්ර සැකිලි"},
}
raw_categories["Templates that must be substituted"] = {
description = "Templates that are not intended for transclusion with <code><nowiki>{{ }}</nowiki></code>, " ..
"and must be substituted with <code><nowiki>{{subst: }}</nowiki></code>wherever they exist.",
additional = "Some of the members of this category are permanent, as the template was written in such a way that " ..
"it must be substituted to function properly. There may also be templates in this category that are deprecated, " ..
"in which case their content has been replaced with the preferred code.",
parents = {"සැකිලි", "ඉල්ලීම්"},
}
raw_categories["Templates with acceleration"] = {
description = "Templates can be added to this category by adding {{tl|isAccelerated}} to their documentation pages.",
additional = "Presence in this category indicates that at least some of the \"form-of\" entries for the word can be generated semi-automatically by users with [[Wiktionary:ACCEL|accelerated]] editing enabled.",
parents = {"සැකිලි"},
}
raw_categories["පෙළ සැකසුම් සැකිලි"] = {
description = "Templates that provide shortcuts for formatting ordinary text.",
parents = {"සැකිලි"},
}
raw_categories["Thesaurus templates"] = {
description = "Templates for linking to or formatting thesaurus entries.",
parents = {"සැකිලි"},
}
raw_categories["පරිවර්තන සැකිලි"] = {
description = "Templates used to format entries in and parts of translation tables.",
parents = {"සැකිලි"},
}
raw_categories["පරිශීලක සැකිලි"] = {
description = "Templates meant to be used in userspace.",
parents = {"සැකිලි"},
}
raw_categories["User sandbox templates"] = {
description = "Templates that are for personal use and testing by individual editors.",
additional = "These should all begin with <code>User:</code> followed by the user's name. If several " ..
"sandbox templates are needed by a single user, subpages can be created. These templates should not be used in real " ..
"Wiktionary content pages, as all content on those pages should be editable by anyone and, if necessary, edit protected.",
parents = { "වැලිපිලි සැකිලි", "සැකිලි" },
}
raw_categories["Authority control subtemplates"] = {
description = "Subtemplates used in conjunction with {{tl|authority control}}.",
parents = {"පරිශීලක සැකිලි"},
}
raw_categories["User competency templates"] = {
description = "Templates used for to indicate a user's competency in a given natural language, script or programming language.",
additional = "These are used in conjunction with {{tl|Babel}}, which invokes these templates as necessary.",
parents = {"පරිශීලක සැකිලි"},
}
raw_categories["Coder user templates"] = {
description = "Templates used for to indicate a user's competency in a given programming language.",
additional = "These are used in conjunction with {{tl|Babel}}, which invokes these templates as necessary.",
parents = {"User competency templates"},
}
raw_categories["Language user templates"] = {
description = "Templates used for to indicate a user's competency in speaking a given language.",
additional = "These are used in conjunction with {{tl|Babel}}, which invokes these templates as necessary.",
parents = {"User competency templates"},
}
raw_categories["Script user templates"] = {
description = "Templates used for to indicate a user's competency in reading a given script.",
additional = "These are used in conjunction with {{tl|Babel}}, which invokes these templates as necessary.",
parents = {"User competency templates"},
}
raw_categories["WOTD templates"] = {
description = "Templates used to support the Word of the Day.",
parents = {"Wiktionary templates"},
}
raw_categories["FWOTD templates"] = {
description = "Templates used to support the Foreign Word of the Day.",
parents = {"WOTD templates"},
}
raw_categories["නන්-ප්රොඩක්ශන් සැකිලි සහ මොඩියුල"] = {
description = "Templates and modules not currently used in production.",
additional = "{{also|Special:UnusedTemplates|:ප්රවර්ගය:භාවිතා නොවූ සැකිලි}}",
parents = {"සැකිලි", "මොඩියුල", "ප්රවර්ගය:වික්ෂනරි නඩත්තු කටයුතු"},
}
raw_categories["Templates subcategories by language"] = {
description = "Umbrella categories covering topics related to templates.",
additional = "{{{umbrella_meta_msg}}}",
parents = {
"ඡත්ර මෙටා ප්රවර්ග",
{name = "සැකිලි", is_label = true, sort = " "},
},
}
-- Add breadcrumb by chopping off the parent (or the parent's parent, etc.) from the end of the label, if possible.
for key, data in pairs(raw_categories) do
if not data.breadcrumb then
local parent = data.parents[1]
while true do
if type(parent) == "string" then
local parent_re = " " .. require("Module:string utilities").pattern_escape(mw.getContentLanguage():lcfirst(parent)) .. "$"
if key:find(parent_re) then
data.breadcrumb = key:gsub(parent_re, "")
break
end
if raw_categories[parent] then
parent = raw_categories[parent].parents[1]
else
break
end
else
break
end
end
end
end
-----------------------------------------------------------------------------
-- --
-- RAW HANDLERS --
-- --
-----------------------------------------------------------------------------
insert(raw_handlers, function(data)
-- Allow 'Foo reference templates' for etym-only varieties.
local langname = data.category:match("^(.+) reference templates$")
if not langname then
return nil
end
local lang = require(languages_module).getByCanonicalName(langname, nil, true)
if lang and lang:hasType("etymology-only") then
local first_parent
local lang_parent = lang:getParent()
if lang_parent:hasType("etymology-only") then
-- In case there are nested etymology templates, return the parent's reference template cat, not the
-- full lang's reference template cat.
first_parent = lang_parent:getCanonicalName() .. " reference templates"
else
first_parent = {name = "මූලාශ්ර සැකිලි", lang = lang_parent:getCode(), is_label = true}
end
return {
lang = lang:getCode(),
description = "Templates used to generate reference footnotes for {{{langname}}} entries.",
parents = {
first_parent,
lang:getCategoryName(),
},
breadcrumb_and_first_sort_key = langname,
}
end
end)
return {LABELS = labels, RAW_CATEGORIES = raw_categories, RAW_HANDLERS = raw_handlers}
lmqi029vvu9d9kovefa79b0jf5s7ryh
Module:languages/data/2
828
7906
234126
232258
2026-05-13T11:25:43Z
en>Surjection
0
this will break the sort order; å will sort before æ
234126
Scribunto
text/plain
local m_langdata = require("Module:languages/data")
-- Loaded on demand, as it may not be needed (depending on the data).
local function u(...)
u = require("Module:string utilities").char
return u(...)
end
local c = m_langdata.chars
local p = m_langdata.puaChars
local s = m_langdata.shared
-- Ideally, we want to move these into [[Module:languages/data]], but because (a) it's necessary to use require on that module, and (b) they're only used in this data module, it's less memory-efficient to do that at the moment. If it becomes possible to use mw.loadData, then these should be moved there.
s["de-Latn-sortkey"] = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.diaer .. c.ringabove,
from = {"æ", "œ", "ß"},
to = {"ae", "oe", "ss"}
}
s["de-Latn-standardchars"] = "AaÄäBbCcDdEeFfGgHhIiJjKkLlMmNnOoÖöPpQqRrSsẞßTtUuÜüVvWwXxYyZz"
s["ka-stripdiacritics"] = {remove_diacritics = c.circ}
s["no-sortkey"] = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.macron .. c.dacute .. c.caron .. c.cedilla,
remove_exceptions = {"å"},
from = {"æ", "ø", "å"},
to = {"z" .. p[1], "z" .. p[2], "z" .. p[3]}
}
s["no-standardchars"] = "AaBbDdEeFfGgHhIiJjKkLlMmNnOoPpRrSsTtUuVvYyÆæØøÅå" .. c.punc
s["sa-Deva-stripdiacritics"] = { -- Don't use remove_diacritics for accent marks, as १ and ३ should also be removed if (and only if) they carry any.
from = {"[१३]?[" .. c.anudatta .. c.udatta .. c.dsvarita .. c.tsvarita .. "]+"},
to = {""},
}
s["tg-stripdiacritics"] = {remove_diacritics = c.grave .. c.acute}
s["tk-stripdiacritics"] = {remove_diacritics = c.macron}
local m = {}
m["aa"] = {
"Afar",
27811,
"cus-eas",
"Latn, Ethi",
strip_diacritics = {
Latn = {remove_diacritics = c.acute},
},
}
m["ab"] = {
"Abkhaz",
5111,
"cau-abz",
"Cyrl, Geor, Latn",
translit = {
Cyrl = "ab-translit",
-- Geor translit in [[Module:scripts/data]]
},
override_translit = true,
display_text = {
Cyrl = s["cau-Cyrl-displaytext"]
},
strip_diacritics = {
Cyrl = {
remove_diacritics = c.acute,
from = {"^а%-"},
to = {"а"},
},
Latn = s["cau-Latn-stripdiacritics"],
},
sort_key = {
Cyrl = {
from = {
"х'ә", -- 3 chars
"гь", "гә", "ӷь", "ҕь", "ӷә", "ҕә", "дә", "ё", "жь", "жә", "ҙә", "ӡә", "ӡ'", "кь", "кә", "қь", "қә", "ҟь", "ҟә", "ҫә", "тә", "ҭә", "ф'", "хь", "хә", "х'", "ҳә", "ць", "цә", "ц'", "ҵә", "ҵ'", "шь", "шә", "џь", -- 2 chars
"ӷ", "ҕ", "ҙ", "ӡ", "қ", "ҟ", "ԥ", "ҧ", "ҫ", "ҭ", "ҳ", "ҵ", "ҷ", "ҽ", "ҿ", "ҩ", "џ", "ә", -- 1 char
"^а",
},
to = {
"х" .. p[4],
"г" .. p[1], "г" .. p[2], "г" .. p[5], "г" .. p[6], "г" .. p[7], "г" .. p[8], "д" .. p[1], "е" .. p[1], "ж" .. p[1], "ж" .. p[2], "з" .. p[2], "з" .. p[4], "з" .. p[5], "к" .. p[1], "к" .. p[2], "к" .. p[4], "к" .. p[5], "к" .. p[7], "к" .. p[8], "с" .. p[2], "т" .. p[1], "т" .. p[3], "ф" .. p[1], "х" .. p[1], "х" .. p[2], "х" .. p[3], "х" .. p[6], "ц" .. p[1], "ц" .. p[2], "ц" .. p[3], "ц" .. p[5], "ц" .. p[6], "ш" .. p[1], "ш" .. p[2], "ы" .. p[3],
"г" .. p[3], "г" .. p[4], "з" .. p[1], "з" .. p[3], "к" .. p[3], "к" .. p[6], "п" .. p[1], "п" .. p[2], "с" .. p[1], "т" .. p[2], "х" .. p[5], "ц" .. p[4], "ч" .. p[1], "ч" .. p[2], "ч" .. p[3], "ы" .. p[1], "ы" .. p[2], "ь" .. p[1],
"",
}
},
},
}
m["ae"] = {
"Avestan",
29572,
"ira-cen",
"Avst, Gujr, Deva",
translit = {
Avst = "Avst-translit"
},
}
m["af"] = {
"Afrikaans",
14196,
"gmw-frk",
"Latn, Arab",
ancestors = "nl",
sort_key = {
Latn = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.diaer .. c.ringabove .. c.cedilla .. "'",
from = {"['ʼ]n"},
to = {"n" .. p[1]}
}
},
}
m["ak"] = {
"Akan",
28026,
"alv-ctn",
"Latn",
}
m["am"] = {
"Amharic",
28244,
"sem-eth",
"Ethi",
translit = "Ethi-translit",
}
m["an"] = {
"Aragonese",
8765,
"roa-nar",
"Latn",
}
m["ar"] = {
"Arabic",
13955,
"sem-arb",
"Arab, Hebr, Syrc, Brai, Nbat",
translit = {
Arab = "ar-translit"
},
strip_diacritics = {
Arab = "ar-stripdiacritics",
},
-- Hebr display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["as"] = {
"Assamese",
29401,
"inc-bas",
"as-Beng",
ancestors = "inc-mas",
translit = "as-translit",
}
m["av"] = {
"Avar",
29561,
"cau-ava",
"Cyrl, Latn, Arab",
ancestors = "oav",
translit = {
Cyrl = "cau-nec-translit",
Arab = "ar-translit",
},
override_translit = true,
display_text = {
Cyrl = s["cau-Cyrl-displaytext"],
},
strip_diacritics = {
Cyrl = s["cau-Cyrl-stripdiacritics"],
Latn = s["cau-Latn-stripdiacritics"],
},
sort_key = {
Cyrl = {
from = {"гъ", "гь", "гӏ", "ё", "кк", "къ", "кь", "кӏ", "лъ", "лӏ", "тӏ", "хх", "хъ", "хь", "хӏ", "цӏ", "чӏ"},
to = {"г" .. p[1], "г" .. p[2], "г" .. p[3], "е" .. p[1], "к" .. p[1], "к" .. p[2], "к" .. p[3], "к" .. p[4], "л" .. p[1], "л" .. p[2], "т" .. p[1], "х" .. p[1], "х" .. p[2], "х" .. p[3], "х" .. p[4], "ц" .. p[1], "ч" .. p[1]}
},
},
}
m["ay"] = {
"Aymara",
4627,
"sai-aym",
"Latn",
}
m["az"] = {
"Azerbaijani",
9292,
"trk-ogz",
"Latn, Cyrl, fa-Arab",
ancestors = "trk-oat",
dotted_dotless_i = true,
strip_diacritics = {
Latn = {
from = {"ʼ"},
to = {"'"},
},
["fa-Arab"] = {
module = "ar-stripdiacritics",
["from"] = {
"ۆ",
"ۇ",
"وْ",
"ڲ",
"ؽ",
},
["to"] = {
"و",
"و",
"و",
"گ",
"ی",
},
},
},
display_text = {
Latn = {
from = {"'"},
to = {"ʼ"}
}
},
sort_key = {
Latn = {
from = {
"i", -- Ensure "i" comes after "ı".
"ç", "ə", "ğ", "x", "ı", "q", "ö", "ş", "ü", "w"
},
to = {
"i" .. p[1],
"c" .. p[1], "e" .. p[1], "g" .. p[1], "h" .. p[1], "i", "k" .. p[1], "o" .. p[1], "s" .. p[1], "u" .. p[1], "z" .. p[1]
}
},
Cyrl = {
from = {"ғ", "ә", "ы", "ј", "ҝ", "ө", "ү", "һ", "ҹ"},
to = {"г" .. p[1], "е" .. p[1], "и" .. p[1], "и" .. p[2], "к" .. p[1], "о" .. p[1], "у" .. p[1], "х" .. p[1], "ч" .. p[1]}
},
},
}
m["ba"] = {
"Bashkir",
13389,
"trk-kbu",
"Cyrl",
translit = "ba-translit",
override_translit = true,
sort_key = {
from = {"ғ", "ҙ", "ё", "ҡ", "ң", "ө", "ҫ", "ү", "һ", "ә"},
to = {"г" .. p[1], "д" .. p[1], "е" .. p[1], "к" .. p[1], "н" .. p[1], "о" .. p[1], "с" .. p[1], "у" .. p[1], "х" .. p[1], "э" .. p[1]}
},
}
m["be"] = {
"Belarusian",
9091,
"zle",
"Cyrl, Latn",
ancestors = "zle-mbe",
translit = {
Cyrl = "be-translit",
},
strip_diacritics = {
Cyrl = {
remove_diacritics = c.grave .. c.acute,
},
Latn = {
remove_diacritics = c.grave .. c.acute,
remove_exceptions = {"Ć", "ć", "Ń", "ń", "Ś", "ś", "Ź", "ź"},
},
},
sort_key = {
Cyrl = {
remove_diacritics = c.grave .. c.acute,
from = {"ґ", "ё", "і", "ў"},
to = {"г" .. p[1], "е" .. p[1], "и" .. p[1], "у" .. p[1]}
},
Latn = {
remove_diacritics = c.grave .. c.acute,
remove_exceptions = {"Ć", "ć", "Ń", "ń", "Ś", "ś", "Ź", "ź"},
from = {"ć", "č", "dz", "dź", "dž", "ch", "ł", "ń", "ś", "š", "ŭ", "ź", "ž"},
to = {"c" .. p[1], "c" .. p[2], "d" .. p[1], "d" .. p[2], "d" .. p[3], "h" .. p[1], "l" .. p[1], "n" .. p[1], "s" .. p[1], "s" .. p[2], "u" .. p[1], "z" .. p[1], "z" .. p[2]}
},
},
standard_chars = {
Cyrl = "АаБбВвГгДдЕеЁёЖжЗзІіЙйКкЛлМмНнОоПпРрСсТтУуЎўФфХхЦцЧчШшЫыЬьЭэЮюЯя",
Latn = "AaBbCcĆćČčDdEeFfGgHhIiJjKkLlŁłMmNnŃńOoPpRrSsŚśŠšTtUuŬŭVvYyZzŹźŽž",
(c.punc:gsub("'", "")) -- Exclude apostrophe.
},
}
m["bg"] = {
"Bulgarian",
7918,
"zls",
"Cyrl",
ancestors = "cu-bgm",
translit = "bg-translit",
strip_diacritics = {
remove_diacritics = c.grave .. c.acute,
remove_exceptions = {"%f[^%z%s]ѝ%f[%z%s]"},
},
sort_key = {
remove_diacritics = c.grave .. c.acute,
remove_exceptions = {"%f[^%z%s]ѝ%f[%z%s]"},
},
standard_chars = "АаБбВвГгДдЕеЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЬьЮюЯя" .. c.punc,
}
m["bh"] = {
"Bihari",
135305,
"inc-eas",
"Deva",
}
m["bi"] = {
"Bislama",
35452,
"crp",
"Latn",
ancestors = "en",
}
m["bm"] = {
"Bambara",
33243,
"dmn-emn",
"Latn, Nkoo",
sort_key = {
Latn = {
from = {"ɛ", "ɲ", "ŋ", "ɔ"},
to = {"e" .. p[1], "n" .. p[1], "n" .. p[2], "o" .. p[1]}
},
},
}
m["bn"] = {
"Bengali",
9610,
"inc-bas",
"Beng, Newa",
ancestors = "inc-mbn",
translit = {
Beng = "bn-translit"
},
}
m["bo"] = {
"Tibetan",
34271,
"sit-tib",
"Tibt", -- sometimes Deva?
ancestors = "xct",
override_translit = true,
-- Tibt translit, display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["br"] = {
"Breton",
12107,
"cel-brs",
"Latn",
ancestors = "xbm",
sort_key = {
from = {"ch", "c['ʼ’]h"},
to = {"c" .. p[1], "c" .. p[2]}
},
}
m["ca"] = {
"Catalan",
7026,
"roa-ocr",
"Latn",
ancestors = "roa-oca",
sort_key = {remove_diacritics = c.grave .. c.acute .. c.diaer .. c.cedilla .. "·"},
standard_chars = "AaÀàBbCcÇçDdEeÉéÈèFfGgHhIiÍíÏïJjLlMmNnOoÓóÒòPpQqRrSsTtUuÚúÜüVvXxYyZz·" .. c.punc,
}
m["ce"] = {
"Chechen",
33350,
"cau-vay",
"Cyrl, Latn, Arab",
translit = {
Cyrl = "cau-nec-translit",
Arab = "ar-translit",
},
override_translit = true,
display_text = {
Cyrl = s["cau-Cyrl-displaytext"]
},
strip_diacritics = {
Cyrl = s["cau-Cyrl-stripdiacritics"],
Latn = s["cau-Latn-stripdiacritics"],
},
sort_key = {
Cyrl = {
from = {"аь", "гӏ", "ё", "кх", "къ", "кӏ", "оь", "пӏ", "тӏ", "уь", "хь", "хӏ", "цӏ", "чӏ", "юь", "яь"},
to = {"а" .. p[1], "г" .. p[1], "е" .. p[1], "к" .. p[1], "к" .. p[2], "к" .. p[3], "о" .. p[1], "п" .. p[1], "т" .. p[1], "у" .. p[1], "х" .. p[1], "х" .. p[2], "ц" .. p[1], "ч" .. p[1], "ю" .. p[1], "я" .. p[1]}
},
},
}
m["ch"] = {
"Chamorro",
33262,
"poz",
"Latn",
sort_key = {
remove_diacritics = "'",
from = {"å", "ch", "ñ", "ng"},
to = {"a" .. p[1], "c" .. p[1], "n" .. p[1], "n" .. p[2]}
},
}
m["co"] = {
"Corsican",
33111,
"roa-itr",
"Latn",
sort_key = {
from = {"chj", "ghj", "sc", "sg"},
to = {"c" .. p[1], "g" .. p[1], "s" .. p[1], "s" .. p[2]}
},
standard_chars = "AaÀàBbCcDdEeÈèFfGgHhIiÌìÏïJjLlMmNnOoÒòPpQqRrSsTtUuÙùÜüVvZz" .. c.punc,
}
m["cr"] = {
"Cree",
33390,
"alg",
"Latn, Cans",
translit = {
Cans = "cr-translit"
},
}
m["cs"] = {
"Czech",
9056,
"zlw",
"Latn",
ancestors = "cs-ear",
sort_key = {
from = {"á", "č", "ď", "é", "ě", "ch", "í", "ň", "ó", "ř", "š", "ť", "ú", "ů", "ý", "ž"},
to = {"a" .. p[1], "c" .. p[1], "d" .. p[1], "e" .. p[1], "e" .. p[2], "h" .. p[1], "i" .. p[1], "n" .. p[1], "o" .. p[1], "r" .. p[1], "s" .. p[1], "t" .. p[1], "u" .. p[1], "u" .. p[2], "y" .. p[1], "z" .. p[1]}
},
standard_chars = "AaÁáBbCcČčDdĎďEeÉéĚěFfGgHhIiÍíJjKkLlMmNnŇňOoÓóPpRrŘřSsŠšTtŤťUuÚúŮůVvYyÝýZzŽž" .. c.punc,
}
m["cu"] = {
"Old Church Slavonic",
35499,
"zls",
"Cyrs, Glag, Zname",
translit = {
Cyrs = "Cyrs-translit",
Glag = "Glag-translit"
},
-- Cyrs strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["cv"] = {
"Chuvash",
33348,
"trk-ogr",
"Cyrl",
ancestors = "cv-mid",
translit = "cv-translit",
override_translit = true,
sort_key = {
from = {"ӑ", "ё", "ӗ", "ҫ", "ӳ"},
to = {"а" .. p[1], "е" .. p[1], "е" .. p[2], "с" .. p[1], "у" .. p[1]}
},
}
m["cy"] = {
"Welsh",
9309,
"cel-brw",
"Latn",
ancestors = "wlm",
sort_key = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.diaer .. "'",
from = {"ch", "dd", "ff", "ng", "ll", "ph", "rh", "th"},
to = {"c" .. p[1], "d" .. p[1], "f" .. p[1], "g" .. p[1], "l" .. p[1], "p" .. p[1], "r" .. p[1], "t" .. p[1]}
},
standard_chars = "ÂâAaBbCcDdEeÊêFfGgHhIiÎîLlMmNnOoÔôPpRrSsTtUuÛûWwŴŵYyŶŷ" .. c.punc,
}
m["da"] = {
"Danish",
9035,
"gmq-eas",
"Latn",
ancestors = "gmq-oda",
sort_key = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.macron .. c.dacute .. c.caron .. c.cedilla,
remove_exceptions = {"å"},
from = {"æ", "ø", "å"},
to = {"z" .. p[1], "z" .. p[2], "z" .. p[3]}
},
standard_chars = "AaBbDdEeFfGgHhIiJjKkLlMmNnOoPpRrSsTtUuVvYyÆæØøÅå" .. c.punc,
}
m["de"] = {
"German",
188,
"gmw-hgm",
"Latn, Latf, Brai",
ancestors = "de-ear",
sort_key = {
Latn = s["de-Latn-sortkey"],
Latf = s["de-Latn-sortkey"],
},
standard_chars = {
Latn = s["de-Latn-standardchars"],
Latf = s["de-Latn-standardchars"],
Brai = c.braille,
c.punc
}
}
m["dv"] = {
"Dhivehi",
32656,
"inc-ins",
"Thaa, Diak",
translit = {
Thaa = "dv-translit",
Diak = "Diak-translit",
},
ancestors = "dv-old",
override_translit = true,
}
m["dz"] = {
"Dzongkha",
33081,
"sit-tib",
"Tibt",
ancestors = "xct",
override_translit = true,
-- Tibt translit, display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["ee"] = {
"Ewe",
30005,
"alv-gbe",
"Latn",
sort_key = {
remove_diacritics = c.tilde,
from = {"ɖ", "dz", "ɛ", "ƒ", "gb", "ɣ", "kp", "ny", "ŋ", "ɔ", "ts", "ʋ"},
to = {"d" .. p[1], "d" .. p[2], "e" .. p[1], "f" .. p[1], "g" .. p[1], "g" .. p[2], "k" .. p[1], "n" .. p[1], "n" .. p[2], "o" .. p[1], "t" .. p[1], "v" .. p[1]}
},
}
m["el"] = {
"Greek",
9129,
"grk",
"Grek, Polyt, Brai",
ancestors = "el-kth",
translit = "el-translit",
override_translit = true,
-- Grek and Polyt display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
standard_chars = {
Grek = "΅·ͺ΄ΑαΆάΒβΓγΔδΕεέΈΖζΗηΉήΘθΙιΊίΪϊΐΚκΛλΜμΝνΞξΟοΌόΠπΡρΣσςΤτΥυΎύΫϋΰΦφΧχΨψΩωΏώ",
Brai = c.braille,
c.punc
},
}
m["en"] = {
"English",
1860,
"gmw-ang",
"Latn, Brai, Shaw, Dsrt", -- entries in Shaw or Dsrt might require prior discussion
wikimedia_codes = "en, simple",
ancestors = "en-ear",
sort_key = {
Latn = {
-- Many of these are needed for sorting language names.
remove_diacritics = "'\"%-%.,%s·ʻʼ" .. c.diacritics,
-- These are found in pagenames.
from = {"[ɒæ🅱¢©ᴄðđəǝɜɡħʜıɨłŋɲøɔœꝑꝓꝕßʋ]"},
to = {{
["ɒ"] = "a", ["æ"] = "ae", ["🅱"] = "b", ["¢"] = "c", ["©"] = "c",
["ᴄ"] = "c", ["ð"] = "d", ["đ"] = "d", ["ə"] = "e", ["ǝ"] = "e",
["ɜ"] = "e", ["ɡ"] = "g", ["ħ"] = "h", ["ʜ"] = "h", ["ı"] = "i",
["ɨ"] = "i", ["ł"] = "l", ["ŋ"] = "n", ["ɲ"] = "n", ["ø"] = "o",
["ɔ"] = "o", ["œ"] = "oe", ["ꝑ"] = "p", ["ꝓ"] = "p", ["ꝕ"] = "p",
["ß"] = "ss", ["ʋ"] = "v",
}},
},
},
standard_chars = {
Latn = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz",
Brai = c.braille,
c.punc
},
}
m["eo"] = {
"Esperanto",
143,
"art",
"Latn",
sort_key = {
remove_diacritics = c.grave .. c.acute,
from = {"ĉ", "ĝ", "ĥ", "ĵ", "ŝ", "ŭ"},
to = {"c" .. p[1], "g" .. p[1], "h" .. p[1], "j" .. p[1], "s" .. p[1], "u" .. p[1]}
},
standard_chars = "AaBbCcĈĉDdEeFfGgĜĝHhĤĥIiJjĴĵKkLlMmNnOoPpRrSsŜŝTtUuŬŭVvZz" .. c.punc,
}
m["es"] = {
"Spanish",
1321,
"roa-cas",
"Latn, Brai",
ancestors = "es-ear",
sort_key = {
Latn = {
remove_exceptions = {"ñ"},
remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.macron .. c.diaer .. c.cedilla,
from = {"ª", "æ", "ñ", "º", "œ"},
to = {"a", "ae", "n" .. p[1], "o", "oe"}
},
},
standard_chars = {
Latn = "AaÁáBbCcDdEeÉéFfGgHhIiÍíJjLlMmNnÑñOoÓóPpQqRrSsTtUuÚúÜüVvXxYyZz",
Brai = c.braille,
c.punc
},
}
m["et"] = {
"Estonian",
9072,
"urj-fin",
"Latn",
sort_key = {
from = {
"š", "ž", "õ", "ä", "ö", "ü", -- 2 chars
"z" -- 1 char
},
to = {
"s" .. p[1], "s" .. p[3], "w" .. p[1], "w" .. p[2], "w" .. p[3], "w" .. p[4],
"s" .. p[2]
}
},
standard_chars = "AaBbDdEeFfGgHhIiJjKkLlMmNnOoPpRrSsTtUuVvÕõÄäÖöÜü" .. c.punc,
}
m["eu"] = {
"Basque",
8752,
"euq",
"Latn",
sort_key = {
from = {"ç", "ñ"},
to = {"c" .. p[1], "n" .. p[1]}
},
standard_chars = "AaBbDdEeFfGgHhIiJjKkLlMmNnÑñOoPpRrSsTtUuXxZz" .. c.punc,
}
m["fa"] = {
"Persian",
9168,
"ira-swi",
"fa-Arab, Hebr",
ancestors = "fa-cls",
strip_diacritics = {
["fa-Arab"] = {
-- character "ۂ" code U+06C2 to "ه" and "هٔ" (U+0647 + U+0654) to "ه"; hamzatu l-waṣli to a regular alif
from = {"هٔ", "ٱ"}, -- character "ۂ" code U+06C2 to "ه"; hamzatu l-waṣli to a regular alif
to = {"ه", "ا"},
remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.superalef,
},
},
-- Hebr display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["ff"] = {
"Fula",
33454,
"alv-fwo",
"Latn, Adlm",
}
m["fi"] = {
"Finnish",
1412,
"urj-fin",
"Latn",
display_text = {
from = {"'"},
to = {"’"}
},
strip_diacritics = { -- used to indicate gemination of the next consonant
remove_diacritics = "ˣ",
from = {"’"},
to = {"'"},
},
sort_key = { -- [[Appendix:Finnish alphabet#Collation]] + "aͤ" and "oͤ" as historical variants of "ä" and "ö".
remove_diacritics = "'’:" .. c.diacritics,
remove_exceptions = {
"a[" .. c.ringabove .. c.diaer .. c.small_e .. "]", -- åäaͤ
"o[" .. c.diaer .. c.tilde .. c.dacute .. c.small_e .. "]", -- öõőoͤ
"u[" .. c.diaer .. c.dacute .. "]" -- üű
},
from = {"æ", "[ðđ]", "ł", "ŋ", "œ", "ß", "þ", "u[" .. c.diaer .. c.dacute .. "]", "å", "aͤ", "o[" .. c.tilde .. c.dacute .. c.small_e .. "]", "ø", "(.)['%-]"},
to = {"ae", "d", "l", "n", "oe", "ss", "th", "y", "z" .. p[1], "ä", "ö", "ö", "%1"}
},
standard_chars = "AaBbDdEeFfGgHhIiJjKkLlMmNnOoPpRrSsTtUuVvYyÄäÖö" .. c.punc,
}
m["fj"] = {
"Fijian",
33295,
"poz-pcc",
"Latn",
}
m["fo"] = {
"Faroese",
25258,
"gmq-ins",
"Latn",
sort_key = {
from = {"á", "ð", "í", "ó", "ú", "ý", "æ", "ø"},
to = {"a" .. p[1], "d" .. p[1], "i" .. p[1], "o" .. p[1], "u" .. p[1], "y" .. p[1], "z" .. p[1], "z" .. p[2]}
},
standard_chars = "AaÁáBbDdÐðEeFfGgHhIiÍíJjKkLlMmNnOoÓóPpRrSsTtUuÚúVvYyÝýÆæØø" .. c.punc,
}
m["fr"] = {
"French",
150,
"roa-oil",
"Latn, Brai",
ancestors = "frm",
sort_key = {
Latn = s["roa-oil-sortkey"]
},
standard_chars = {
Latn = "AaÀàÂâBbCcÇçDdEeÉéÈèÊêËëFfGgHhIiÎîÏïJjLlMmNnOoÔôŒœPpQqRrSsTtUuÙùÛûÜüVvXxYyZz",
Brai = c.braille,
c.punc
},
}
m["fy"] = {
"West Frisian",
27175,
"gmw-fri",
"Latn",
sort_key = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.diaer,
from = {"y"},
to = {"i"}
},
standard_chars = "AaâäàÆæBbCcDdEeéêëèFfGgHhIiïìYyỳJjKkLlMmNnOoôöòPpRrSsTtUuúûüùVvWwZz" .. c.punc,
}
m["ga"] = {
"Irish",
9142,
"cel-gae",
"Latn, Latg",
ancestors = "mga",
sort_key = {
remove_diacritics = c.acute,
from = {"ḃ", "ċ", "ḋ", "ḟ", "ġ", "ṁ", "ṗ", "ṡ", "ṫ"},
to = {"bh", "ch", "dh", "fh", "gh", "mh", "ph", "sh", "th"}
},
standard_chars = "AaÁáBbCcDdEeÉéFfGgHhIiÍíLlMmNnOoÓóPpRrSsTtUuÚúVv" .. c.punc,
}
m["gd"] = {
"Scottish Gaelic",
9314,
"cel-gae",
"Latn, Latg",
ancestors = "mga",
sort_key = {remove_diacritics = c.grave .. c.acute},
standard_chars = "AaÀàBbCcDdEeÈèFfGgHhIiÌìLlMmNnOoÒòPpRrSsTtUuÙù" .. c.punc,
}
m["gl"] = {
"Galician",
9307,
"roa-gap",
"Latn",
sort_key = {
remove_diacritics = c.acute,
from = {"ñ"},
to = {"n" .. p[1]}
},
standard_chars = "AaÁáBbCcDdEeÉéFfGgHhIiÍíÏïLlMmNnÑñOoÓóPpQqRrSsTtUuÚúÜüVvXxZz" .. c.punc,
}
m["gu"] = {
"Gujarati",
5137,
"inc-wes",
"Arab, Gujr",
ancestors = "inc-mgu",
translit = {
Gujr = "gu-translit",
},
strip_diacritics = {
Arab = {remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.kasra .. c.shadda .. c.sukun},
Gujr = {remove_diacritics = "઼"},
},
}
m["gv"] = {
"Manx",
12175,
"cel-gae",
"Latn",
ancestors = "mga",
sort_key = {remove_diacritics = c.cedilla .. "-"},
standard_chars = "AaBbCcÇçDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwYy" .. c.punc,
}
m["ha"] = {
"Hausa",
56475,
"cdc-wst",
"Latn, Arab",
strip_diacritics = {
Latn = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.macron}
},
sort_key = {
Latn = {
from = {"ɓ", "b'", "ɗ", "d'", "ƙ", "k'", "sh", "ƴ", "'y"},
to = {"b" .. p[1], "b" .. p[2], "d" .. p[1], "d" .. p[2], "k" .. p[1], "k" .. p[2], "s" .. p[1], "y" .. p[1], "y" .. p[2]}
},
},
}
m["he"] = {
"Hebrew",
9288,
"sem-can",
"Hebr, Phnx, Brai, Samr",
ancestors = "he-med",
-- Hebr display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
-- Samr strip_diacritics, sort_key in [[Module:scripts/data]]
-- Phnx translit in [[Module:scripts/data]] (NOTE: not present before, presumably an accidental omission)
}
m["hi"] = {
"Hindi",
1568,
"inc-hnd",
"Deva, Kthi, Newa",
translit = {
Deva = "hi-translit"
},
standard_chars = {
Deva = "अआइईउऊएऐओऔकखगघङचछजझञटठडढणतथदधनपफबभमयरलवशषसहत्रज्ञक्षक़ख़ग़ज़झ़ड़ढ़फ़काखागाघाङाचाछाजाझाञाटाठाडाढाणाताथादाधानापाफाबाभामायारालावाशाषासाहात्राज्ञाक्षाक़ाख़ाग़ाज़ाझ़ाड़ाढ़ाफ़ाकिखिगिघिङिचिछिजिझिञिटिठिडिढिणितिथिदिधिनिपिफिबिभिमियिरिलिविशिषिसिहित्रिज्ञिक्षिक़िख़िग़िज़िझ़िड़िढ़िफ़िकीखीगीघीङीचीछीजीझीञीटीठीडीढीणीतीथीदीधीनीपीफीबीभीमीयीरीलीवीशीषीसीहीत्रीज्ञीक्षीक़ीख़ीग़ीज़ीझ़ीड़ीढ़ीफ़ीकुखुगुघुङुचुछुजुझुञुटुठुडुढुणुतुथुदुधुनुपुफुबुभुमुयुरुलुवुशुषुसुहुत्रुज्ञुक्षुक़ुख़ुग़ुज़ुझ़ुड़ुढ़ुफ़ुकूखूगूघूङूचूछूजूझूञूटूठूडूढूणूतूथूदूधूनूपूफूबूभूमूयूरूलूवूशूषूसूहूत्रूज्ञूक्षूक़ूख़ूग़ूज़ूझ़ूड़ूढ़ूफ़ूकेखेगेघेङेचेछेजेझेञेटेठेडेढेणेतेथेदेधेनेपेफेबेभेमेयेरेलेवेशेषेसेहेत्रेज्ञेक्षेक़ेख़ेग़ेज़ेझ़ेड़ेढ़ेफ़ेकैखैगैघैङैचैछैजैझैञैटैठैडैढैणैतैथैदैधैनैपैफैबैभैमैयैरैलैवैशैषैसैहैत्रैज्ञैक्षैक़ैख़ैग़ैज़ैझ़ैड़ैढ़ैफ़ैकोखोगोघोङोचोछोजोझोञोटोठोडोढोणोतोथोदोधोनोपोफोबोभोमोयोरोलोवोशोषोसोहोत्रोज्ञोक्षोक़ोख़ोग़ोज़ोझ़ोड़ोढ़ोफ़ोकौखौगौघौङौचौछौजौझौञौटौठौडौढौणौतौथौदौधौनौपौफौबौभौमौयौरौलौवौशौषौसौहौत्रौज्ञौक्षौक़ौख़ौग़ौज़ौझ़ौड़ौढ़ौफ़ौक्ख्ग्घ्ङ्च्छ्ज्झ्ञ्ट्ठ्ड्ढ्ण्त्थ्द्ध्न्प्फ्ब्भ्म्य्र्ल्व्श्ष्स्ह्त्र्ज्ञ्क्ष्क़्ख़्ग़्ज़्झ़्ड़्ढ़्फ़्।॥०१२३४५६७८९॰",
c.punc
},
}
m["ho"] = {
"Hiri Motu",
33617,
"crp",
"Latn",
ancestors = "meu",
}
m["ht"] = {
"Haitian Creole",
33491,
"crp",
"Latn",
ancestors = "ht-sdm",
sort_key = {
from = {
"oun", -- 3 chars
"an", "ch", "è", "en", "ng", "ò", "on", "ou", "ui" -- 2 chars
},
to = {
"o" .. p[4],
"a" .. p[1], "c" .. p[1], "e" .. p[1], "e" .. p[2], "n" .. p[1], "o" .. p[1], "o" .. p[2], "o" .. p[3], "u" .. p[1]
}
},
}
m["hu"] = {
"Hungarian",
9067,
"urj-ugr",
"Latn, Hung",
ancestors = "ohu",
sort_key = {
Latn = {
from = {
"dzs", -- 3 chars
"á", "cs", "dz", "é", "gy", "í", "ly", "ny", "ó", "ö", "ő", "sz", "ty", "ú", "ü", "ű", "zs", -- 2 chars
},
to = {
"d" .. p[2],
"a" .. p[1], "c" .. p[1], "d" .. p[1], "e" .. p[1], "g" .. p[1], "i" .. p[1], "l" .. p[1], "n" .. p[1], "o" .. p[1], "o" .. p[2], "o" .. p[3], "s" .. p[1], "t" .. p[1], "u" .. p[1], "u" .. p[2], "u" .. p[3], "z" .. p[1],
}
},
},
standard_chars = {
Latn = "AaÁáBbCcDdEeÉéFfGgHhIiÍíJjKkLlMmNnOoÓóÖöŐőPpQqRrSsTtUuÚúÜüŰűVvWwXxYyZz",
c.punc
},
}
m["hy"] = {
"Armenian",
8785,
"hyx",
"Armn, Brai",
ancestors = "axm",
-- Armn translit in [[Module:scripts/data]]
override_translit = true,
strip_diacritics = {
Armn = {
remove_diacritics = "՛՜՞՟",
from = {"եւ", "<sup>յ</sup>", "<sup>ի</sup>", "<sup>է</sup>", "յ̵", "ՙ", "՚"},
to = {"և", "յ", "ի", "է", "ֈ", "ʻ", "’"}
},
},
sort_key = {
Armn = {
from = {
"ու", "եւ", -- 2 chars
"և" -- 1 char
},
to = {
"ւ", "եվ",
"եվ"
}
},
},
}
m["hz"] = {
"Herero",
33315,
"bnt-swb",
"Latn",
}
m["ia"] = {
"Interlingua",
35934,
"art",
"Latn",
}
m["id"] = {
"Indonesian",
9240,
"poz-mly",
"Latn",
ancestors = "ms",
standard_chars = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz" .. c.punc,
}
m["ie"] = {
"Interlingue",
35850,
"art",
"Latn",
type = "appendix-constructed",
strip_diacritics = {remove_diacritics = c.grave .. c.acute .. c.circ},
}
m["ig"] = {
"Igbo",
33578,
"alv-igb",
"Latn",
strip_diacritics = {remove_diacritics = c.grave .. c.acute .. c.macron},
sort_key = {
from = {"gb", "gh", "gw", "ị", "kp", "kw", "ṅ", "nw", "ny", "ọ", "sh", "ụ"},
to = {"g" .. p[1], "g" .. p[2], "g" .. p[3], "i" .. p[1], "k" .. p[1], "k" .. p[2], "n" .. p[1], "n" .. p[2], "n" .. p[3], "o" .. p[1], "s" .. p[1], "u" .. p[1]}
},
}
m["ii"] = {
"Nuosu",
34235,
"tbq-nlo",
"Yiii",
translit = "ii-translit",
}
m["ik"] = {
"Inupiaq",
27183,
"esx-inu",
"Latn",
sort_key = {
from = {
"ch", "ġ", "dj", "ḷ", "ł̣", "ñ", "ng", "r̂", "sr", "zr", -- 2 chars
"ł", "ŋ", "ʼ" -- 1 char
},
to = {
"c" .. p[1], "g" .. p[1], "h" .. p[1], "l" .. p[1], "l" .. p[3], "n" .. p[1], "n" .. p[2], "r" .. p[1], "s" .. p[1], "z" .. p[1],
"l" .. p[2], "n" .. p[2], "z" .. p[2]
}
},
}
m["io"] = {
"Ido",
35224,
"art",
"Latn",
}
m["is"] = {
"Icelandic",
294,
"gmq-ins",
"Latn",
sort_key = {
from = {"á", "ð", "é", "í", "ó", "ú", "ý", "þ", "æ", "ö"},
to = {"a" .. p[1], "d" .. p[1], "e" .. p[1], "i" .. p[1], "o" .. p[1], "u" .. p[1], "y" .. p[1], "z" .. p[1], "z" .. p[2], "z" .. p[3]}
},
standard_chars = "AaÁáBbDdÐðEeÉéFfGgHhIiÍíJjKkLlMmNnOoÓóPpRrSsTtUuÚúVvXxYyÝýÞþÆæÖö" .. c.punc,
}
m["it"] = {
"Italian",
652,
"roa-itr",
"Latn",
ancestors = "roa-oit",
sort_key = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.diaer .. c.ringabove},
standard_chars = "AaÀàBbCcDdEeÈèÉéFfGgHhIiÌìLlMmNnOoÒòPpQqRrSsTtUuÙùVvZz" .. c.punc,
}
m["iu"] = {
"Inuktitut",
29921,
"esx-inu",
"Cans, Latn",
translit = {
Cans = "cr-translit"
},
override_translit = true,
}
m["ja"] = {
"Japanese",
5287,
"jpx",
"Jpan, Latn, Brai",
ancestors = "ja-ear",
translit = s["jpx-translit"],
link_tr = true,
display_text = s["jpx-displaytext"],
strip_diacritics = s["jpx-stripdiacritics"],
sort_key = s["jpx-sortkey"],
}
m["jv"] = {
"Javanese",
33549,
"poz",
"Latn, Java, Arab",
ancestors = "kaw",
translit = {
Java = "jv-translit"
},
link_tr = true,
strip_diacritics = {
Latn = {remove_diacritics = c.circ} -- Modern jv don't use ê
},
sort_key = {
Latn = {
from = {"å", "dh", "é", "è", "ng", "ny", "th"},
to = {"a" .. p[1], "d" .. p[1], "e" .. p[1], "e" .. p[2], "n" .. p[1], "n" .. p[2], "t" .. p[1]}
},
},
}
m["ka"] = {
"Georgian",
8108,
"ccs-gzn",
"Geor, Geok, Hebr", -- Hebr is used to write Judeo-Georgian
ancestors = "ka-mid",
-- Geor, Geok translit in [[Module:scripts/data]]
override_translit = true,
strip_diacritics = {
Geor = s["ka-stripdiacritics"],
Geok = s["ka-stripdiacritics"],
},
-- Hebr display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["kg"] = {
"Kongo",
33702,
"bnt-kng",
"Latn",
}
m["ki"] = {
"Kikuyu",
33587,
"bnt-kka",
"Latn",
}
m["kj"] = {
"Kwanyama",
1405077,
"bnt-ova",
"Latn",
}
m["kk"] = {
"Kazakh",
9252,
"trk-kno",
"Cyrl, Latn, kk-Arab",
translit = {
Cyrl = {
from = {
"Ё", "ё", "Й", "й", "Нг", "нг", "Ӯ", "ӯ", -- 2 chars; are "Ӯ" and "ӯ" actually used?
"А", "а", "Ә", "ә", "Б", "б", "В", "в", "Г", "г", "Ғ", "ғ", "Д", "д", "Е", "е", "Ж", "ж", "З", "з", "И", "и", "К", "к", "Қ", "қ", "Л", "л", "М", "м", "Н", "н", "Ң", "ң", "О", "о", "Ө", "ө", "П", "п", "Р", "р", "С", "с", "Т", "т", "У", "у", "Ұ", "ұ", "Ү", "ү", "Ф", "ф", "Х", "х", "Һ", "һ", "Ц", "ц", "Ч", "ч", "Ш", "ш", "Щ", "щ", "Ъ", "ъ", "Ы", "ы", "І", "і", "Ь", "ь", "Э", "э", "Ю", "ю", "Я", "я", -- 1 char
},
to = {
"E", "e", "İ", "i", "Ñ", "ñ", "U", "u",
"A", "a", "Ä", "ä", "B", "b", "V", "v", "G", "g", "Ğ", "ğ", "D", "d", "E", "e", "J", "j", "Z", "z", "İ", "i", "K", "k", "Q", "q", "L", "l", "M", "m", "N", "n", "Ñ", "ñ", "O", "o", "Ö", "ö", "P", "p", "R", "r", "S", "s", "T", "t", "U", "u", "Ū", "ū", "Ü", "ü", "F", "f", "X", "x", "H", "h", "S", "s", "Ç", "ç", "Ş", "ş", "Ş", "ş", "", "", "Y", "y", "I", "ı", "", "", "É", "é", "Ü", "ü", "Ä", "ä",
}
}
},
-- override_translit = true,
sort_key = {
Cyrl = {
from = {"ә", "ғ", "ё", "қ", "ң", "ө", "ұ", "ү", "һ", "і"},
to = {"а" .. p[1], "г" .. p[1], "е" .. p[1], "к" .. p[1], "н" .. p[1], "о" .. p[1], "у" .. p[1], "у" .. p[2], "х" .. p[1], "ы" .. p[1]}
},
},
standard_chars = {
Cyrl = "АаӘәБбВвГгҒғДдЕеЁёЖжЗзИиЙйКкҚқЛлМмНнҢңОоӨөПпРрСсТтУуҰұҮүФфХхҺһЦцЧчШшЩщЪъЫыІіЬьЭэЮюЯя",
c.punc
},
}
m["kl"] = {
"Greenlandic",
25355,
"esx-inu",
"Latn",
sort_key = {
from = {"æ", "ø", "å"},
to = {"z" .. p[1], "z" .. p[2], "z" .. p[3]}
}
}
m["km"] = {
"Khmer",
9205,
"mkh-kmr",
"Khmr",
ancestors = "xhm",
translit = "km-translit",
}
m["kn"] = {
"Kannada",
33673,
"dra-kan",
"Knda, Tutg",
ancestors = "dra-mkn",
-- Knda translit in [[Module:scripts/data]]
}
m["ko"] = {
"Korean",
9176,
"qfa-kor",
"Kore, Brai",
ancestors = "ko-ear",
translit = {
Kore = "ko-translit",
},
-- Kore strip_diacritics in [[Module:scripts/data]]
}
m["kr"] = {
"Kanuri",
36094,
"ssa-sah",
"Latn, Arab",
-- the sortkey and strip_diacritics are only for standard Kanuri; when dialectal entries get added, someone will have to work out how the dialects should be represented orthographically
strip_diacritics = {
Latn = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.breve}
},
sort_key = {
Latn = {
from = {"ǝ", "ny", "ɍ", "sh"},
to = {"e" .. p[1], "n" .. p[1], "r" .. p[1], "s" .. p[1]}
},
},
}
m["ks"] = {
"Kashmiri",
33552,
"inc-kas",
"ks-Arab, Deva, Shrd, Latn",
translit = {
["ks-Arab"] = "ks-Arab-translit",
Deva = "ks-Deva-translit",
-- Shrd translit in [[Module:scripts/data]]
},
}
-- "kv" is treated as "koi", "kpv", see [[WT:LT]]
m["kw"] = {
"Cornish",
25289,
"cel-brs",
"Latn",
ancestors = "cnx",
sort_key = {
from = {"ch"},
to = {"c" .. p[1]}
},
}
m["ky"] = {
"Kyrgyz",
9255,
"trk-kkp",
"Cyrl, Latn, Arab",
translit = {
Cyrl = "ky-translit"
},
override_translit = true,
sort_key = {
Cyrl = {
from = {"ё", "ң", "ө", "ү"},
to = {"е" .. p[1], "н" .. p[1], "о" .. p[1], "у" .. p[1]}
},
},
}
m["la"] = {
"Latin",
397,
"itc-laf",
"Latn, Ital",
ancestors = "itc-ola",
-- Ital translit in [[Module:scripts/data]] (NOTE: formerly not present, probably an accidental omission)
display_text = {
Latn = s["itc-Latn-displaytext"]
},
strip_diacritics = {
Latn = s["itc-Latn-stripdiacritics"]
},
sort_key = {
Latn = s["itc-Latn-sortkey"]
},
standard_chars = {
Latn = "AaBbCcDdEeFfGgHhIiLlMmNnOoPpQqRrSsTtUuVvXx",
c.punc
},
}
m["lb"] = {
"Luxembourgish",
9051,
"gmw-hgm",
"Latn, Brai",
ancestors = "gmw-cfr",
sort_key = {
Latn = {
from = {"ä", "ë", "é"},
to = {"z" .. p[1], "z" .. p[2], "z" .. p[3]}
},
},
}
m["lg"] = {
"Luganda",
33368,
"bnt-nyg",
"Latn",
strip_diacritics = {remove_diacritics = c.acute .. c.circ},
sort_key = {
from = {"ŋ"},
to = {"n" .. p[1]}
},
}
m["li"] = {
"Limburgish",
102172,
"gmw-frk",
"Latn",
ancestors = "dum",
}
m["ln"] = {
"Lingala",
36217,
"bnt-bmo",
"Latn",
sort_key = {
remove_diacritics = c.acute .. c.circ .. c.caron,
from = {"ɛ", "gb", "mb", "mp", "nd", "ng", "nk", "ns", "nt", "ny", "nz", "ɔ"},
to = {"e" .. p[1], "g" .. p[1], "m" .. p[1], "m" .. p[2], "n" .. p[1], "n" .. p[2], "n" .. p[3], "n" .. p[4], "n" .. p[5], "n" .. p[6], "n" .. p[7], "o" .. p[1]}
},
}
m["lo"] = {
"Lao",
9211,
"tai-swe",
"Laoo", -- also Tai Noi/Lao Buhan script
translit = "lo-translit",
sort_key = "Laoo-sortkey",
standard_chars = "0-9ກຂຄງຈຊຍດຕຖທນບປຜຝພຟມຢຣລວສຫອຮຯ-ໝ" .. c.punc,
}
m["lt"] = {
"Lithuanian",
9083,
"bat-eas",
"Latn",
ancestors = "olt",
display_text = "lt-common",
strip_diacritics = "lt-common",
sort_key = "lt-common",
standard_chars = "AaĄąBbCcČčDdEeĘęĖėFfGgHhIiĮįYyJjKkLlMmNnOoPpRrSsŠšTtUuŲųŪūVvZzŽž" .. c.punc,
}
m["lu"] = {
"Luba-Katanga",
36157,
"bnt-lub",
"Latn",
}
m["lv"] = {
"Latvian",
9078,
"bat-eas",
"Latn",
strip_diacritics = {
-- This attempts to convert vowels with tone marks to vowels either with or without macrons. Specifically, there should be no macrons if the vowel is part of a diphthong (including resonant diphthongs such pìrksts -> pirksts not #pīrksts). What we do is first convert the vowel + tone mark to a vowel + tilde in a decomposed fashion, then remove the tilde in diphthongs, then convert the remaining vowel + tilde sequences to macroned vowels, then delete any other tilde. We leave already-macroned vowels alone: Both e.g. ar and ār occur before consonants. FIXME: This still might not be sufficient.
from = {"([Ee])" .. c.cedilla, "[" .. c.grave .. c.circ .. c.tilde .."]", "([aAeEiIoOuU])" .. c.tilde .."?([lrnmuiLRNMUI])" .. c.tilde .. "?([^aAeEiIoOuU])", "([aAeEiIoOuU])" .. c.tilde .."?([lrnmuiLRNMUI])" .. c.tilde .."?$", "([iI])" .. c.tilde .. "?([eE])" .. c.tilde .. "?", "([aAeEiIuU])" .. c.tilde, c.tilde},
to = {"%1", c.tilde, "%1%2%3", "%1%2", "%1%2", "%1" .. c.macron}
},
sort_key = {
from = {"ā", "č", "ē", "ģ", "ī", "ķ", "ļ", "ņ", "š", "ū", "ž"},
to = {"a" .. p[1], "c" .. p[1], "e" .. p[1], "g" .. p[1], "i" .. p[1], "k" .. p[1], "l" .. p[1], "n" .. p[1], "s" .. p[1], "u" .. p[1], "z" .. p[1]}
},
standard_chars = "AaĀāBbCcČčDdEeĒēFfGgĢģHhIiĪīJjKkĶķLlĻļMmNnŅņOoPpRrSsŠšTtUuŪūVvZzŽž" .. c.punc,
}
m["mg"] = {
"Malagasy",
7930,
"poz-bre",
"Latn, Arab",
}
m["mh"] = {
"Marshallese",
36280,
"poz-mic",
"Latn",
sort_key = {
from = {"ā", "ļ", "m̧", "ņ", "n̄", "o̧", "ō", "ū"},
to = {"a" .. p[1], "l" .. p[1], "m" .. p[1], "n" .. p[1], "n" .. p[2], "o" .. p[1], "o" .. p[2], "u" .. p[1]}
},
}
m["mi"] = {
"Māori",
36451,
"poz-pep",
"Latn",
sort_key = {
remove_diacritics = c.macron,
from = {"ng", "wh"},
to = {"n" .. p[1], "w" .. p[1]}
},
}
m["mk"] = {
"Macedonian",
9296,
"zls",
"Cyrl, Polyt",
ancestors = "cu",
translit = {
Cyrl = "mk-translit",
-- FIXME: formerly no translit specified for Polyt; unclear if the default [[Module:grc-translit]] is
-- acceptable, so we disable it for now
Polyt = false,
},
strip_diacritics = {
Cyrl = {
remove_diacritics = c.acute,
remove_exceptions = {"Ѓ", "ѓ", "Ќ", "ќ"}
},
},
sort_key = {
Cyrl = {
remove_diacritics = c.grave,
remove_exceptions = {"ѓ", "ќ"},
from = {"ѓ", "ѕ", "ј", "љ", "њ", "ќ", "џ"},
to = {"д" .. p[1], "з" .. p[1], "и" .. p[1], "л" .. p[1], "н" .. p[1], "т" .. p[1], "ч" .. p[1]}
},
},
-- Polyt display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
standard_chars = {
Cyrl = "АаБбВвГгДдЃѓЕеЖжЗзЅѕИиЈјКкЛлЉљМмНнЊњОоПпРрСсТтЌќУуФфХхЦцЧчЏџШш",
c.punc
},
}
m["ml"] = {
"Malayalam",
36236,
"dra-mal",
"Mlym",
override_translit = true,
-- Mlym translit in [[Module:scripts/data]]
}
m["mn"] = {
"Mongolian",
9246,
"xgn-cen",
"Cyrl, Mong, Latn, Brai",
ancestors = "cmg",
translit = {
Cyrl = "mn-translit",
-- Mong translit in [[Module:scripts/data]]
},
override_translit = true,
-- Mong display_text and strip_diacritics in [[Module:scripts/data]]
strip_diacritics = {
Cyrl = {remove_diacritics = c.grave .. c.acute},
},
sort_key = {
Cyrl = {
remove_diacritics = c.grave,
from = {"ё", "ө", "ү"},
to = {"е" .. p[1], "о" .. p[1], "у" .. p[1]}
},
},
standard_chars = {
Cyrl = "АаБбВвГгДдЕеЁёЖжЗзИиЙйЛлМмНнОоӨөРрСсТтУуҮүХхЦцЧчШшЫыЬьЭэЮюЯя—",
Brai = c.braille,
c.punc
},
}
-- "mo" is treated as "ro", see [[WT:LT]]
m["mr"] = {
"Marathi",
1571,
"inc-sou",
"Deva, Modi",
ancestors = "omr",
translit = {
Deva = "mr-translit",
Modi = "mr-Modi-translit",
},
strip_diacritics = {
Deva = {
from = {"च़", "ज़", "झ़"},
to = {"च", "ज", "झ"}
},
},
}
m["ms"] = {
"Malay",
9237,
"poz-mly",
"Latn, ms-Arab",
ancestors = "ms-cla",
standard_chars = {
Latn = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz",
c.punc
},
}
m["mt"] = {
"Maltese",
9166,
"sem-arb",
"Latn",
display_text = {
from = {"'"},
to = {"’"}
},
strip_diacritics = {
from = {"’"},
to = {"'"},
},
ancestors = "sqr",
sort_key = {
from = {
"ċ", "ġ", "ż", -- Convert into PUA so that decomposed form does not get caught by the next step.
"([cgz])", -- Ensure "c" comes after "ċ", "g" comes after "ġ" and "z" comes after "ż".
"g" .. p[1] .. "ħ", -- "għ" after initial conversion of "g".
p[3], p[4], "ħ", "ie", p[5] -- Convert "ċ", "ġ", "ħ", "ie", "ż" into final output.
},
to = {
p[3], p[4], p[5],
"%1" .. p[1],
"g" .. p[2],
"c", "g", "h" .. p[1], "i" .. p[1], "z"
}
},
}
m["my"] = {
"Burmese",
9228,
"tbq-brm",
"Mymr",
ancestors = "obr",
translit = "my-translit",
override_translit = true,
sort_key = {
from = {"ျ", "ြ", "ွ", "ှ", "ဿ"},
to = {"္ယ", "္ရ", "္ဝ", "္ဟ", "သ္သ"}
},
}
m["na"] = {
"Nauruan",
13307,
"poz-mic",
"Latn",
}
m["nb"] = {
"Norwegian Bokmål",
25167,
"gmq",
"Latn",
wikimedia_codes = "no",
ancestors = "gmq-mno, da", -- da as an (but not the) ancestor of nb was agreed on - do not change without discussion
sort_key = s["no-sortkey"],
standard_chars = s["no-standardchars"],
}
m["nd"] = {
"Northern Ndebele",
35613,
"bnt-ngu",
"Latn",
strip_diacritics = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.macron .. c.caron},
}
m["ne"] = {
"Nepali",
33823,
"inc-pah",
"Deva, Newa",
translit = {
Deva = "ne-translit"
},
}
m["ng"] = {
"Ndonga",
33900,
"bnt-ova",
"Latn",
}
m["nl"] = {
"Dutch",
7411,
"gmw-frk",
"Latn, Brai",
ancestors = "dum",
sort_key = {
Latn = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.diaer .. c.ringabove .. c.cedilla .. "'"},
},
standard_chars = {
Latn = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzÄäËëÏïÖöÜü",
Brai = c.braille,
c.punc
},
}
m["nn"] = {
"Norwegian Nynorsk",
25164,
"gmq-wes",
"Latn",
ancestors = "gmq-mno",
strip_diacritics = {
remove_diacritics = c.grave .. c.acute,
},
sort_key = s["no-sortkey"],
standard_chars = s["no-standardchars"],
}
m["no"] = {
"Norwegian",
9043,
"gmq-wes",
"Latn",
ancestors = "gmq-mno",
sort_key = s["no-sortkey"],
standard_chars = s["no-standardchars"],
}
m["nr"] = {
"Southern Ndebele",
36785,
"bnt-ngu",
"Latn",
strip_diacritics = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.macron .. c.caron},
}
m["nv"] = {
"Navajo",
13310,
"apa",
"Latn, Brai",
sort_key = {
remove_diacritics = c.acute .. c.ogonek,
from = {
"chʼ", "tłʼ", "tsʼ", -- 3 chars
"ch", "dl", "dz", "gh", "hw", "kʼ", "kw", "sh", "tł", "ts", "zh", -- 2 chars
"ł", "ʼ" -- 1 char
},
to = {
"c" .. p[2], "t" .. p[2], "t" .. p[4],
"c" .. p[1], "d" .. p[1], "d" .. p[2], "g" .. p[1], "h" .. p[1], "k" .. p[1], "k" .. p[2], "s" .. p[1], "t" .. p[1], "t" .. p[3], "z" .. p[1],
"l" .. p[1], "z" .. p[2]
}
},
}
m["ny"] = {
"Chichewa",
33273,
"bnt-nys",
"Latn",
strip_diacritics = {remove_diacritics = c.acute .. c.circ},
sort_key = {
from = {"ng'"},
to = {"ng"}
},
}
m["oc"] = {
"Occitan",
14185,
"roa-ocr",
"Latn, Hebr",
ancestors = "pro",
sort_key = {
Latn = {
remove_diacritics = c.grave .. c.acute .. c.diaer .. c.cedilla,
from = {"([lns])·h"},
to = {"%1h"}
},
},
-- Hebr display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["oj"] = {
"Ojibwe",
33875,
"alg",
"Cans, Latn",
sort_key = {
Latn = {
from = {"aa", "ʼ", "ii", "oo", "sh", "zh"},
to = {"a" .. p[1], "h" .. p[1], "i" .. p[1], "o" .. p[1], "s" .. p[1], "z" .. p[1]}
},
},
}
m["om"] = {
"Oromo",
33864,
"cus-eas",
"Latn, Ethi",
}
m["or"] = {
"Odia",
33810,
"inc-eas",
"Orya",
ancestors = "inc-mor",
translit = "or-translit",
}
m["os"] = {
"Ossetian",
33968,
"xsc-sar",
"Cyrl, Geor, Latn",
ancestors = "oos",
translit = {
Cyrl = "os-translit",
-- Geor translit in [[Module:scripts/data]]
},
override_translit = true,
display_text = {
Cyrl = {
from = {"æ"},
to = {"ӕ"}
},
Latn = {
from = {"ӕ"},
to = {"æ"}
},
},
strip_diacritics = {
Cyrl = {
remove_diacritics = c.grave .. c.acute,
from = {"æ"},
to = {"ӕ"}
},
Latn = {
from = {"ӕ"},
to = {"æ"}
},
},
sort_key = {
Cyrl = {
from = {"ӕ", "гъ", "дж", "дз", "ё", "къ", "пъ", "тъ", "хъ", "цъ", "чъ"},
to = {"а" .. p[1], "г" .. p[1], "д" .. p[1], "д" .. p[2], "е" .. p[1], "к" .. p[1], "п" .. p[1], "т" .. p[1], "х" .. p[1], "ц" .. p[1], "ч" .. p[1]}
},
},
}
m["pa"] = {
"Punjabi",
58635,
"inc-pan",
"Guru, pa-Arab",
translit = {
Guru = "Guru-translit",
["pa-Arab"] = "pa-Arab-translit",
},
strip_diacritics = {
["pa-Arab"] = {
remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.nunghunna,
from = {"ݨ", "ࣇ"},
to = {"ن", "ل"}
},
},
}
m["pi"] = {
"Pali",
36727,
"inc-mid",
"Latn, Brah, Deva, Beng, Sinh, Mymr, Thai, Lana, Laoo, Khmr, Cakm", --and also Khom
ancestors = "sa",
translit = {
-- Brah translit in [[Module:scripts/data]]
Deva = "sa-translit",
Beng = "pi-translit",
Sinh = "si-translit",
Mymr = "pi-translit",
Thai = "pi-translit",
Lana = "pi-translit",
Laoo = "pi-translit",
Khmr = "pi-translit",
Cakm = "Cakm-translit",
},
strip_diacritics = {
Thai = {
from = {"ึ", u(0xF700), u(0xF70F)}, -- FIXME: Not clear what's going on with the PUA characters here.
to = {"ิํ", "ฐ", "ญ"}
},
Mymr = {
remove_diacritics = c.VS01,
},
},
sort_key = { -- FIXME: This needs to be converted into the current standardized format.
from = {"ā", "ī", "ū", "ḍ", "ḷ", "m[" .. c.dotabove .. c.dotbelow .. "]", "ṅ", "ñ", "ṇ", "ṭ", "([เโ])([ก-ฮ])", "([ເໂ])([ກ-ຮ])", "ᩔ", "ᩕ", "ᩖ", "ᩘ", "([ᨭ-ᨱ])ᩛ", "([ᨷ-ᨾ])ᩛ", "ᩤ", u(0xFE00), u(0x200D)},
to = {"a~", "i~", "u~", "d~", "l~", "m~", "n~", "n~~", "n~~~", "t~", "%2%1", "%2%1", "ᩈ᩠ᩈ", "᩠ᩁ", "᩠ᩃ", "ᨦ᩠", "%1᩠ᨮ", "%1᩠ᨻ", "ᩣ"}
},
}
m["pl"] = {
"Polish",
809,
"zlw-lch",
"Latn",
ancestors = "zlw-mpl",
sort_key = {
from = {"ą", "ć", "ę", "ł", "ń", "ó", "ś", "ź", "ż"},
to = {"a" .. p[1], "c" .. p[1], "e" .. p[1], "l" .. p[1], "n" .. p[1], "o" .. p[1], "s" .. p[1], "z" .. p[1], "z" .. p[2]}
},
standard_chars = "AaĄąBbCcĆćDdEeĘęFfGgHhIiJjKkLlŁłMmNnŃńOoÓóPpRrSsŚśTtUuWwYyZzŹźŻż" .. c.punc,
}
m["ps"] = {
"Pashto",
58680,
"ira-pat",
"ps-Arab",
strip_diacritics = {remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.zwarakay .. c.superalef},
}
m["pt"] = {
"Portuguese",
5146,
"roa-gap",
"Latn, Brai",
sort_key = {
Latn = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.macron .. c.diaer .. c.cedilla,
from = {"ª", "æ", "º", "œ"},
to = {"a", "ae", "o", "oe"}
},
},
standard_chars = {
Latn = "AaÁáÂâÃãBbCcÇçDdEeÉéÊêFfGgHhIiÍíJjLlMmNnOoÓóÔôÕõPpQqRrSsTtUuÚúVvXxZz",
Brai = c.braille,
c.punc
},
}
m["qu"] = {
"Quechua",
5218,
"qwe",
"Latn",
}
m["rm"] = {
"Romansh",
13199,
"roa-rhe",
ancestors = "rm-old",
"Latn",
sort_key = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.diaer .. c.small_e},
}
m["ro"] = {
"Romanian",
7913,
"roa-eas",
"Latn, Cyrl, Cyrs",
translit = {
Cyrl = "ro-translit"
},
sort_key = {
Latn = {
remove_diacritics = c.grave .. c.acute,
from = {"ă", "â", "î", "ș", "ț"},
to = {"a" .. p[1], "a" .. p[2], "i" .. p[1], "s" .. p[1], "t" .. p[1]}
},
Cyrl = {
from = {"ӂ"},
to = {"ж" .. p[1]}
},
},
-- Cyrs strip_diacritics, sort_key in [[Module:scripts/data]]; presumably not present
standard_chars = {
Latn = "AaĂăÂâBbCcDdEeFfGgHhIiÎîJjLlMmNnOoPpRrSsȘșTtȚțUuVvXxZz",
Cyrl = "АаБбВвГгДдЕеЖжӁӂЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЫыЬьЭэЮюЯя",
c.punc
},
}
m["ru"] = {
"Russian",
7737,
"zle",
"Cyrl, Brai",
ancestors = "zle-mru",
translit = {
Cyrl = "ru-translit"
},
display_text = {
Cyrl = {
from = {"'"},
to = {"’"}
},
},
strip_diacritics = {
Cyrl = {
remove_diacritics = c.grave .. c.acute .. c.diaer,
remove_exceptions = {"Ё", "ё", "Ѣ̈", "ѣ̈", "Я̈", "я̈"},
from = {"’"},
to = {"'"},
},
},
sort_key = {
Cyrl = {
remove_diacritics = c.grave .. c.acute .. c.diaer,
from = {
"і", "ѣ", "ѳ", "ѵ"
},
to = {
"и" .. p[1], "ь" .. p[1], "я" .. p[2], "я" .. p[3]
}
},
},
standard_chars = {
Cyrl = "АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя—",
Brai = c.braille,
(c.punc:gsub("'", "")) -- Exclude apostrophe.
},
}
m["rw"] = {
"Rwanda-Rundi",
3217514,
"bnt-glb",
"Latn",
strip_diacritics = {remove_diacritics = c.acute .. c.circ .. c.macron .. c.caron},
}
m["sa"] = {
"Sanskrit",
11059,
"inc",
"as-Beng, Bali, Beng, Bhks, Brah, Mymr, xwo-Mong, Deva, Gujr, Guru, Gran, Hani, Java, Kthi, Knda, Kawi, Khar, Khmr, Laoo, Mlym, mnc-Mong, Marc, Modi, Mong, Nand, Newa, Orya, Phag, Ranj, Saur, Shrd, Sidd, Sinh, Soyo, Lana, Takr, Taml, Tang, Telu, Thai, Tibt, Tutg, Tirh, Zanb", --and also Khom; script codes sorted by canonical name rather than code for [[MOD:sa-convert]]
translit = {
Beng = "sa-Beng-translit",
["as-Beng"] = "sa-Beng-translit",
-- Brah translit in [[Module:scripts/data]]
Deva = "sa-translit",
Gujr = "sa-Gujr-translit",
Guru = "sa-Guru-translit",
Java = "sa-Java-translit",
Kthi = "sa-Kthi-translit",
Khmr = "pi-translit",
Knda = "sa-Knda-translit",
Lana = "pi-translit",
Laoo = "pi-translit",
Mlym = "sa-Mlym-translit",
Modi = "sa-Modi-translit",
-- Mong, mnc-Mong, xwo-Mong translit in [[Module:scripts/data]]
-- NOTE: Formerly used xal-translit for transliterating xwo-Mong but that only handles Cyrillic; it has
-- code to transliterate xwo-Mong but it's broken so I've replaced it with the default xwo-translit.
Mymr = "pi-translit",
Orya = "sa-Orya-translit",
-- Shrd translit in [[Module:scripts/data]]
-- Sidd translit in [[Module:scripts/data]]
Sinh = "si-translit",
Taml = "sa-Taml-translit",
Telu = "sa-Telu-translit",
Thai = "pi-translit",
-- Tibt translit in [[Module:scripts/data]]
},
-- Mong display_text and strip_diacritics in [[Module:scripts/data]]
-- Tibt display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
strip_diacritics = {
Deva = s["sa-Deva-stripdiacritics"],
Mymr = {
remove_diacritics = c.VS01,
},
Thai = {
from = {"ึ", u(0xF700), u(0xF70F)}, -- FIXME: Not clear what's going on with the PUA characters here.
to = {"ิํ", "ฐ", "ญ"}
},
},
sort_key = {
Deva = s["sa-Deva-stripdiacritics"], -- until we have a proper Sanskrit sorting algorithm.
Lana = { -- Tai Tham
from = {"ᩔ", "ᩕ", "ᩖ", "ᩘ", "([ᨭ-ᨱ])ᩛ", "([ᨷ-ᨾ])ᩛ", "ᩤ"},
to = {"ᩈ᩠ᩈ", "᩠ᩁ", "᩠ᩃ", "ᨦ᩠", "%1᩠ᨮ", "%1᩠ᨻ", "ᩣ"},
},
Laoo = "Laoo-sortkey",
Latn = {
from = {"ā", "ī", "ū", "ḍ", "ḷ", "ḹ", "m[" .. c.dotabove .. c.dotbelow .. "]", "ṅ", "ñ", "ṇ", "ṛ", "ṝ", "ś", "ṣ", "ṭ"},
to = {"a~", "i~", "u~", "d~", "l~", "l~~", "m~", "n~", "n~~", "n~~~", "r~", "r~~", "s~", "s~~", "t~"},
},
Mymr = {
remove_diacritics = c.VS01,
},
Thai = "Thai-sortkey",
-- FIXME: The previous sort key which mixed all scripts removed ZWJ; I don't know which script(s) this was
-- intended for and there are no other languages which remove it in the sort key AFAIK. If it needs to be
-- removed, specify the script(s) it needs to be removed under or add handling for the "all" script that applies
-- regardless of script.
--all = {
-- remove_diacritics = c.ZWJ,
--},
},
}
m["sc"] = {
"Sardinian",
33976,
"roa-sou",
"Latn",
ancestors = "sc-old",
}
m["sd"] = {
"Sindhi",
33997,
"inc-snd",
"sd-Arab, Deva, Sind, Khoj",
translit = {
Sind = "Sind-translit",
["sd-Arab"] = "sd-Arab-translit"
},
strip_diacritics = {
["sd-Arab"] = {
remove_diacritics = c.kashida .. c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.superalef,
from = {"ٱ"},
to = {"ا"}
},
},
}
m["se"] = {
"Northern Sami",
33947,
"smi",
"Latn",
display_text = {
from = {"'"},
to = {"ˈ"}
},
strip_diacritics = {remove_diacritics = c.macron .. c.dotbelow .. "'ˈ"},
sort_key = {
from = {"á", "č", "đ", "ŋ", "š", "ŧ", "ž"},
to = {"a" .. p[1], "c" .. p[1], "d" .. p[1], "n" .. p[1], "s" .. p[1], "t" .. p[1], "z" .. p[1]}
},
standard_chars = "AaÁáBbCcČčDdĐđEeFfGgHhIiJjKkLlMmNnŊŋOoPpRrSsŠšTtŦŧUuVvZzŽž" .. c.punc,
}
m["sg"] = {
"Sango",
33954,
"crp",
"Latn",
ancestors = "ngb",
}
m["sh"] = {
"Serbo-Croatian",
9301,
"zls",
"Latn, Cyrl, Glag, Arab",
ietf_subtag = "hbs", -- ISO 639-3 code, since "sh" is deprecated from ISO 639-1
wikimedia_codes = "sh, bs, hr, sr",
strip_diacritics = {
Latn = {
remove_diacritics = c.grave .. c.acute .. c.tilde .. c.macron .. c.dgrave .. c.invbreve,
remove_exceptions = {"Ć", "ć", "Ś", "ś", "Ź", "ź"}
},
Cyrl = {
remove_diacritics = c.grave .. c.acute .. c.tilde .. c.macron .. c.dgrave .. c.invbreve,
remove_exceptions = {"З́", "з́", "С́", "с́"}
},
},
sort_key = {
Latn = {
remove_diacritics = c.grave .. c.acute .. c.tilde .. c.macron .. c.dgrave .. c.invbreve,
remove_exceptions = {"ć", "ś", "ź"},
from = {"č", "ć", "dž", "đ", "lj", "nj", "š", "ś", "ž", "ź"},
to = {"c" .. p[1], "c" .. p[2], "d" .. p[1], "d" .. p[2], "l" .. p[1], "n" .. p[1], "s" .. p[1], "s" .. p[2], "z" .. p[1], "z" .. p[2]}
},
Cyrl = {
remove_diacritics = c.grave .. c.acute .. c.tilde .. c.macron .. c.dgrave .. c.invbreve,
remove_exceptions = {"з́", "с́"},
from = {"ђ", "з́", "ј", "љ", "њ", "с́", "ћ", "џ"},
to = {"д" .. p[1], "з" .. p[1], "и" .. p[1], "л" .. p[1], "н" .. p[1], "с" .. p[1], "т" .. p[1], "ч" .. p[1]}
},
},
standard_chars = {
Latn = "AaBbCcČčĆćDdĐđEeFfGgHhIiJjKkLlMmNnOoPpRrSsŠšTtUuVvZzŽž",
Cyrl = "АаБбВвГгДдЂђЕеЖжЗзИиЈјКкЛлЉљМмНнЊњОоПпРрСсТтЋћУуФфХхЦцЧчЏџШш",
c.punc
},
}
m["si"] = {
"Sinhalese",
13267,
"inc-ins",
"Sinh",
translit = "si-translit",
override_translit = true,
}
m["sk"] = {
"Slovak",
9058,
"zlw",
"Latn",
ancestors = "zlw-osk",
sort_key = {remove_diacritics = c.acute .. c.circ .. c.diaer .. c.caron},
standard_chars = "AaÁáÄäBbCcČčDdĎďEeÉéFfGgHhIiÍíJjKkLlĹ弾MmNnŇňOoÓóÔôPpRrŔŕSsŠšTtŤťUuÚúVvYyÝýZzŽž" .. c.punc,
}
m["sl"] = {
"Slovene",
9063,
"zls",
"Latn",
strip_diacritics = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.macron .. c.dgrave .. c.invbreve .. c.dotbelow,
remove_exceptions = {"Ć", "ć", "Ǵ", "ǵ", "Ś", "ś", "Ź", "ź"},
from = {"Ə", "ə", "Ł", "ł"},
to = {"E", "e", "L", "l"},
},
sort_key = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.macron .. c.dotabove .. c.ringabove .. c.dgrave .. c.invbreve .. c.dotbelow .. c.ringbelow .. c.ogonek,
remove_exceptions = {"ć", "ǵ", "ś", "ź"},
from = {"ä", "č", "ć", "đ", "ə", "ë", "ǧ", "ǵ", "ï", "ł", "ö", "š", "ś", "ü", "ž", "ź"},
to = {"a" .. p[1], "c" .. p[1], "c" .. p[2], "d" .. p[1], "e", "e" .. p[1], "g" .. p[1], "g" .. p[2], "i" .. p[1], "l", "o" .. p[1], "s" .. p[1], "s" .. p[2], "u" .. p[1], "z" .. p[1], "z" .. p[2]},
},
standard_chars = "AaBbCcČčDdEeFfGgHhIiJjKkLlMmNnOoPpRrSsŠšTtUuVvZzŽž" .. c.punc,
}
m["sm"] = {
"Samoan",
34011,
"poz-pnp",
"Latn",
}
m["sn"] = {
"Shona",
34004,
"bnt-sho",
"Latn",
strip_diacritics = {remove_diacritics = c.acute},
}
m["so"] = {
"Somali",
13275,
"cus-som",
"Latn, Arab, Osma",
strip_diacritics = {
Latn = {remove_diacritics = c.grave .. c.acute .. c.circ}
},
}
m["sq"] = {
"Albanian",
8748,
"sqj",
"Latn, Grek, ota-Arab, Elba, Todr, Vith",
translit = {
Elba = "Elba-translit",
Vith = "Vith-translit",
},
-- Grek display_text, sort_key in [[Module:scripts/data]]
strip_diacritics = {
Latn = {
remove_diacritics = c.acute .. c.circ .. c.macron,
from = {'^[ie] (%w)', '^të (%w)'}, to = {'%1', '%1'},
},
Grek = { -- Diacritic removal from Grek-stripdiacritics excluded.
from = m_langdata.chars_substitutions["Grek-stripdiacritics"].from,
to = m_langdata.chars_substitutions["Grek-stripdiacritics"].to,
},
},
sort_key = {
Latn = {
remove_diacritics = c.acute .. c.circ .. c.macron .. c.tilde .. c.breve .. c.caron,
from = {'^[ie] (%w)', '^të (%w)', 'ç', 'dh', 'ë', 'gj', 'll', 'nj', 'rr', 'sh', 'th', 'xh', 'zh'},
to = {'%1', '%1', 'c'..p[1], 'd'..p[1], 'e'..p[1], 'g'..p[1], 'l'..p[1], 'n'..p[1], 'r'..p[1], 's'..p[1], 't'..p[1], 'x'..p[1], 'z'..p[1]},
}
-- TODO: Grek if the default sort key is unsuitable
},
standard_chars = {
Latn = "AaBbCcÇçDdEeËëFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvXxYyZz",
c.punc
},
}
m["ss"] = {
"Swazi",
34014,
"bnt-ngu",
"Latn",
strip_diacritics = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.macron .. c.caron},
}
m["st"] = {
"Sotho",
34340,
"bnt-sts",
"Latn",
strip_diacritics = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.macron .. c.caron},
}
m["su"] = {
"Sundanese",
34002,
"poz-msa",
"Latn, Sund, Arab",
ancestors = "osn",
translit = {
Sund = "Sund-translit"
},
}
m["sv"] = {
"Swedish",
9027,
"gmq-eas",
"Latn",
ancestors = "gmq-osw-lat",
sort_key = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.macron .. c.dacute .. c.caron .. c.cedilla .. "':",
remove_exceptions = {"å"},
from = {"ø", "æ", "œ", "ß", "å", "aͤ", "oͤ"},
to = {"o", "ae", "oe", "ss", "z" .. p[1], "ä", "ö"}
},
standard_chars = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpRrSsTtUuVvXxYyÅåÄäÖö" .. c.punc,
}
m["sw"] = {
"Swahili",
7838,
"bnt-swh",
"Latn, Arab",
sort_key = {
Latn = {
from = {"ng'"},
to = {"ng" .. p[1]}
},
},
}
m["ta"] = {
"Tamil",
5885,
"dra-tam",
"Taml",
ancestors = "ta-mid",
translit = "ta-translit",
override_translit = true,
}
m["te"] = {
"Telugu",
8097,
"dra-tel",
"Telu",
translit = "te-translit",
override_translit = true,
}
m["tg"] = {
"Tajik",
9260,
"ira-swi",
"Cyrl, fa-Arab, Latn",
ancestors = "fa-cls",
translit = {
Cyrl = "tg-translit"
},
override_translit = true,
strip_diacritics = {
Cyrl = s["tg-stripdiacritics"],
Latn = s["tg-stripdiacritics"],
},
sort_key = {
Cyrl = {
from = {"ғ", "ё", "ӣ", "қ", "ӯ", "ҳ", "ҷ"},
to = {"г" .. p[1], "е" .. p[1], "и" .. p[1], "к" .. p[1], "у" .. p[1], "х" .. p[1], "ч" .. p[1]}
},
},
}
m["th"] = {
"Thai",
9217,
"tai-swe",
"Thai, Khomt, Brai",
translit = {
Thai = "th-translit"
},
sort_key = {
Thai = "Thai-sortkey"
},
}
m["ti"] = {
"Tigrinya",
34124,
"sem-eth",
"Ethi",
translit = "Ethi-translit",
}
m["tk"] = {
"Turkmen",
9267,
"trk-ogz",
"Latn, Cyrl, Arab",
strip_diacritics = {
Latn = s["tk-stripdiacritics"],
Cyrl = s["tk-stripdiacritics"],
},
sort_key = {
Latn = {
from = {"ç", "ä", "ž", "ň", "ö", "ş", "ü", "ý"},
to = {"c" .. p[1], "e" .. p[1], "j" .. p[1], "n" .. p[1], "o" .. p[1], "s" .. p[1], "u" .. p[1], "y" .. p[1]}
},
Cyrl = {
from = {"ё", "җ", "ң", "ө", "ү", "ә"},
to = {"е" .. p[1], "ж" .. p[1], "н" .. p[1], "о" .. p[1], "у" .. p[1], "э" .. p[1]}
},
},
ancestors = "trk-eog",
}
m["tl"] = {
"Tagalog",
34057,
"phi",
"Latn, Tglg",
translit = {
Tglg = "tl-translit"
},
override_translit = true,
strip_diacritics = {
Latn = {remove_diacritics = c.grave .. c.acute .. c.circ}
},
standard_chars = {
Latn = "AaBbKkDdEeGgHhIiLlMmNnOoPpRrSsTtUuWwYy",
c.punc
},
sort_key = {
Latn = "tl-sortkey",
},
}
m["tn"] = {
"Tswana",
34137,
"bnt-sts",
"Latn",
}
m["to"] = {
"Tongan",
34094,
"poz-ton",
"Latn",
strip_diacritics = {remove_diacritics = c.acute},
sort_key = {remove_diacritics = c.macron},
}
m["tr"] = {
"Turkish",
256,
"trk-ogz",
"Latn",
ancestors = "ota",
dotted_dotless_i = true,
sort_key = {
from = {
-- Ignore circumflex, but account for capital Î wrongly becoming ı + circ due to dotted dotless I logic.
"ı" .. c.circ, c.circ,
"i", -- Ensure "i" comes after "ı".
"ç", "ğ", "ı", "ö", "ş", "ü"
},
to = {
"i", "",
"i" .. p[1],
"c" .. p[1], "g" .. p[1], "i", "o" .. p[1], "s" .. p[1], "u" .. p[1]
}
},
standard_chars = "AaÂâBbCcÇçDdEeFfGgĞğHhIıİiÎîJjKkLlMmNnOoÖöPpRrSsŞşTtUuÛûÜüVvYyZz" .. c.punc,
}
m["ts"] = {
"Tsonga",
34327,
"bnt-tsr",
"Latn",
}
m["tt"] = {
"Tatar",
25285,
"trk-kbu",
"Cyrl, Latn, tt-Arab",
translit = {
Cyrl = "tt-translit",
["tt-Arab"] = "tt-translit"
},
--override_translit = true, -- enable override until Module code can detect Russian loans such as [[аэропорт]]
dotted_dotless_i = true,
sort_key = {
Cyrl = {
from = {"ә", "ў", "ғ", "ё", "җ", "қ", "ң", "ө", "ү", "һ"},
to = {"а" .. p[1], "в" .. p[1], "г" .. p[1], "е" .. p[1], "ж" .. p[1], "к" .. p[1], "н" .. p[1], "о" .. p[1], "у" .. p[1], "х" .. p[1]}
},
Latn = {
from = {
"i", -- Ensure "i" comes after "ı".
"ä", "ə", "ç", "ğ", "ı", "ñ", "ŋ", "ö", "ɵ", "ş", "ü"
},
to = {
"i" .. p[1],
"a" .. p[1], "a" .. p[2], "c" .. p[1], "g" .. p[1], "i", "n" .. p[1], "n" .. p[2], "o" .. p[1], "o" .. p[2], "s" .. p[1], "u" .. p[1]
}
},
},
}
-- "tw" is treated as "ak", see [[WT:LT]]
m["ty"] = {
"Tahitian",
34128,
"poz-pep",
"Latn",
}
m["ug"] = {
"Uyghur",
13263,
"trk-kar",
"ug-Arab, Latn, Cyrl",
ancestors = "chg",
translit = {
["ug-Arab"] = "ug-translit",
Cyrl = "ug-translit",
},
override_translit = true,
}
m["uk"] = {
"Ukrainian",
8798,
"zle",
"Cyrl",
ancestors = "zle-muk",
translit = "uk-translit",
strip_diacritics = {remove_diacritics = c.grave .. c.acute},
sort_key = {
remove_diacritics = c.grave .. c.acute,
from = {
"ї", -- 2 chars
"ґ", "є", "і" -- 1 char
},
to = {
"и" .. p[2],
"г" .. p[1], "е" .. p[1], "и" .. p[1]
}
},
standard_chars = "АаБбВвГгДдЕеЄєЖжЗзИиІіЇїЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЬьЮюЯя" .. c.punc:gsub("'", ""), -- Exclude apostrophe.
}
m["ur"] = {
"Urdu",
1617,
"inc-hnd",
"ur-Arab, Hebr",
translit = {
["ur-Arab"] = "ur-translit"
},
strip_diacritics = {
["ur-Arab"] = {
-- character "ۂ" code U+06C2 to "ه" and "هٔ" (U+0647 + U+0654) to "ه"; hamzatu l-waṣli to a regular alif
from = {"هٔ", "ۂ", "ٱ"},
to = {"ہ", "ہ", "ا"},
remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.nunghunna .. c.superalef
},
},
-- Hebr display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
standard_chars = {
["ur-Arab"] = "ایببپتثجچحخدذرزژسشصضطظعغفقکگلࣇڷمنݨوؤہھئٹڈڑآے",
c.punc,
},
}
m["uz"] = {
"Uzbek",
9264,
"trk-kar",
"Latn, Cyrl, fa-Arab",
ancestors = "chg",
translit = {
Cyrl = "uz-translit"
},
sort_key = {
Latn = {
from = {"oʻ", "gʻ", "sh", "ch", "ng"},
to = {"z" .. p[1], "z" .. p[2], "z" .. p[3], "z" .. p[4], "z" .. p[5]}
},
Cyrl = {
from = {"ё", "ў", "қ", "ғ", "ҳ"},
to = {"е" .. p[1], "я" .. p[1], "я" .. p[2], "я" .. p[3], "я" .. p[4]}
},
},
strip_diacritics = {
["fa-Arab"] = "ar-stripdiacritics",
},
}
m["ve"] = {
"Venda",
32704,
"bnt-bso",
"Latn",
}
m["vi"] = {
"Vietnamese",
9199,
"mkh-vie",
"Latn, Hani",
ancestors = "mkh-mvi",
sort_key = {
Latn = "vi-sortkey",
Hani = "Hani-sortkey",
},
}
m["vo"] = {
"Volapük",
36986,
"art",
"Latn",
}
m["wa"] = {
"Walloon",
34219,
"roa-oil",
"Latn",
sort_key = s["roa-oil-sortkey"],
}
m["wo"] = {
"Wolof",
34257,
"alv-fwo",
"Latn, Arab, Gara",
}
m["xh"] = {
"Xhosa",
13218,
"bnt-ngu",
"Latn",
strip_diacritics = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.macron .. c.caron},
}
m["yi"] = {
"Yiddish",
8641,
"gmw-hgm",
"Hebr, Latn",
ancestors = "gmh",
translit = {
Hebr = "yi-translit",
},
-- Hebr display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["yo"] = {
"Yoruba",
34311,
"alv-yor",
"Latn, Arab",
strip_diacritics = {
Latn = {remove_diacritics = c.grave .. c.acute .. c.macron}
},
sort_key = {
Latn = {
from = {"ẹ", "ɛ", "gb", "ị", "kp", "ọ", "ɔ", "ṣ", "sh", "ụ"},
to = {"e" .. p[1], "e" .. p[1], "g" .. p[1], "i" .. p[1], "k" .. p[1], "o" .. p[1], "o" .. p[1], "s" .. p[1], "s" .. p[1], "u" .. p[1]}
},
},
}
m["za"] = {
"Zhuang",
13216,
"tai",
"Latn, Hani",
sort_key = {
Latn = "za-sortkey",
Hani = "Hani-sortkey",
},
}
m["zh"] = {
"Chinese",
7850,
"zhx",
"Hants, Latn, Bopo, Nshu, Brai",
ancestors = "ltc",
generate_forms = "zh-generateforms",
translit = {
Hani = "zh-translit",
Bopo = "zh-translit",
},
sort_key = {
Hani = "Hani-sortkey"
},
}
m["zu"] = {
"Zulu",
10179,
"bnt-ngu",
"Latn",
strip_diacritics = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.macron .. c.caron},
}
return require("Module:languages").finalizeData(m, "language")
0m6ennhmvoyt6gbvvrn6ae6qo3n5rac
234127
234126
2026-05-15T10:02:22Z
Lee
19
[[:en:Module:languages/data/2]] වෙතින් එක් සංශෝධනයක්
234126
Scribunto
text/plain
local m_langdata = require("Module:languages/data")
-- Loaded on demand, as it may not be needed (depending on the data).
local function u(...)
u = require("Module:string utilities").char
return u(...)
end
local c = m_langdata.chars
local p = m_langdata.puaChars
local s = m_langdata.shared
-- Ideally, we want to move these into [[Module:languages/data]], but because (a) it's necessary to use require on that module, and (b) they're only used in this data module, it's less memory-efficient to do that at the moment. If it becomes possible to use mw.loadData, then these should be moved there.
s["de-Latn-sortkey"] = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.diaer .. c.ringabove,
from = {"æ", "œ", "ß"},
to = {"ae", "oe", "ss"}
}
s["de-Latn-standardchars"] = "AaÄäBbCcDdEeFfGgHhIiJjKkLlMmNnOoÖöPpQqRrSsẞßTtUuÜüVvWwXxYyZz"
s["ka-stripdiacritics"] = {remove_diacritics = c.circ}
s["no-sortkey"] = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.macron .. c.dacute .. c.caron .. c.cedilla,
remove_exceptions = {"å"},
from = {"æ", "ø", "å"},
to = {"z" .. p[1], "z" .. p[2], "z" .. p[3]}
}
s["no-standardchars"] = "AaBbDdEeFfGgHhIiJjKkLlMmNnOoPpRrSsTtUuVvYyÆæØøÅå" .. c.punc
s["sa-Deva-stripdiacritics"] = { -- Don't use remove_diacritics for accent marks, as १ and ३ should also be removed if (and only if) they carry any.
from = {"[१३]?[" .. c.anudatta .. c.udatta .. c.dsvarita .. c.tsvarita .. "]+"},
to = {""},
}
s["tg-stripdiacritics"] = {remove_diacritics = c.grave .. c.acute}
s["tk-stripdiacritics"] = {remove_diacritics = c.macron}
local m = {}
m["aa"] = {
"Afar",
27811,
"cus-eas",
"Latn, Ethi",
strip_diacritics = {
Latn = {remove_diacritics = c.acute},
},
}
m["ab"] = {
"Abkhaz",
5111,
"cau-abz",
"Cyrl, Geor, Latn",
translit = {
Cyrl = "ab-translit",
-- Geor translit in [[Module:scripts/data]]
},
override_translit = true,
display_text = {
Cyrl = s["cau-Cyrl-displaytext"]
},
strip_diacritics = {
Cyrl = {
remove_diacritics = c.acute,
from = {"^а%-"},
to = {"а"},
},
Latn = s["cau-Latn-stripdiacritics"],
},
sort_key = {
Cyrl = {
from = {
"х'ә", -- 3 chars
"гь", "гә", "ӷь", "ҕь", "ӷә", "ҕә", "дә", "ё", "жь", "жә", "ҙә", "ӡә", "ӡ'", "кь", "кә", "қь", "қә", "ҟь", "ҟә", "ҫә", "тә", "ҭә", "ф'", "хь", "хә", "х'", "ҳә", "ць", "цә", "ц'", "ҵә", "ҵ'", "шь", "шә", "џь", -- 2 chars
"ӷ", "ҕ", "ҙ", "ӡ", "қ", "ҟ", "ԥ", "ҧ", "ҫ", "ҭ", "ҳ", "ҵ", "ҷ", "ҽ", "ҿ", "ҩ", "џ", "ә", -- 1 char
"^а",
},
to = {
"х" .. p[4],
"г" .. p[1], "г" .. p[2], "г" .. p[5], "г" .. p[6], "г" .. p[7], "г" .. p[8], "д" .. p[1], "е" .. p[1], "ж" .. p[1], "ж" .. p[2], "з" .. p[2], "з" .. p[4], "з" .. p[5], "к" .. p[1], "к" .. p[2], "к" .. p[4], "к" .. p[5], "к" .. p[7], "к" .. p[8], "с" .. p[2], "т" .. p[1], "т" .. p[3], "ф" .. p[1], "х" .. p[1], "х" .. p[2], "х" .. p[3], "х" .. p[6], "ц" .. p[1], "ц" .. p[2], "ц" .. p[3], "ц" .. p[5], "ц" .. p[6], "ш" .. p[1], "ш" .. p[2], "ы" .. p[3],
"г" .. p[3], "г" .. p[4], "з" .. p[1], "з" .. p[3], "к" .. p[3], "к" .. p[6], "п" .. p[1], "п" .. p[2], "с" .. p[1], "т" .. p[2], "х" .. p[5], "ц" .. p[4], "ч" .. p[1], "ч" .. p[2], "ч" .. p[3], "ы" .. p[1], "ы" .. p[2], "ь" .. p[1],
"",
}
},
},
}
m["ae"] = {
"Avestan",
29572,
"ira-cen",
"Avst, Gujr, Deva",
translit = {
Avst = "Avst-translit"
},
}
m["af"] = {
"Afrikaans",
14196,
"gmw-frk",
"Latn, Arab",
ancestors = "nl",
sort_key = {
Latn = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.diaer .. c.ringabove .. c.cedilla .. "'",
from = {"['ʼ]n"},
to = {"n" .. p[1]}
}
},
}
m["ak"] = {
"Akan",
28026,
"alv-ctn",
"Latn",
}
m["am"] = {
"Amharic",
28244,
"sem-eth",
"Ethi",
translit = "Ethi-translit",
}
m["an"] = {
"Aragonese",
8765,
"roa-nar",
"Latn",
}
m["ar"] = {
"Arabic",
13955,
"sem-arb",
"Arab, Hebr, Syrc, Brai, Nbat",
translit = {
Arab = "ar-translit"
},
strip_diacritics = {
Arab = "ar-stripdiacritics",
},
-- Hebr display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["as"] = {
"Assamese",
29401,
"inc-bas",
"as-Beng",
ancestors = "inc-mas",
translit = "as-translit",
}
m["av"] = {
"Avar",
29561,
"cau-ava",
"Cyrl, Latn, Arab",
ancestors = "oav",
translit = {
Cyrl = "cau-nec-translit",
Arab = "ar-translit",
},
override_translit = true,
display_text = {
Cyrl = s["cau-Cyrl-displaytext"],
},
strip_diacritics = {
Cyrl = s["cau-Cyrl-stripdiacritics"],
Latn = s["cau-Latn-stripdiacritics"],
},
sort_key = {
Cyrl = {
from = {"гъ", "гь", "гӏ", "ё", "кк", "къ", "кь", "кӏ", "лъ", "лӏ", "тӏ", "хх", "хъ", "хь", "хӏ", "цӏ", "чӏ"},
to = {"г" .. p[1], "г" .. p[2], "г" .. p[3], "е" .. p[1], "к" .. p[1], "к" .. p[2], "к" .. p[3], "к" .. p[4], "л" .. p[1], "л" .. p[2], "т" .. p[1], "х" .. p[1], "х" .. p[2], "х" .. p[3], "х" .. p[4], "ц" .. p[1], "ч" .. p[1]}
},
},
}
m["ay"] = {
"Aymara",
4627,
"sai-aym",
"Latn",
}
m["az"] = {
"Azerbaijani",
9292,
"trk-ogz",
"Latn, Cyrl, fa-Arab",
ancestors = "trk-oat",
dotted_dotless_i = true,
strip_diacritics = {
Latn = {
from = {"ʼ"},
to = {"'"},
},
["fa-Arab"] = {
module = "ar-stripdiacritics",
["from"] = {
"ۆ",
"ۇ",
"وْ",
"ڲ",
"ؽ",
},
["to"] = {
"و",
"و",
"و",
"گ",
"ی",
},
},
},
display_text = {
Latn = {
from = {"'"},
to = {"ʼ"}
}
},
sort_key = {
Latn = {
from = {
"i", -- Ensure "i" comes after "ı".
"ç", "ə", "ğ", "x", "ı", "q", "ö", "ş", "ü", "w"
},
to = {
"i" .. p[1],
"c" .. p[1], "e" .. p[1], "g" .. p[1], "h" .. p[1], "i", "k" .. p[1], "o" .. p[1], "s" .. p[1], "u" .. p[1], "z" .. p[1]
}
},
Cyrl = {
from = {"ғ", "ә", "ы", "ј", "ҝ", "ө", "ү", "һ", "ҹ"},
to = {"г" .. p[1], "е" .. p[1], "и" .. p[1], "и" .. p[2], "к" .. p[1], "о" .. p[1], "у" .. p[1], "х" .. p[1], "ч" .. p[1]}
},
},
}
m["ba"] = {
"Bashkir",
13389,
"trk-kbu",
"Cyrl",
translit = "ba-translit",
override_translit = true,
sort_key = {
from = {"ғ", "ҙ", "ё", "ҡ", "ң", "ө", "ҫ", "ү", "һ", "ә"},
to = {"г" .. p[1], "д" .. p[1], "е" .. p[1], "к" .. p[1], "н" .. p[1], "о" .. p[1], "с" .. p[1], "у" .. p[1], "х" .. p[1], "э" .. p[1]}
},
}
m["be"] = {
"Belarusian",
9091,
"zle",
"Cyrl, Latn",
ancestors = "zle-mbe",
translit = {
Cyrl = "be-translit",
},
strip_diacritics = {
Cyrl = {
remove_diacritics = c.grave .. c.acute,
},
Latn = {
remove_diacritics = c.grave .. c.acute,
remove_exceptions = {"Ć", "ć", "Ń", "ń", "Ś", "ś", "Ź", "ź"},
},
},
sort_key = {
Cyrl = {
remove_diacritics = c.grave .. c.acute,
from = {"ґ", "ё", "і", "ў"},
to = {"г" .. p[1], "е" .. p[1], "и" .. p[1], "у" .. p[1]}
},
Latn = {
remove_diacritics = c.grave .. c.acute,
remove_exceptions = {"Ć", "ć", "Ń", "ń", "Ś", "ś", "Ź", "ź"},
from = {"ć", "č", "dz", "dź", "dž", "ch", "ł", "ń", "ś", "š", "ŭ", "ź", "ž"},
to = {"c" .. p[1], "c" .. p[2], "d" .. p[1], "d" .. p[2], "d" .. p[3], "h" .. p[1], "l" .. p[1], "n" .. p[1], "s" .. p[1], "s" .. p[2], "u" .. p[1], "z" .. p[1], "z" .. p[2]}
},
},
standard_chars = {
Cyrl = "АаБбВвГгДдЕеЁёЖжЗзІіЙйКкЛлМмНнОоПпРрСсТтУуЎўФфХхЦцЧчШшЫыЬьЭэЮюЯя",
Latn = "AaBbCcĆćČčDdEeFfGgHhIiJjKkLlŁłMmNnŃńOoPpRrSsŚśŠšTtUuŬŭVvYyZzŹźŽž",
(c.punc:gsub("'", "")) -- Exclude apostrophe.
},
}
m["bg"] = {
"Bulgarian",
7918,
"zls",
"Cyrl",
ancestors = "cu-bgm",
translit = "bg-translit",
strip_diacritics = {
remove_diacritics = c.grave .. c.acute,
remove_exceptions = {"%f[^%z%s]ѝ%f[%z%s]"},
},
sort_key = {
remove_diacritics = c.grave .. c.acute,
remove_exceptions = {"%f[^%z%s]ѝ%f[%z%s]"},
},
standard_chars = "АаБбВвГгДдЕеЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЬьЮюЯя" .. c.punc,
}
m["bh"] = {
"Bihari",
135305,
"inc-eas",
"Deva",
}
m["bi"] = {
"Bislama",
35452,
"crp",
"Latn",
ancestors = "en",
}
m["bm"] = {
"Bambara",
33243,
"dmn-emn",
"Latn, Nkoo",
sort_key = {
Latn = {
from = {"ɛ", "ɲ", "ŋ", "ɔ"},
to = {"e" .. p[1], "n" .. p[1], "n" .. p[2], "o" .. p[1]}
},
},
}
m["bn"] = {
"Bengali",
9610,
"inc-bas",
"Beng, Newa",
ancestors = "inc-mbn",
translit = {
Beng = "bn-translit"
},
}
m["bo"] = {
"Tibetan",
34271,
"sit-tib",
"Tibt", -- sometimes Deva?
ancestors = "xct",
override_translit = true,
-- Tibt translit, display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["br"] = {
"Breton",
12107,
"cel-brs",
"Latn",
ancestors = "xbm",
sort_key = {
from = {"ch", "c['ʼ’]h"},
to = {"c" .. p[1], "c" .. p[2]}
},
}
m["ca"] = {
"Catalan",
7026,
"roa-ocr",
"Latn",
ancestors = "roa-oca",
sort_key = {remove_diacritics = c.grave .. c.acute .. c.diaer .. c.cedilla .. "·"},
standard_chars = "AaÀàBbCcÇçDdEeÉéÈèFfGgHhIiÍíÏïJjLlMmNnOoÓóÒòPpQqRrSsTtUuÚúÜüVvXxYyZz·" .. c.punc,
}
m["ce"] = {
"Chechen",
33350,
"cau-vay",
"Cyrl, Latn, Arab",
translit = {
Cyrl = "cau-nec-translit",
Arab = "ar-translit",
},
override_translit = true,
display_text = {
Cyrl = s["cau-Cyrl-displaytext"]
},
strip_diacritics = {
Cyrl = s["cau-Cyrl-stripdiacritics"],
Latn = s["cau-Latn-stripdiacritics"],
},
sort_key = {
Cyrl = {
from = {"аь", "гӏ", "ё", "кх", "къ", "кӏ", "оь", "пӏ", "тӏ", "уь", "хь", "хӏ", "цӏ", "чӏ", "юь", "яь"},
to = {"а" .. p[1], "г" .. p[1], "е" .. p[1], "к" .. p[1], "к" .. p[2], "к" .. p[3], "о" .. p[1], "п" .. p[1], "т" .. p[1], "у" .. p[1], "х" .. p[1], "х" .. p[2], "ц" .. p[1], "ч" .. p[1], "ю" .. p[1], "я" .. p[1]}
},
},
}
m["ch"] = {
"Chamorro",
33262,
"poz",
"Latn",
sort_key = {
remove_diacritics = "'",
from = {"å", "ch", "ñ", "ng"},
to = {"a" .. p[1], "c" .. p[1], "n" .. p[1], "n" .. p[2]}
},
}
m["co"] = {
"Corsican",
33111,
"roa-itr",
"Latn",
sort_key = {
from = {"chj", "ghj", "sc", "sg"},
to = {"c" .. p[1], "g" .. p[1], "s" .. p[1], "s" .. p[2]}
},
standard_chars = "AaÀàBbCcDdEeÈèFfGgHhIiÌìÏïJjLlMmNnOoÒòPpQqRrSsTtUuÙùÜüVvZz" .. c.punc,
}
m["cr"] = {
"Cree",
33390,
"alg",
"Latn, Cans",
translit = {
Cans = "cr-translit"
},
}
m["cs"] = {
"Czech",
9056,
"zlw",
"Latn",
ancestors = "cs-ear",
sort_key = {
from = {"á", "č", "ď", "é", "ě", "ch", "í", "ň", "ó", "ř", "š", "ť", "ú", "ů", "ý", "ž"},
to = {"a" .. p[1], "c" .. p[1], "d" .. p[1], "e" .. p[1], "e" .. p[2], "h" .. p[1], "i" .. p[1], "n" .. p[1], "o" .. p[1], "r" .. p[1], "s" .. p[1], "t" .. p[1], "u" .. p[1], "u" .. p[2], "y" .. p[1], "z" .. p[1]}
},
standard_chars = "AaÁáBbCcČčDdĎďEeÉéĚěFfGgHhIiÍíJjKkLlMmNnŇňOoÓóPpRrŘřSsŠšTtŤťUuÚúŮůVvYyÝýZzŽž" .. c.punc,
}
m["cu"] = {
"Old Church Slavonic",
35499,
"zls",
"Cyrs, Glag, Zname",
translit = {
Cyrs = "Cyrs-translit",
Glag = "Glag-translit"
},
-- Cyrs strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["cv"] = {
"Chuvash",
33348,
"trk-ogr",
"Cyrl",
ancestors = "cv-mid",
translit = "cv-translit",
override_translit = true,
sort_key = {
from = {"ӑ", "ё", "ӗ", "ҫ", "ӳ"},
to = {"а" .. p[1], "е" .. p[1], "е" .. p[2], "с" .. p[1], "у" .. p[1]}
},
}
m["cy"] = {
"Welsh",
9309,
"cel-brw",
"Latn",
ancestors = "wlm",
sort_key = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.diaer .. "'",
from = {"ch", "dd", "ff", "ng", "ll", "ph", "rh", "th"},
to = {"c" .. p[1], "d" .. p[1], "f" .. p[1], "g" .. p[1], "l" .. p[1], "p" .. p[1], "r" .. p[1], "t" .. p[1]}
},
standard_chars = "ÂâAaBbCcDdEeÊêFfGgHhIiÎîLlMmNnOoÔôPpRrSsTtUuÛûWwŴŵYyŶŷ" .. c.punc,
}
m["da"] = {
"Danish",
9035,
"gmq-eas",
"Latn",
ancestors = "gmq-oda",
sort_key = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.macron .. c.dacute .. c.caron .. c.cedilla,
remove_exceptions = {"å"},
from = {"æ", "ø", "å"},
to = {"z" .. p[1], "z" .. p[2], "z" .. p[3]}
},
standard_chars = "AaBbDdEeFfGgHhIiJjKkLlMmNnOoPpRrSsTtUuVvYyÆæØøÅå" .. c.punc,
}
m["de"] = {
"German",
188,
"gmw-hgm",
"Latn, Latf, Brai",
ancestors = "de-ear",
sort_key = {
Latn = s["de-Latn-sortkey"],
Latf = s["de-Latn-sortkey"],
},
standard_chars = {
Latn = s["de-Latn-standardchars"],
Latf = s["de-Latn-standardchars"],
Brai = c.braille,
c.punc
}
}
m["dv"] = {
"Dhivehi",
32656,
"inc-ins",
"Thaa, Diak",
translit = {
Thaa = "dv-translit",
Diak = "Diak-translit",
},
ancestors = "dv-old",
override_translit = true,
}
m["dz"] = {
"Dzongkha",
33081,
"sit-tib",
"Tibt",
ancestors = "xct",
override_translit = true,
-- Tibt translit, display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["ee"] = {
"Ewe",
30005,
"alv-gbe",
"Latn",
sort_key = {
remove_diacritics = c.tilde,
from = {"ɖ", "dz", "ɛ", "ƒ", "gb", "ɣ", "kp", "ny", "ŋ", "ɔ", "ts", "ʋ"},
to = {"d" .. p[1], "d" .. p[2], "e" .. p[1], "f" .. p[1], "g" .. p[1], "g" .. p[2], "k" .. p[1], "n" .. p[1], "n" .. p[2], "o" .. p[1], "t" .. p[1], "v" .. p[1]}
},
}
m["el"] = {
"Greek",
9129,
"grk",
"Grek, Polyt, Brai",
ancestors = "el-kth",
translit = "el-translit",
override_translit = true,
-- Grek and Polyt display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
standard_chars = {
Grek = "΅·ͺ΄ΑαΆάΒβΓγΔδΕεέΈΖζΗηΉήΘθΙιΊίΪϊΐΚκΛλΜμΝνΞξΟοΌόΠπΡρΣσςΤτΥυΎύΫϋΰΦφΧχΨψΩωΏώ",
Brai = c.braille,
c.punc
},
}
m["en"] = {
"English",
1860,
"gmw-ang",
"Latn, Brai, Shaw, Dsrt", -- entries in Shaw or Dsrt might require prior discussion
wikimedia_codes = "en, simple",
ancestors = "en-ear",
sort_key = {
Latn = {
-- Many of these are needed for sorting language names.
remove_diacritics = "'\"%-%.,%s·ʻʼ" .. c.diacritics,
-- These are found in pagenames.
from = {"[ɒæ🅱¢©ᴄðđəǝɜɡħʜıɨłŋɲøɔœꝑꝓꝕßʋ]"},
to = {{
["ɒ"] = "a", ["æ"] = "ae", ["🅱"] = "b", ["¢"] = "c", ["©"] = "c",
["ᴄ"] = "c", ["ð"] = "d", ["đ"] = "d", ["ə"] = "e", ["ǝ"] = "e",
["ɜ"] = "e", ["ɡ"] = "g", ["ħ"] = "h", ["ʜ"] = "h", ["ı"] = "i",
["ɨ"] = "i", ["ł"] = "l", ["ŋ"] = "n", ["ɲ"] = "n", ["ø"] = "o",
["ɔ"] = "o", ["œ"] = "oe", ["ꝑ"] = "p", ["ꝓ"] = "p", ["ꝕ"] = "p",
["ß"] = "ss", ["ʋ"] = "v",
}},
},
},
standard_chars = {
Latn = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz",
Brai = c.braille,
c.punc
},
}
m["eo"] = {
"Esperanto",
143,
"art",
"Latn",
sort_key = {
remove_diacritics = c.grave .. c.acute,
from = {"ĉ", "ĝ", "ĥ", "ĵ", "ŝ", "ŭ"},
to = {"c" .. p[1], "g" .. p[1], "h" .. p[1], "j" .. p[1], "s" .. p[1], "u" .. p[1]}
},
standard_chars = "AaBbCcĈĉDdEeFfGgĜĝHhĤĥIiJjĴĵKkLlMmNnOoPpRrSsŜŝTtUuŬŭVvZz" .. c.punc,
}
m["es"] = {
"Spanish",
1321,
"roa-cas",
"Latn, Brai",
ancestors = "es-ear",
sort_key = {
Latn = {
remove_exceptions = {"ñ"},
remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.macron .. c.diaer .. c.cedilla,
from = {"ª", "æ", "ñ", "º", "œ"},
to = {"a", "ae", "n" .. p[1], "o", "oe"}
},
},
standard_chars = {
Latn = "AaÁáBbCcDdEeÉéFfGgHhIiÍíJjLlMmNnÑñOoÓóPpQqRrSsTtUuÚúÜüVvXxYyZz",
Brai = c.braille,
c.punc
},
}
m["et"] = {
"Estonian",
9072,
"urj-fin",
"Latn",
sort_key = {
from = {
"š", "ž", "õ", "ä", "ö", "ü", -- 2 chars
"z" -- 1 char
},
to = {
"s" .. p[1], "s" .. p[3], "w" .. p[1], "w" .. p[2], "w" .. p[3], "w" .. p[4],
"s" .. p[2]
}
},
standard_chars = "AaBbDdEeFfGgHhIiJjKkLlMmNnOoPpRrSsTtUuVvÕõÄäÖöÜü" .. c.punc,
}
m["eu"] = {
"Basque",
8752,
"euq",
"Latn",
sort_key = {
from = {"ç", "ñ"},
to = {"c" .. p[1], "n" .. p[1]}
},
standard_chars = "AaBbDdEeFfGgHhIiJjKkLlMmNnÑñOoPpRrSsTtUuXxZz" .. c.punc,
}
m["fa"] = {
"Persian",
9168,
"ira-swi",
"fa-Arab, Hebr",
ancestors = "fa-cls",
strip_diacritics = {
["fa-Arab"] = {
-- character "ۂ" code U+06C2 to "ه" and "هٔ" (U+0647 + U+0654) to "ه"; hamzatu l-waṣli to a regular alif
from = {"هٔ", "ٱ"}, -- character "ۂ" code U+06C2 to "ه"; hamzatu l-waṣli to a regular alif
to = {"ه", "ا"},
remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.superalef,
},
},
-- Hebr display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["ff"] = {
"Fula",
33454,
"alv-fwo",
"Latn, Adlm",
}
m["fi"] = {
"Finnish",
1412,
"urj-fin",
"Latn",
display_text = {
from = {"'"},
to = {"’"}
},
strip_diacritics = { -- used to indicate gemination of the next consonant
remove_diacritics = "ˣ",
from = {"’"},
to = {"'"},
},
sort_key = { -- [[Appendix:Finnish alphabet#Collation]] + "aͤ" and "oͤ" as historical variants of "ä" and "ö".
remove_diacritics = "'’:" .. c.diacritics,
remove_exceptions = {
"a[" .. c.ringabove .. c.diaer .. c.small_e .. "]", -- åäaͤ
"o[" .. c.diaer .. c.tilde .. c.dacute .. c.small_e .. "]", -- öõőoͤ
"u[" .. c.diaer .. c.dacute .. "]" -- üű
},
from = {"æ", "[ðđ]", "ł", "ŋ", "œ", "ß", "þ", "u[" .. c.diaer .. c.dacute .. "]", "å", "aͤ", "o[" .. c.tilde .. c.dacute .. c.small_e .. "]", "ø", "(.)['%-]"},
to = {"ae", "d", "l", "n", "oe", "ss", "th", "y", "z" .. p[1], "ä", "ö", "ö", "%1"}
},
standard_chars = "AaBbDdEeFfGgHhIiJjKkLlMmNnOoPpRrSsTtUuVvYyÄäÖö" .. c.punc,
}
m["fj"] = {
"Fijian",
33295,
"poz-pcc",
"Latn",
}
m["fo"] = {
"Faroese",
25258,
"gmq-ins",
"Latn",
sort_key = {
from = {"á", "ð", "í", "ó", "ú", "ý", "æ", "ø"},
to = {"a" .. p[1], "d" .. p[1], "i" .. p[1], "o" .. p[1], "u" .. p[1], "y" .. p[1], "z" .. p[1], "z" .. p[2]}
},
standard_chars = "AaÁáBbDdÐðEeFfGgHhIiÍíJjKkLlMmNnOoÓóPpRrSsTtUuÚúVvYyÝýÆæØø" .. c.punc,
}
m["fr"] = {
"French",
150,
"roa-oil",
"Latn, Brai",
ancestors = "frm",
sort_key = {
Latn = s["roa-oil-sortkey"]
},
standard_chars = {
Latn = "AaÀàÂâBbCcÇçDdEeÉéÈèÊêËëFfGgHhIiÎîÏïJjLlMmNnOoÔôŒœPpQqRrSsTtUuÙùÛûÜüVvXxYyZz",
Brai = c.braille,
c.punc
},
}
m["fy"] = {
"West Frisian",
27175,
"gmw-fri",
"Latn",
sort_key = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.diaer,
from = {"y"},
to = {"i"}
},
standard_chars = "AaâäàÆæBbCcDdEeéêëèFfGgHhIiïìYyỳJjKkLlMmNnOoôöòPpRrSsTtUuúûüùVvWwZz" .. c.punc,
}
m["ga"] = {
"Irish",
9142,
"cel-gae",
"Latn, Latg",
ancestors = "mga",
sort_key = {
remove_diacritics = c.acute,
from = {"ḃ", "ċ", "ḋ", "ḟ", "ġ", "ṁ", "ṗ", "ṡ", "ṫ"},
to = {"bh", "ch", "dh", "fh", "gh", "mh", "ph", "sh", "th"}
},
standard_chars = "AaÁáBbCcDdEeÉéFfGgHhIiÍíLlMmNnOoÓóPpRrSsTtUuÚúVv" .. c.punc,
}
m["gd"] = {
"Scottish Gaelic",
9314,
"cel-gae",
"Latn, Latg",
ancestors = "mga",
sort_key = {remove_diacritics = c.grave .. c.acute},
standard_chars = "AaÀàBbCcDdEeÈèFfGgHhIiÌìLlMmNnOoÒòPpRrSsTtUuÙù" .. c.punc,
}
m["gl"] = {
"Galician",
9307,
"roa-gap",
"Latn",
sort_key = {
remove_diacritics = c.acute,
from = {"ñ"},
to = {"n" .. p[1]}
},
standard_chars = "AaÁáBbCcDdEeÉéFfGgHhIiÍíÏïLlMmNnÑñOoÓóPpQqRrSsTtUuÚúÜüVvXxZz" .. c.punc,
}
m["gu"] = {
"Gujarati",
5137,
"inc-wes",
"Arab, Gujr",
ancestors = "inc-mgu",
translit = {
Gujr = "gu-translit",
},
strip_diacritics = {
Arab = {remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.kasra .. c.shadda .. c.sukun},
Gujr = {remove_diacritics = "઼"},
},
}
m["gv"] = {
"Manx",
12175,
"cel-gae",
"Latn",
ancestors = "mga",
sort_key = {remove_diacritics = c.cedilla .. "-"},
standard_chars = "AaBbCcÇçDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwYy" .. c.punc,
}
m["ha"] = {
"Hausa",
56475,
"cdc-wst",
"Latn, Arab",
strip_diacritics = {
Latn = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.macron}
},
sort_key = {
Latn = {
from = {"ɓ", "b'", "ɗ", "d'", "ƙ", "k'", "sh", "ƴ", "'y"},
to = {"b" .. p[1], "b" .. p[2], "d" .. p[1], "d" .. p[2], "k" .. p[1], "k" .. p[2], "s" .. p[1], "y" .. p[1], "y" .. p[2]}
},
},
}
m["he"] = {
"Hebrew",
9288,
"sem-can",
"Hebr, Phnx, Brai, Samr",
ancestors = "he-med",
-- Hebr display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
-- Samr strip_diacritics, sort_key in [[Module:scripts/data]]
-- Phnx translit in [[Module:scripts/data]] (NOTE: not present before, presumably an accidental omission)
}
m["hi"] = {
"Hindi",
1568,
"inc-hnd",
"Deva, Kthi, Newa",
translit = {
Deva = "hi-translit"
},
standard_chars = {
Deva = "अआइईउऊएऐओऔकखगघङचछजझञटठडढणतथदधनपफबभमयरलवशषसहत्रज्ञक्षक़ख़ग़ज़झ़ड़ढ़फ़काखागाघाङाचाछाजाझाञाटाठाडाढाणाताथादाधानापाफाबाभामायारालावाशाषासाहात्राज्ञाक्षाक़ाख़ाग़ाज़ाझ़ाड़ाढ़ाफ़ाकिखिगिघिङिचिछिजिझिञिटिठिडिढिणितिथिदिधिनिपिफिबिभिमियिरिलिविशिषिसिहित्रिज्ञिक्षिक़िख़िग़िज़िझ़िड़िढ़िफ़िकीखीगीघीङीचीछीजीझीञीटीठीडीढीणीतीथीदीधीनीपीफीबीभीमीयीरीलीवीशीषीसीहीत्रीज्ञीक्षीक़ीख़ीग़ीज़ीझ़ीड़ीढ़ीफ़ीकुखुगुघुङुचुछुजुझुञुटुठुडुढुणुतुथुदुधुनुपुफुबुभुमुयुरुलुवुशुषुसुहुत्रुज्ञुक्षुक़ुख़ुग़ुज़ुझ़ुड़ुढ़ुफ़ुकूखूगूघूङूचूछूजूझूञूटूठूडूढूणूतूथूदूधूनूपूफूबूभूमूयूरूलूवूशूषूसूहूत्रूज्ञूक्षूक़ूख़ूग़ूज़ूझ़ूड़ूढ़ूफ़ूकेखेगेघेङेचेछेजेझेञेटेठेडेढेणेतेथेदेधेनेपेफेबेभेमेयेरेलेवेशेषेसेहेत्रेज्ञेक्षेक़ेख़ेग़ेज़ेझ़ेड़ेढ़ेफ़ेकैखैगैघैङैचैछैजैझैञैटैठैडैढैणैतैथैदैधैनैपैफैबैभैमैयैरैलैवैशैषैसैहैत्रैज्ञैक्षैक़ैख़ैग़ैज़ैझ़ैड़ैढ़ैफ़ैकोखोगोघोङोचोछोजोझोञोटोठोडोढोणोतोथोदोधोनोपोफोबोभोमोयोरोलोवोशोषोसोहोत्रोज्ञोक्षोक़ोख़ोग़ोज़ोझ़ोड़ोढ़ोफ़ोकौखौगौघौङौचौछौजौझौञौटौठौडौढौणौतौथौदौधौनौपौफौबौभौमौयौरौलौवौशौषौसौहौत्रौज्ञौक्षौक़ौख़ौग़ौज़ौझ़ौड़ौढ़ौफ़ौक्ख्ग्घ्ङ्च्छ्ज्झ्ञ्ट्ठ्ड्ढ्ण्त्थ्द्ध्न्प्फ्ब्भ्म्य्र्ल्व्श्ष्स्ह्त्र्ज्ञ्क्ष्क़्ख़्ग़्ज़्झ़्ड़्ढ़्फ़्।॥०१२३४५६७८९॰",
c.punc
},
}
m["ho"] = {
"Hiri Motu",
33617,
"crp",
"Latn",
ancestors = "meu",
}
m["ht"] = {
"Haitian Creole",
33491,
"crp",
"Latn",
ancestors = "ht-sdm",
sort_key = {
from = {
"oun", -- 3 chars
"an", "ch", "è", "en", "ng", "ò", "on", "ou", "ui" -- 2 chars
},
to = {
"o" .. p[4],
"a" .. p[1], "c" .. p[1], "e" .. p[1], "e" .. p[2], "n" .. p[1], "o" .. p[1], "o" .. p[2], "o" .. p[3], "u" .. p[1]
}
},
}
m["hu"] = {
"Hungarian",
9067,
"urj-ugr",
"Latn, Hung",
ancestors = "ohu",
sort_key = {
Latn = {
from = {
"dzs", -- 3 chars
"á", "cs", "dz", "é", "gy", "í", "ly", "ny", "ó", "ö", "ő", "sz", "ty", "ú", "ü", "ű", "zs", -- 2 chars
},
to = {
"d" .. p[2],
"a" .. p[1], "c" .. p[1], "d" .. p[1], "e" .. p[1], "g" .. p[1], "i" .. p[1], "l" .. p[1], "n" .. p[1], "o" .. p[1], "o" .. p[2], "o" .. p[3], "s" .. p[1], "t" .. p[1], "u" .. p[1], "u" .. p[2], "u" .. p[3], "z" .. p[1],
}
},
},
standard_chars = {
Latn = "AaÁáBbCcDdEeÉéFfGgHhIiÍíJjKkLlMmNnOoÓóÖöŐőPpQqRrSsTtUuÚúÜüŰűVvWwXxYyZz",
c.punc
},
}
m["hy"] = {
"Armenian",
8785,
"hyx",
"Armn, Brai",
ancestors = "axm",
-- Armn translit in [[Module:scripts/data]]
override_translit = true,
strip_diacritics = {
Armn = {
remove_diacritics = "՛՜՞՟",
from = {"եւ", "<sup>յ</sup>", "<sup>ի</sup>", "<sup>է</sup>", "յ̵", "ՙ", "՚"},
to = {"և", "յ", "ի", "է", "ֈ", "ʻ", "’"}
},
},
sort_key = {
Armn = {
from = {
"ու", "եւ", -- 2 chars
"և" -- 1 char
},
to = {
"ւ", "եվ",
"եվ"
}
},
},
}
m["hz"] = {
"Herero",
33315,
"bnt-swb",
"Latn",
}
m["ia"] = {
"Interlingua",
35934,
"art",
"Latn",
}
m["id"] = {
"Indonesian",
9240,
"poz-mly",
"Latn",
ancestors = "ms",
standard_chars = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz" .. c.punc,
}
m["ie"] = {
"Interlingue",
35850,
"art",
"Latn",
type = "appendix-constructed",
strip_diacritics = {remove_diacritics = c.grave .. c.acute .. c.circ},
}
m["ig"] = {
"Igbo",
33578,
"alv-igb",
"Latn",
strip_diacritics = {remove_diacritics = c.grave .. c.acute .. c.macron},
sort_key = {
from = {"gb", "gh", "gw", "ị", "kp", "kw", "ṅ", "nw", "ny", "ọ", "sh", "ụ"},
to = {"g" .. p[1], "g" .. p[2], "g" .. p[3], "i" .. p[1], "k" .. p[1], "k" .. p[2], "n" .. p[1], "n" .. p[2], "n" .. p[3], "o" .. p[1], "s" .. p[1], "u" .. p[1]}
},
}
m["ii"] = {
"Nuosu",
34235,
"tbq-nlo",
"Yiii",
translit = "ii-translit",
}
m["ik"] = {
"Inupiaq",
27183,
"esx-inu",
"Latn",
sort_key = {
from = {
"ch", "ġ", "dj", "ḷ", "ł̣", "ñ", "ng", "r̂", "sr", "zr", -- 2 chars
"ł", "ŋ", "ʼ" -- 1 char
},
to = {
"c" .. p[1], "g" .. p[1], "h" .. p[1], "l" .. p[1], "l" .. p[3], "n" .. p[1], "n" .. p[2], "r" .. p[1], "s" .. p[1], "z" .. p[1],
"l" .. p[2], "n" .. p[2], "z" .. p[2]
}
},
}
m["io"] = {
"Ido",
35224,
"art",
"Latn",
}
m["is"] = {
"Icelandic",
294,
"gmq-ins",
"Latn",
sort_key = {
from = {"á", "ð", "é", "í", "ó", "ú", "ý", "þ", "æ", "ö"},
to = {"a" .. p[1], "d" .. p[1], "e" .. p[1], "i" .. p[1], "o" .. p[1], "u" .. p[1], "y" .. p[1], "z" .. p[1], "z" .. p[2], "z" .. p[3]}
},
standard_chars = "AaÁáBbDdÐðEeÉéFfGgHhIiÍíJjKkLlMmNnOoÓóPpRrSsTtUuÚúVvXxYyÝýÞþÆæÖö" .. c.punc,
}
m["it"] = {
"Italian",
652,
"roa-itr",
"Latn",
ancestors = "roa-oit",
sort_key = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.diaer .. c.ringabove},
standard_chars = "AaÀàBbCcDdEeÈèÉéFfGgHhIiÌìLlMmNnOoÒòPpQqRrSsTtUuÙùVvZz" .. c.punc,
}
m["iu"] = {
"Inuktitut",
29921,
"esx-inu",
"Cans, Latn",
translit = {
Cans = "cr-translit"
},
override_translit = true,
}
m["ja"] = {
"Japanese",
5287,
"jpx",
"Jpan, Latn, Brai",
ancestors = "ja-ear",
translit = s["jpx-translit"],
link_tr = true,
display_text = s["jpx-displaytext"],
strip_diacritics = s["jpx-stripdiacritics"],
sort_key = s["jpx-sortkey"],
}
m["jv"] = {
"Javanese",
33549,
"poz",
"Latn, Java, Arab",
ancestors = "kaw",
translit = {
Java = "jv-translit"
},
link_tr = true,
strip_diacritics = {
Latn = {remove_diacritics = c.circ} -- Modern jv don't use ê
},
sort_key = {
Latn = {
from = {"å", "dh", "é", "è", "ng", "ny", "th"},
to = {"a" .. p[1], "d" .. p[1], "e" .. p[1], "e" .. p[2], "n" .. p[1], "n" .. p[2], "t" .. p[1]}
},
},
}
m["ka"] = {
"Georgian",
8108,
"ccs-gzn",
"Geor, Geok, Hebr", -- Hebr is used to write Judeo-Georgian
ancestors = "ka-mid",
-- Geor, Geok translit in [[Module:scripts/data]]
override_translit = true,
strip_diacritics = {
Geor = s["ka-stripdiacritics"],
Geok = s["ka-stripdiacritics"],
},
-- Hebr display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["kg"] = {
"Kongo",
33702,
"bnt-kng",
"Latn",
}
m["ki"] = {
"Kikuyu",
33587,
"bnt-kka",
"Latn",
}
m["kj"] = {
"Kwanyama",
1405077,
"bnt-ova",
"Latn",
}
m["kk"] = {
"Kazakh",
9252,
"trk-kno",
"Cyrl, Latn, kk-Arab",
translit = {
Cyrl = {
from = {
"Ё", "ё", "Й", "й", "Нг", "нг", "Ӯ", "ӯ", -- 2 chars; are "Ӯ" and "ӯ" actually used?
"А", "а", "Ә", "ә", "Б", "б", "В", "в", "Г", "г", "Ғ", "ғ", "Д", "д", "Е", "е", "Ж", "ж", "З", "з", "И", "и", "К", "к", "Қ", "қ", "Л", "л", "М", "м", "Н", "н", "Ң", "ң", "О", "о", "Ө", "ө", "П", "п", "Р", "р", "С", "с", "Т", "т", "У", "у", "Ұ", "ұ", "Ү", "ү", "Ф", "ф", "Х", "х", "Һ", "һ", "Ц", "ц", "Ч", "ч", "Ш", "ш", "Щ", "щ", "Ъ", "ъ", "Ы", "ы", "І", "і", "Ь", "ь", "Э", "э", "Ю", "ю", "Я", "я", -- 1 char
},
to = {
"E", "e", "İ", "i", "Ñ", "ñ", "U", "u",
"A", "a", "Ä", "ä", "B", "b", "V", "v", "G", "g", "Ğ", "ğ", "D", "d", "E", "e", "J", "j", "Z", "z", "İ", "i", "K", "k", "Q", "q", "L", "l", "M", "m", "N", "n", "Ñ", "ñ", "O", "o", "Ö", "ö", "P", "p", "R", "r", "S", "s", "T", "t", "U", "u", "Ū", "ū", "Ü", "ü", "F", "f", "X", "x", "H", "h", "S", "s", "Ç", "ç", "Ş", "ş", "Ş", "ş", "", "", "Y", "y", "I", "ı", "", "", "É", "é", "Ü", "ü", "Ä", "ä",
}
}
},
-- override_translit = true,
sort_key = {
Cyrl = {
from = {"ә", "ғ", "ё", "қ", "ң", "ө", "ұ", "ү", "һ", "і"},
to = {"а" .. p[1], "г" .. p[1], "е" .. p[1], "к" .. p[1], "н" .. p[1], "о" .. p[1], "у" .. p[1], "у" .. p[2], "х" .. p[1], "ы" .. p[1]}
},
},
standard_chars = {
Cyrl = "АаӘәБбВвГгҒғДдЕеЁёЖжЗзИиЙйКкҚқЛлМмНнҢңОоӨөПпРрСсТтУуҰұҮүФфХхҺһЦцЧчШшЩщЪъЫыІіЬьЭэЮюЯя",
c.punc
},
}
m["kl"] = {
"Greenlandic",
25355,
"esx-inu",
"Latn",
sort_key = {
from = {"æ", "ø", "å"},
to = {"z" .. p[1], "z" .. p[2], "z" .. p[3]}
}
}
m["km"] = {
"Khmer",
9205,
"mkh-kmr",
"Khmr",
ancestors = "xhm",
translit = "km-translit",
}
m["kn"] = {
"Kannada",
33673,
"dra-kan",
"Knda, Tutg",
ancestors = "dra-mkn",
-- Knda translit in [[Module:scripts/data]]
}
m["ko"] = {
"Korean",
9176,
"qfa-kor",
"Kore, Brai",
ancestors = "ko-ear",
translit = {
Kore = "ko-translit",
},
-- Kore strip_diacritics in [[Module:scripts/data]]
}
m["kr"] = {
"Kanuri",
36094,
"ssa-sah",
"Latn, Arab",
-- the sortkey and strip_diacritics are only for standard Kanuri; when dialectal entries get added, someone will have to work out how the dialects should be represented orthographically
strip_diacritics = {
Latn = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.breve}
},
sort_key = {
Latn = {
from = {"ǝ", "ny", "ɍ", "sh"},
to = {"e" .. p[1], "n" .. p[1], "r" .. p[1], "s" .. p[1]}
},
},
}
m["ks"] = {
"Kashmiri",
33552,
"inc-kas",
"ks-Arab, Deva, Shrd, Latn",
translit = {
["ks-Arab"] = "ks-Arab-translit",
Deva = "ks-Deva-translit",
-- Shrd translit in [[Module:scripts/data]]
},
}
-- "kv" is treated as "koi", "kpv", see [[WT:LT]]
m["kw"] = {
"Cornish",
25289,
"cel-brs",
"Latn",
ancestors = "cnx",
sort_key = {
from = {"ch"},
to = {"c" .. p[1]}
},
}
m["ky"] = {
"Kyrgyz",
9255,
"trk-kkp",
"Cyrl, Latn, Arab",
translit = {
Cyrl = "ky-translit"
},
override_translit = true,
sort_key = {
Cyrl = {
from = {"ё", "ң", "ө", "ү"},
to = {"е" .. p[1], "н" .. p[1], "о" .. p[1], "у" .. p[1]}
},
},
}
m["la"] = {
"Latin",
397,
"itc-laf",
"Latn, Ital",
ancestors = "itc-ola",
-- Ital translit in [[Module:scripts/data]] (NOTE: formerly not present, probably an accidental omission)
display_text = {
Latn = s["itc-Latn-displaytext"]
},
strip_diacritics = {
Latn = s["itc-Latn-stripdiacritics"]
},
sort_key = {
Latn = s["itc-Latn-sortkey"]
},
standard_chars = {
Latn = "AaBbCcDdEeFfGgHhIiLlMmNnOoPpQqRrSsTtUuVvXx",
c.punc
},
}
m["lb"] = {
"Luxembourgish",
9051,
"gmw-hgm",
"Latn, Brai",
ancestors = "gmw-cfr",
sort_key = {
Latn = {
from = {"ä", "ë", "é"},
to = {"z" .. p[1], "z" .. p[2], "z" .. p[3]}
},
},
}
m["lg"] = {
"Luganda",
33368,
"bnt-nyg",
"Latn",
strip_diacritics = {remove_diacritics = c.acute .. c.circ},
sort_key = {
from = {"ŋ"},
to = {"n" .. p[1]}
},
}
m["li"] = {
"Limburgish",
102172,
"gmw-frk",
"Latn",
ancestors = "dum",
}
m["ln"] = {
"Lingala",
36217,
"bnt-bmo",
"Latn",
sort_key = {
remove_diacritics = c.acute .. c.circ .. c.caron,
from = {"ɛ", "gb", "mb", "mp", "nd", "ng", "nk", "ns", "nt", "ny", "nz", "ɔ"},
to = {"e" .. p[1], "g" .. p[1], "m" .. p[1], "m" .. p[2], "n" .. p[1], "n" .. p[2], "n" .. p[3], "n" .. p[4], "n" .. p[5], "n" .. p[6], "n" .. p[7], "o" .. p[1]}
},
}
m["lo"] = {
"Lao",
9211,
"tai-swe",
"Laoo", -- also Tai Noi/Lao Buhan script
translit = "lo-translit",
sort_key = "Laoo-sortkey",
standard_chars = "0-9ກຂຄງຈຊຍດຕຖທນບປຜຝພຟມຢຣລວສຫອຮຯ-ໝ" .. c.punc,
}
m["lt"] = {
"Lithuanian",
9083,
"bat-eas",
"Latn",
ancestors = "olt",
display_text = "lt-common",
strip_diacritics = "lt-common",
sort_key = "lt-common",
standard_chars = "AaĄąBbCcČčDdEeĘęĖėFfGgHhIiĮįYyJjKkLlMmNnOoPpRrSsŠšTtUuŲųŪūVvZzŽž" .. c.punc,
}
m["lu"] = {
"Luba-Katanga",
36157,
"bnt-lub",
"Latn",
}
m["lv"] = {
"Latvian",
9078,
"bat-eas",
"Latn",
strip_diacritics = {
-- This attempts to convert vowels with tone marks to vowels either with or without macrons. Specifically, there should be no macrons if the vowel is part of a diphthong (including resonant diphthongs such pìrksts -> pirksts not #pīrksts). What we do is first convert the vowel + tone mark to a vowel + tilde in a decomposed fashion, then remove the tilde in diphthongs, then convert the remaining vowel + tilde sequences to macroned vowels, then delete any other tilde. We leave already-macroned vowels alone: Both e.g. ar and ār occur before consonants. FIXME: This still might not be sufficient.
from = {"([Ee])" .. c.cedilla, "[" .. c.grave .. c.circ .. c.tilde .."]", "([aAeEiIoOuU])" .. c.tilde .."?([lrnmuiLRNMUI])" .. c.tilde .. "?([^aAeEiIoOuU])", "([aAeEiIoOuU])" .. c.tilde .."?([lrnmuiLRNMUI])" .. c.tilde .."?$", "([iI])" .. c.tilde .. "?([eE])" .. c.tilde .. "?", "([aAeEiIuU])" .. c.tilde, c.tilde},
to = {"%1", c.tilde, "%1%2%3", "%1%2", "%1%2", "%1" .. c.macron}
},
sort_key = {
from = {"ā", "č", "ē", "ģ", "ī", "ķ", "ļ", "ņ", "š", "ū", "ž"},
to = {"a" .. p[1], "c" .. p[1], "e" .. p[1], "g" .. p[1], "i" .. p[1], "k" .. p[1], "l" .. p[1], "n" .. p[1], "s" .. p[1], "u" .. p[1], "z" .. p[1]}
},
standard_chars = "AaĀāBbCcČčDdEeĒēFfGgĢģHhIiĪīJjKkĶķLlĻļMmNnŅņOoPpRrSsŠšTtUuŪūVvZzŽž" .. c.punc,
}
m["mg"] = {
"Malagasy",
7930,
"poz-bre",
"Latn, Arab",
}
m["mh"] = {
"Marshallese",
36280,
"poz-mic",
"Latn",
sort_key = {
from = {"ā", "ļ", "m̧", "ņ", "n̄", "o̧", "ō", "ū"},
to = {"a" .. p[1], "l" .. p[1], "m" .. p[1], "n" .. p[1], "n" .. p[2], "o" .. p[1], "o" .. p[2], "u" .. p[1]}
},
}
m["mi"] = {
"Māori",
36451,
"poz-pep",
"Latn",
sort_key = {
remove_diacritics = c.macron,
from = {"ng", "wh"},
to = {"n" .. p[1], "w" .. p[1]}
},
}
m["mk"] = {
"Macedonian",
9296,
"zls",
"Cyrl, Polyt",
ancestors = "cu",
translit = {
Cyrl = "mk-translit",
-- FIXME: formerly no translit specified for Polyt; unclear if the default [[Module:grc-translit]] is
-- acceptable, so we disable it for now
Polyt = false,
},
strip_diacritics = {
Cyrl = {
remove_diacritics = c.acute,
remove_exceptions = {"Ѓ", "ѓ", "Ќ", "ќ"}
},
},
sort_key = {
Cyrl = {
remove_diacritics = c.grave,
remove_exceptions = {"ѓ", "ќ"},
from = {"ѓ", "ѕ", "ј", "љ", "њ", "ќ", "џ"},
to = {"д" .. p[1], "з" .. p[1], "и" .. p[1], "л" .. p[1], "н" .. p[1], "т" .. p[1], "ч" .. p[1]}
},
},
-- Polyt display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
standard_chars = {
Cyrl = "АаБбВвГгДдЃѓЕеЖжЗзЅѕИиЈјКкЛлЉљМмНнЊњОоПпРрСсТтЌќУуФфХхЦцЧчЏџШш",
c.punc
},
}
m["ml"] = {
"Malayalam",
36236,
"dra-mal",
"Mlym",
override_translit = true,
-- Mlym translit in [[Module:scripts/data]]
}
m["mn"] = {
"Mongolian",
9246,
"xgn-cen",
"Cyrl, Mong, Latn, Brai",
ancestors = "cmg",
translit = {
Cyrl = "mn-translit",
-- Mong translit in [[Module:scripts/data]]
},
override_translit = true,
-- Mong display_text and strip_diacritics in [[Module:scripts/data]]
strip_diacritics = {
Cyrl = {remove_diacritics = c.grave .. c.acute},
},
sort_key = {
Cyrl = {
remove_diacritics = c.grave,
from = {"ё", "ө", "ү"},
to = {"е" .. p[1], "о" .. p[1], "у" .. p[1]}
},
},
standard_chars = {
Cyrl = "АаБбВвГгДдЕеЁёЖжЗзИиЙйЛлМмНнОоӨөРрСсТтУуҮүХхЦцЧчШшЫыЬьЭэЮюЯя—",
Brai = c.braille,
c.punc
},
}
-- "mo" is treated as "ro", see [[WT:LT]]
m["mr"] = {
"Marathi",
1571,
"inc-sou",
"Deva, Modi",
ancestors = "omr",
translit = {
Deva = "mr-translit",
Modi = "mr-Modi-translit",
},
strip_diacritics = {
Deva = {
from = {"च़", "ज़", "झ़"},
to = {"च", "ज", "झ"}
},
},
}
m["ms"] = {
"Malay",
9237,
"poz-mly",
"Latn, ms-Arab",
ancestors = "ms-cla",
standard_chars = {
Latn = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz",
c.punc
},
}
m["mt"] = {
"Maltese",
9166,
"sem-arb",
"Latn",
display_text = {
from = {"'"},
to = {"’"}
},
strip_diacritics = {
from = {"’"},
to = {"'"},
},
ancestors = "sqr",
sort_key = {
from = {
"ċ", "ġ", "ż", -- Convert into PUA so that decomposed form does not get caught by the next step.
"([cgz])", -- Ensure "c" comes after "ċ", "g" comes after "ġ" and "z" comes after "ż".
"g" .. p[1] .. "ħ", -- "għ" after initial conversion of "g".
p[3], p[4], "ħ", "ie", p[5] -- Convert "ċ", "ġ", "ħ", "ie", "ż" into final output.
},
to = {
p[3], p[4], p[5],
"%1" .. p[1],
"g" .. p[2],
"c", "g", "h" .. p[1], "i" .. p[1], "z"
}
},
}
m["my"] = {
"Burmese",
9228,
"tbq-brm",
"Mymr",
ancestors = "obr",
translit = "my-translit",
override_translit = true,
sort_key = {
from = {"ျ", "ြ", "ွ", "ှ", "ဿ"},
to = {"္ယ", "္ရ", "္ဝ", "္ဟ", "သ္သ"}
},
}
m["na"] = {
"Nauruan",
13307,
"poz-mic",
"Latn",
}
m["nb"] = {
"Norwegian Bokmål",
25167,
"gmq",
"Latn",
wikimedia_codes = "no",
ancestors = "gmq-mno, da", -- da as an (but not the) ancestor of nb was agreed on - do not change without discussion
sort_key = s["no-sortkey"],
standard_chars = s["no-standardchars"],
}
m["nd"] = {
"Northern Ndebele",
35613,
"bnt-ngu",
"Latn",
strip_diacritics = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.macron .. c.caron},
}
m["ne"] = {
"Nepali",
33823,
"inc-pah",
"Deva, Newa",
translit = {
Deva = "ne-translit"
},
}
m["ng"] = {
"Ndonga",
33900,
"bnt-ova",
"Latn",
}
m["nl"] = {
"Dutch",
7411,
"gmw-frk",
"Latn, Brai",
ancestors = "dum",
sort_key = {
Latn = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.diaer .. c.ringabove .. c.cedilla .. "'"},
},
standard_chars = {
Latn = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzÄäËëÏïÖöÜü",
Brai = c.braille,
c.punc
},
}
m["nn"] = {
"Norwegian Nynorsk",
25164,
"gmq-wes",
"Latn",
ancestors = "gmq-mno",
strip_diacritics = {
remove_diacritics = c.grave .. c.acute,
},
sort_key = s["no-sortkey"],
standard_chars = s["no-standardchars"],
}
m["no"] = {
"Norwegian",
9043,
"gmq-wes",
"Latn",
ancestors = "gmq-mno",
sort_key = s["no-sortkey"],
standard_chars = s["no-standardchars"],
}
m["nr"] = {
"Southern Ndebele",
36785,
"bnt-ngu",
"Latn",
strip_diacritics = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.macron .. c.caron},
}
m["nv"] = {
"Navajo",
13310,
"apa",
"Latn, Brai",
sort_key = {
remove_diacritics = c.acute .. c.ogonek,
from = {
"chʼ", "tłʼ", "tsʼ", -- 3 chars
"ch", "dl", "dz", "gh", "hw", "kʼ", "kw", "sh", "tł", "ts", "zh", -- 2 chars
"ł", "ʼ" -- 1 char
},
to = {
"c" .. p[2], "t" .. p[2], "t" .. p[4],
"c" .. p[1], "d" .. p[1], "d" .. p[2], "g" .. p[1], "h" .. p[1], "k" .. p[1], "k" .. p[2], "s" .. p[1], "t" .. p[1], "t" .. p[3], "z" .. p[1],
"l" .. p[1], "z" .. p[2]
}
},
}
m["ny"] = {
"Chichewa",
33273,
"bnt-nys",
"Latn",
strip_diacritics = {remove_diacritics = c.acute .. c.circ},
sort_key = {
from = {"ng'"},
to = {"ng"}
},
}
m["oc"] = {
"Occitan",
14185,
"roa-ocr",
"Latn, Hebr",
ancestors = "pro",
sort_key = {
Latn = {
remove_diacritics = c.grave .. c.acute .. c.diaer .. c.cedilla,
from = {"([lns])·h"},
to = {"%1h"}
},
},
-- Hebr display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["oj"] = {
"Ojibwe",
33875,
"alg",
"Cans, Latn",
sort_key = {
Latn = {
from = {"aa", "ʼ", "ii", "oo", "sh", "zh"},
to = {"a" .. p[1], "h" .. p[1], "i" .. p[1], "o" .. p[1], "s" .. p[1], "z" .. p[1]}
},
},
}
m["om"] = {
"Oromo",
33864,
"cus-eas",
"Latn, Ethi",
}
m["or"] = {
"Odia",
33810,
"inc-eas",
"Orya",
ancestors = "inc-mor",
translit = "or-translit",
}
m["os"] = {
"Ossetian",
33968,
"xsc-sar",
"Cyrl, Geor, Latn",
ancestors = "oos",
translit = {
Cyrl = "os-translit",
-- Geor translit in [[Module:scripts/data]]
},
override_translit = true,
display_text = {
Cyrl = {
from = {"æ"},
to = {"ӕ"}
},
Latn = {
from = {"ӕ"},
to = {"æ"}
},
},
strip_diacritics = {
Cyrl = {
remove_diacritics = c.grave .. c.acute,
from = {"æ"},
to = {"ӕ"}
},
Latn = {
from = {"ӕ"},
to = {"æ"}
},
},
sort_key = {
Cyrl = {
from = {"ӕ", "гъ", "дж", "дз", "ё", "къ", "пъ", "тъ", "хъ", "цъ", "чъ"},
to = {"а" .. p[1], "г" .. p[1], "д" .. p[1], "д" .. p[2], "е" .. p[1], "к" .. p[1], "п" .. p[1], "т" .. p[1], "х" .. p[1], "ц" .. p[1], "ч" .. p[1]}
},
},
}
m["pa"] = {
"Punjabi",
58635,
"inc-pan",
"Guru, pa-Arab",
translit = {
Guru = "Guru-translit",
["pa-Arab"] = "pa-Arab-translit",
},
strip_diacritics = {
["pa-Arab"] = {
remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.nunghunna,
from = {"ݨ", "ࣇ"},
to = {"ن", "ل"}
},
},
}
m["pi"] = {
"Pali",
36727,
"inc-mid",
"Latn, Brah, Deva, Beng, Sinh, Mymr, Thai, Lana, Laoo, Khmr, Cakm", --and also Khom
ancestors = "sa",
translit = {
-- Brah translit in [[Module:scripts/data]]
Deva = "sa-translit",
Beng = "pi-translit",
Sinh = "si-translit",
Mymr = "pi-translit",
Thai = "pi-translit",
Lana = "pi-translit",
Laoo = "pi-translit",
Khmr = "pi-translit",
Cakm = "Cakm-translit",
},
strip_diacritics = {
Thai = {
from = {"ึ", u(0xF700), u(0xF70F)}, -- FIXME: Not clear what's going on with the PUA characters here.
to = {"ิํ", "ฐ", "ญ"}
},
Mymr = {
remove_diacritics = c.VS01,
},
},
sort_key = { -- FIXME: This needs to be converted into the current standardized format.
from = {"ā", "ī", "ū", "ḍ", "ḷ", "m[" .. c.dotabove .. c.dotbelow .. "]", "ṅ", "ñ", "ṇ", "ṭ", "([เโ])([ก-ฮ])", "([ເໂ])([ກ-ຮ])", "ᩔ", "ᩕ", "ᩖ", "ᩘ", "([ᨭ-ᨱ])ᩛ", "([ᨷ-ᨾ])ᩛ", "ᩤ", u(0xFE00), u(0x200D)},
to = {"a~", "i~", "u~", "d~", "l~", "m~", "n~", "n~~", "n~~~", "t~", "%2%1", "%2%1", "ᩈ᩠ᩈ", "᩠ᩁ", "᩠ᩃ", "ᨦ᩠", "%1᩠ᨮ", "%1᩠ᨻ", "ᩣ"}
},
}
m["pl"] = {
"Polish",
809,
"zlw-lch",
"Latn",
ancestors = "zlw-mpl",
sort_key = {
from = {"ą", "ć", "ę", "ł", "ń", "ó", "ś", "ź", "ż"},
to = {"a" .. p[1], "c" .. p[1], "e" .. p[1], "l" .. p[1], "n" .. p[1], "o" .. p[1], "s" .. p[1], "z" .. p[1], "z" .. p[2]}
},
standard_chars = "AaĄąBbCcĆćDdEeĘęFfGgHhIiJjKkLlŁłMmNnŃńOoÓóPpRrSsŚśTtUuWwYyZzŹźŻż" .. c.punc,
}
m["ps"] = {
"Pashto",
58680,
"ira-pat",
"ps-Arab",
strip_diacritics = {remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.zwarakay .. c.superalef},
}
m["pt"] = {
"Portuguese",
5146,
"roa-gap",
"Latn, Brai",
sort_key = {
Latn = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.macron .. c.diaer .. c.cedilla,
from = {"ª", "æ", "º", "œ"},
to = {"a", "ae", "o", "oe"}
},
},
standard_chars = {
Latn = "AaÁáÂâÃãBbCcÇçDdEeÉéÊêFfGgHhIiÍíJjLlMmNnOoÓóÔôÕõPpQqRrSsTtUuÚúVvXxZz",
Brai = c.braille,
c.punc
},
}
m["qu"] = {
"Quechua",
5218,
"qwe",
"Latn",
}
m["rm"] = {
"Romansh",
13199,
"roa-rhe",
ancestors = "rm-old",
"Latn",
sort_key = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.diaer .. c.small_e},
}
m["ro"] = {
"Romanian",
7913,
"roa-eas",
"Latn, Cyrl, Cyrs",
translit = {
Cyrl = "ro-translit"
},
sort_key = {
Latn = {
remove_diacritics = c.grave .. c.acute,
from = {"ă", "â", "î", "ș", "ț"},
to = {"a" .. p[1], "a" .. p[2], "i" .. p[1], "s" .. p[1], "t" .. p[1]}
},
Cyrl = {
from = {"ӂ"},
to = {"ж" .. p[1]}
},
},
-- Cyrs strip_diacritics, sort_key in [[Module:scripts/data]]; presumably not present
standard_chars = {
Latn = "AaĂăÂâBbCcDdEeFfGgHhIiÎîJjLlMmNnOoPpRrSsȘșTtȚțUuVvXxZz",
Cyrl = "АаБбВвГгДдЕеЖжӁӂЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЫыЬьЭэЮюЯя",
c.punc
},
}
m["ru"] = {
"Russian",
7737,
"zle",
"Cyrl, Brai",
ancestors = "zle-mru",
translit = {
Cyrl = "ru-translit"
},
display_text = {
Cyrl = {
from = {"'"},
to = {"’"}
},
},
strip_diacritics = {
Cyrl = {
remove_diacritics = c.grave .. c.acute .. c.diaer,
remove_exceptions = {"Ё", "ё", "Ѣ̈", "ѣ̈", "Я̈", "я̈"},
from = {"’"},
to = {"'"},
},
},
sort_key = {
Cyrl = {
remove_diacritics = c.grave .. c.acute .. c.diaer,
from = {
"і", "ѣ", "ѳ", "ѵ"
},
to = {
"и" .. p[1], "ь" .. p[1], "я" .. p[2], "я" .. p[3]
}
},
},
standard_chars = {
Cyrl = "АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя—",
Brai = c.braille,
(c.punc:gsub("'", "")) -- Exclude apostrophe.
},
}
m["rw"] = {
"Rwanda-Rundi",
3217514,
"bnt-glb",
"Latn",
strip_diacritics = {remove_diacritics = c.acute .. c.circ .. c.macron .. c.caron},
}
m["sa"] = {
"Sanskrit",
11059,
"inc",
"as-Beng, Bali, Beng, Bhks, Brah, Mymr, xwo-Mong, Deva, Gujr, Guru, Gran, Hani, Java, Kthi, Knda, Kawi, Khar, Khmr, Laoo, Mlym, mnc-Mong, Marc, Modi, Mong, Nand, Newa, Orya, Phag, Ranj, Saur, Shrd, Sidd, Sinh, Soyo, Lana, Takr, Taml, Tang, Telu, Thai, Tibt, Tutg, Tirh, Zanb", --and also Khom; script codes sorted by canonical name rather than code for [[MOD:sa-convert]]
translit = {
Beng = "sa-Beng-translit",
["as-Beng"] = "sa-Beng-translit",
-- Brah translit in [[Module:scripts/data]]
Deva = "sa-translit",
Gujr = "sa-Gujr-translit",
Guru = "sa-Guru-translit",
Java = "sa-Java-translit",
Kthi = "sa-Kthi-translit",
Khmr = "pi-translit",
Knda = "sa-Knda-translit",
Lana = "pi-translit",
Laoo = "pi-translit",
Mlym = "sa-Mlym-translit",
Modi = "sa-Modi-translit",
-- Mong, mnc-Mong, xwo-Mong translit in [[Module:scripts/data]]
-- NOTE: Formerly used xal-translit for transliterating xwo-Mong but that only handles Cyrillic; it has
-- code to transliterate xwo-Mong but it's broken so I've replaced it with the default xwo-translit.
Mymr = "pi-translit",
Orya = "sa-Orya-translit",
-- Shrd translit in [[Module:scripts/data]]
-- Sidd translit in [[Module:scripts/data]]
Sinh = "si-translit",
Taml = "sa-Taml-translit",
Telu = "sa-Telu-translit",
Thai = "pi-translit",
-- Tibt translit in [[Module:scripts/data]]
},
-- Mong display_text and strip_diacritics in [[Module:scripts/data]]
-- Tibt display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
strip_diacritics = {
Deva = s["sa-Deva-stripdiacritics"],
Mymr = {
remove_diacritics = c.VS01,
},
Thai = {
from = {"ึ", u(0xF700), u(0xF70F)}, -- FIXME: Not clear what's going on with the PUA characters here.
to = {"ิํ", "ฐ", "ญ"}
},
},
sort_key = {
Deva = s["sa-Deva-stripdiacritics"], -- until we have a proper Sanskrit sorting algorithm.
Lana = { -- Tai Tham
from = {"ᩔ", "ᩕ", "ᩖ", "ᩘ", "([ᨭ-ᨱ])ᩛ", "([ᨷ-ᨾ])ᩛ", "ᩤ"},
to = {"ᩈ᩠ᩈ", "᩠ᩁ", "᩠ᩃ", "ᨦ᩠", "%1᩠ᨮ", "%1᩠ᨻ", "ᩣ"},
},
Laoo = "Laoo-sortkey",
Latn = {
from = {"ā", "ī", "ū", "ḍ", "ḷ", "ḹ", "m[" .. c.dotabove .. c.dotbelow .. "]", "ṅ", "ñ", "ṇ", "ṛ", "ṝ", "ś", "ṣ", "ṭ"},
to = {"a~", "i~", "u~", "d~", "l~", "l~~", "m~", "n~", "n~~", "n~~~", "r~", "r~~", "s~", "s~~", "t~"},
},
Mymr = {
remove_diacritics = c.VS01,
},
Thai = "Thai-sortkey",
-- FIXME: The previous sort key which mixed all scripts removed ZWJ; I don't know which script(s) this was
-- intended for and there are no other languages which remove it in the sort key AFAIK. If it needs to be
-- removed, specify the script(s) it needs to be removed under or add handling for the "all" script that applies
-- regardless of script.
--all = {
-- remove_diacritics = c.ZWJ,
--},
},
}
m["sc"] = {
"Sardinian",
33976,
"roa-sou",
"Latn",
ancestors = "sc-old",
}
m["sd"] = {
"Sindhi",
33997,
"inc-snd",
"sd-Arab, Deva, Sind, Khoj",
translit = {
Sind = "Sind-translit",
["sd-Arab"] = "sd-Arab-translit"
},
strip_diacritics = {
["sd-Arab"] = {
remove_diacritics = c.kashida .. c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.superalef,
from = {"ٱ"},
to = {"ا"}
},
},
}
m["se"] = {
"Northern Sami",
33947,
"smi",
"Latn",
display_text = {
from = {"'"},
to = {"ˈ"}
},
strip_diacritics = {remove_diacritics = c.macron .. c.dotbelow .. "'ˈ"},
sort_key = {
from = {"á", "č", "đ", "ŋ", "š", "ŧ", "ž"},
to = {"a" .. p[1], "c" .. p[1], "d" .. p[1], "n" .. p[1], "s" .. p[1], "t" .. p[1], "z" .. p[1]}
},
standard_chars = "AaÁáBbCcČčDdĐđEeFfGgHhIiJjKkLlMmNnŊŋOoPpRrSsŠšTtŦŧUuVvZzŽž" .. c.punc,
}
m["sg"] = {
"Sango",
33954,
"crp",
"Latn",
ancestors = "ngb",
}
m["sh"] = {
"Serbo-Croatian",
9301,
"zls",
"Latn, Cyrl, Glag, Arab",
ietf_subtag = "hbs", -- ISO 639-3 code, since "sh" is deprecated from ISO 639-1
wikimedia_codes = "sh, bs, hr, sr",
strip_diacritics = {
Latn = {
remove_diacritics = c.grave .. c.acute .. c.tilde .. c.macron .. c.dgrave .. c.invbreve,
remove_exceptions = {"Ć", "ć", "Ś", "ś", "Ź", "ź"}
},
Cyrl = {
remove_diacritics = c.grave .. c.acute .. c.tilde .. c.macron .. c.dgrave .. c.invbreve,
remove_exceptions = {"З́", "з́", "С́", "с́"}
},
},
sort_key = {
Latn = {
remove_diacritics = c.grave .. c.acute .. c.tilde .. c.macron .. c.dgrave .. c.invbreve,
remove_exceptions = {"ć", "ś", "ź"},
from = {"č", "ć", "dž", "đ", "lj", "nj", "š", "ś", "ž", "ź"},
to = {"c" .. p[1], "c" .. p[2], "d" .. p[1], "d" .. p[2], "l" .. p[1], "n" .. p[1], "s" .. p[1], "s" .. p[2], "z" .. p[1], "z" .. p[2]}
},
Cyrl = {
remove_diacritics = c.grave .. c.acute .. c.tilde .. c.macron .. c.dgrave .. c.invbreve,
remove_exceptions = {"з́", "с́"},
from = {"ђ", "з́", "ј", "љ", "њ", "с́", "ћ", "џ"},
to = {"д" .. p[1], "з" .. p[1], "и" .. p[1], "л" .. p[1], "н" .. p[1], "с" .. p[1], "т" .. p[1], "ч" .. p[1]}
},
},
standard_chars = {
Latn = "AaBbCcČčĆćDdĐđEeFfGgHhIiJjKkLlMmNnOoPpRrSsŠšTtUuVvZzŽž",
Cyrl = "АаБбВвГгДдЂђЕеЖжЗзИиЈјКкЛлЉљМмНнЊњОоПпРрСсТтЋћУуФфХхЦцЧчЏџШш",
c.punc
},
}
m["si"] = {
"Sinhalese",
13267,
"inc-ins",
"Sinh",
translit = "si-translit",
override_translit = true,
}
m["sk"] = {
"Slovak",
9058,
"zlw",
"Latn",
ancestors = "zlw-osk",
sort_key = {remove_diacritics = c.acute .. c.circ .. c.diaer .. c.caron},
standard_chars = "AaÁáÄäBbCcČčDdĎďEeÉéFfGgHhIiÍíJjKkLlĹ弾MmNnŇňOoÓóÔôPpRrŔŕSsŠšTtŤťUuÚúVvYyÝýZzŽž" .. c.punc,
}
m["sl"] = {
"Slovene",
9063,
"zls",
"Latn",
strip_diacritics = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.macron .. c.dgrave .. c.invbreve .. c.dotbelow,
remove_exceptions = {"Ć", "ć", "Ǵ", "ǵ", "Ś", "ś", "Ź", "ź"},
from = {"Ə", "ə", "Ł", "ł"},
to = {"E", "e", "L", "l"},
},
sort_key = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.macron .. c.dotabove .. c.ringabove .. c.dgrave .. c.invbreve .. c.dotbelow .. c.ringbelow .. c.ogonek,
remove_exceptions = {"ć", "ǵ", "ś", "ź"},
from = {"ä", "č", "ć", "đ", "ə", "ë", "ǧ", "ǵ", "ï", "ł", "ö", "š", "ś", "ü", "ž", "ź"},
to = {"a" .. p[1], "c" .. p[1], "c" .. p[2], "d" .. p[1], "e", "e" .. p[1], "g" .. p[1], "g" .. p[2], "i" .. p[1], "l", "o" .. p[1], "s" .. p[1], "s" .. p[2], "u" .. p[1], "z" .. p[1], "z" .. p[2]},
},
standard_chars = "AaBbCcČčDdEeFfGgHhIiJjKkLlMmNnOoPpRrSsŠšTtUuVvZzŽž" .. c.punc,
}
m["sm"] = {
"Samoan",
34011,
"poz-pnp",
"Latn",
}
m["sn"] = {
"Shona",
34004,
"bnt-sho",
"Latn",
strip_diacritics = {remove_diacritics = c.acute},
}
m["so"] = {
"Somali",
13275,
"cus-som",
"Latn, Arab, Osma",
strip_diacritics = {
Latn = {remove_diacritics = c.grave .. c.acute .. c.circ}
},
}
m["sq"] = {
"Albanian",
8748,
"sqj",
"Latn, Grek, ota-Arab, Elba, Todr, Vith",
translit = {
Elba = "Elba-translit",
Vith = "Vith-translit",
},
-- Grek display_text, sort_key in [[Module:scripts/data]]
strip_diacritics = {
Latn = {
remove_diacritics = c.acute .. c.circ .. c.macron,
from = {'^[ie] (%w)', '^të (%w)'}, to = {'%1', '%1'},
},
Grek = { -- Diacritic removal from Grek-stripdiacritics excluded.
from = m_langdata.chars_substitutions["Grek-stripdiacritics"].from,
to = m_langdata.chars_substitutions["Grek-stripdiacritics"].to,
},
},
sort_key = {
Latn = {
remove_diacritics = c.acute .. c.circ .. c.macron .. c.tilde .. c.breve .. c.caron,
from = {'^[ie] (%w)', '^të (%w)', 'ç', 'dh', 'ë', 'gj', 'll', 'nj', 'rr', 'sh', 'th', 'xh', 'zh'},
to = {'%1', '%1', 'c'..p[1], 'd'..p[1], 'e'..p[1], 'g'..p[1], 'l'..p[1], 'n'..p[1], 'r'..p[1], 's'..p[1], 't'..p[1], 'x'..p[1], 'z'..p[1]},
}
-- TODO: Grek if the default sort key is unsuitable
},
standard_chars = {
Latn = "AaBbCcÇçDdEeËëFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvXxYyZz",
c.punc
},
}
m["ss"] = {
"Swazi",
34014,
"bnt-ngu",
"Latn",
strip_diacritics = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.macron .. c.caron},
}
m["st"] = {
"Sotho",
34340,
"bnt-sts",
"Latn",
strip_diacritics = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.macron .. c.caron},
}
m["su"] = {
"Sundanese",
34002,
"poz-msa",
"Latn, Sund, Arab",
ancestors = "osn",
translit = {
Sund = "Sund-translit"
},
}
m["sv"] = {
"Swedish",
9027,
"gmq-eas",
"Latn",
ancestors = "gmq-osw-lat",
sort_key = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.macron .. c.dacute .. c.caron .. c.cedilla .. "':",
remove_exceptions = {"å"},
from = {"ø", "æ", "œ", "ß", "å", "aͤ", "oͤ"},
to = {"o", "ae", "oe", "ss", "z" .. p[1], "ä", "ö"}
},
standard_chars = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpRrSsTtUuVvXxYyÅåÄäÖö" .. c.punc,
}
m["sw"] = {
"Swahili",
7838,
"bnt-swh",
"Latn, Arab",
sort_key = {
Latn = {
from = {"ng'"},
to = {"ng" .. p[1]}
},
},
}
m["ta"] = {
"Tamil",
5885,
"dra-tam",
"Taml",
ancestors = "ta-mid",
translit = "ta-translit",
override_translit = true,
}
m["te"] = {
"Telugu",
8097,
"dra-tel",
"Telu",
translit = "te-translit",
override_translit = true,
}
m["tg"] = {
"Tajik",
9260,
"ira-swi",
"Cyrl, fa-Arab, Latn",
ancestors = "fa-cls",
translit = {
Cyrl = "tg-translit"
},
override_translit = true,
strip_diacritics = {
Cyrl = s["tg-stripdiacritics"],
Latn = s["tg-stripdiacritics"],
},
sort_key = {
Cyrl = {
from = {"ғ", "ё", "ӣ", "қ", "ӯ", "ҳ", "ҷ"},
to = {"г" .. p[1], "е" .. p[1], "и" .. p[1], "к" .. p[1], "у" .. p[1], "х" .. p[1], "ч" .. p[1]}
},
},
}
m["th"] = {
"Thai",
9217,
"tai-swe",
"Thai, Khomt, Brai",
translit = {
Thai = "th-translit"
},
sort_key = {
Thai = "Thai-sortkey"
},
}
m["ti"] = {
"Tigrinya",
34124,
"sem-eth",
"Ethi",
translit = "Ethi-translit",
}
m["tk"] = {
"Turkmen",
9267,
"trk-ogz",
"Latn, Cyrl, Arab",
strip_diacritics = {
Latn = s["tk-stripdiacritics"],
Cyrl = s["tk-stripdiacritics"],
},
sort_key = {
Latn = {
from = {"ç", "ä", "ž", "ň", "ö", "ş", "ü", "ý"},
to = {"c" .. p[1], "e" .. p[1], "j" .. p[1], "n" .. p[1], "o" .. p[1], "s" .. p[1], "u" .. p[1], "y" .. p[1]}
},
Cyrl = {
from = {"ё", "җ", "ң", "ө", "ү", "ә"},
to = {"е" .. p[1], "ж" .. p[1], "н" .. p[1], "о" .. p[1], "у" .. p[1], "э" .. p[1]}
},
},
ancestors = "trk-eog",
}
m["tl"] = {
"Tagalog",
34057,
"phi",
"Latn, Tglg",
translit = {
Tglg = "tl-translit"
},
override_translit = true,
strip_diacritics = {
Latn = {remove_diacritics = c.grave .. c.acute .. c.circ}
},
standard_chars = {
Latn = "AaBbKkDdEeGgHhIiLlMmNnOoPpRrSsTtUuWwYy",
c.punc
},
sort_key = {
Latn = "tl-sortkey",
},
}
m["tn"] = {
"Tswana",
34137,
"bnt-sts",
"Latn",
}
m["to"] = {
"Tongan",
34094,
"poz-ton",
"Latn",
strip_diacritics = {remove_diacritics = c.acute},
sort_key = {remove_diacritics = c.macron},
}
m["tr"] = {
"Turkish",
256,
"trk-ogz",
"Latn",
ancestors = "ota",
dotted_dotless_i = true,
sort_key = {
from = {
-- Ignore circumflex, but account for capital Î wrongly becoming ı + circ due to dotted dotless I logic.
"ı" .. c.circ, c.circ,
"i", -- Ensure "i" comes after "ı".
"ç", "ğ", "ı", "ö", "ş", "ü"
},
to = {
"i", "",
"i" .. p[1],
"c" .. p[1], "g" .. p[1], "i", "o" .. p[1], "s" .. p[1], "u" .. p[1]
}
},
standard_chars = "AaÂâBbCcÇçDdEeFfGgĞğHhIıİiÎîJjKkLlMmNnOoÖöPpRrSsŞşTtUuÛûÜüVvYyZz" .. c.punc,
}
m["ts"] = {
"Tsonga",
34327,
"bnt-tsr",
"Latn",
}
m["tt"] = {
"Tatar",
25285,
"trk-kbu",
"Cyrl, Latn, tt-Arab",
translit = {
Cyrl = "tt-translit",
["tt-Arab"] = "tt-translit"
},
--override_translit = true, -- enable override until Module code can detect Russian loans such as [[аэропорт]]
dotted_dotless_i = true,
sort_key = {
Cyrl = {
from = {"ә", "ў", "ғ", "ё", "җ", "қ", "ң", "ө", "ү", "һ"},
to = {"а" .. p[1], "в" .. p[1], "г" .. p[1], "е" .. p[1], "ж" .. p[1], "к" .. p[1], "н" .. p[1], "о" .. p[1], "у" .. p[1], "х" .. p[1]}
},
Latn = {
from = {
"i", -- Ensure "i" comes after "ı".
"ä", "ə", "ç", "ğ", "ı", "ñ", "ŋ", "ö", "ɵ", "ş", "ü"
},
to = {
"i" .. p[1],
"a" .. p[1], "a" .. p[2], "c" .. p[1], "g" .. p[1], "i", "n" .. p[1], "n" .. p[2], "o" .. p[1], "o" .. p[2], "s" .. p[1], "u" .. p[1]
}
},
},
}
-- "tw" is treated as "ak", see [[WT:LT]]
m["ty"] = {
"Tahitian",
34128,
"poz-pep",
"Latn",
}
m["ug"] = {
"Uyghur",
13263,
"trk-kar",
"ug-Arab, Latn, Cyrl",
ancestors = "chg",
translit = {
["ug-Arab"] = "ug-translit",
Cyrl = "ug-translit",
},
override_translit = true,
}
m["uk"] = {
"Ukrainian",
8798,
"zle",
"Cyrl",
ancestors = "zle-muk",
translit = "uk-translit",
strip_diacritics = {remove_diacritics = c.grave .. c.acute},
sort_key = {
remove_diacritics = c.grave .. c.acute,
from = {
"ї", -- 2 chars
"ґ", "є", "і" -- 1 char
},
to = {
"и" .. p[2],
"г" .. p[1], "е" .. p[1], "и" .. p[1]
}
},
standard_chars = "АаБбВвГгДдЕеЄєЖжЗзИиІіЇїЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЬьЮюЯя" .. c.punc:gsub("'", ""), -- Exclude apostrophe.
}
m["ur"] = {
"Urdu",
1617,
"inc-hnd",
"ur-Arab, Hebr",
translit = {
["ur-Arab"] = "ur-translit"
},
strip_diacritics = {
["ur-Arab"] = {
-- character "ۂ" code U+06C2 to "ه" and "هٔ" (U+0647 + U+0654) to "ه"; hamzatu l-waṣli to a regular alif
from = {"هٔ", "ۂ", "ٱ"},
to = {"ہ", "ہ", "ا"},
remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.nunghunna .. c.superalef
},
},
-- Hebr display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
standard_chars = {
["ur-Arab"] = "ایببپتثجچحخدذرزژسشصضطظعغفقکگلࣇڷمنݨوؤہھئٹڈڑآے",
c.punc,
},
}
m["uz"] = {
"Uzbek",
9264,
"trk-kar",
"Latn, Cyrl, fa-Arab",
ancestors = "chg",
translit = {
Cyrl = "uz-translit"
},
sort_key = {
Latn = {
from = {"oʻ", "gʻ", "sh", "ch", "ng"},
to = {"z" .. p[1], "z" .. p[2], "z" .. p[3], "z" .. p[4], "z" .. p[5]}
},
Cyrl = {
from = {"ё", "ў", "қ", "ғ", "ҳ"},
to = {"е" .. p[1], "я" .. p[1], "я" .. p[2], "я" .. p[3], "я" .. p[4]}
},
},
strip_diacritics = {
["fa-Arab"] = "ar-stripdiacritics",
},
}
m["ve"] = {
"Venda",
32704,
"bnt-bso",
"Latn",
}
m["vi"] = {
"Vietnamese",
9199,
"mkh-vie",
"Latn, Hani",
ancestors = "mkh-mvi",
sort_key = {
Latn = "vi-sortkey",
Hani = "Hani-sortkey",
},
}
m["vo"] = {
"Volapük",
36986,
"art",
"Latn",
}
m["wa"] = {
"Walloon",
34219,
"roa-oil",
"Latn",
sort_key = s["roa-oil-sortkey"],
}
m["wo"] = {
"Wolof",
34257,
"alv-fwo",
"Latn, Arab, Gara",
}
m["xh"] = {
"Xhosa",
13218,
"bnt-ngu",
"Latn",
strip_diacritics = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.macron .. c.caron},
}
m["yi"] = {
"Yiddish",
8641,
"gmw-hgm",
"Hebr, Latn",
ancestors = "gmh",
translit = {
Hebr = "yi-translit",
},
-- Hebr display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["yo"] = {
"Yoruba",
34311,
"alv-yor",
"Latn, Arab",
strip_diacritics = {
Latn = {remove_diacritics = c.grave .. c.acute .. c.macron}
},
sort_key = {
Latn = {
from = {"ẹ", "ɛ", "gb", "ị", "kp", "ọ", "ɔ", "ṣ", "sh", "ụ"},
to = {"e" .. p[1], "e" .. p[1], "g" .. p[1], "i" .. p[1], "k" .. p[1], "o" .. p[1], "o" .. p[1], "s" .. p[1], "s" .. p[1], "u" .. p[1]}
},
},
}
m["za"] = {
"Zhuang",
13216,
"tai",
"Latn, Hani",
sort_key = {
Latn = "za-sortkey",
Hani = "Hani-sortkey",
},
}
m["zh"] = {
"Chinese",
7850,
"zhx",
"Hants, Latn, Bopo, Nshu, Brai",
ancestors = "ltc",
generate_forms = "zh-generateforms",
translit = {
Hani = "zh-translit",
Bopo = "zh-translit",
},
sort_key = {
Hani = "Hani-sortkey"
},
}
m["zu"] = {
"Zulu",
10179,
"bnt-ngu",
"Latn",
strip_diacritics = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.macron .. c.caron},
}
return require("Module:languages").finalizeData(m, "language")
0m6ennhmvoyt6gbvvrn6ae6qo3n5rac
234128
234127
2026-05-15T10:02:59Z
Pinthura
2424
භාෂා නාම සිංහලට පරිවර්තනය
234128
Scribunto
text/plain
local m_langdata = require("Module:languages/data")
-- Loaded on demand, as it may not be needed (depending on the data).
local function u(...)
u = require("Module:string utilities").char
return u(...)
end
local c = m_langdata.chars
local p = m_langdata.puaChars
local s = m_langdata.shared
-- Ideally, we want to move these into [[Module:languages/data]], but because (a) it's necessary to use require on that module, and (b) they're only used in this data module, it's less memory-efficient to do that at the moment. If it becomes possible to use mw.loadData, then these should be moved there.
s["de-Latn-sortkey"] = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.diaer .. c.ringabove,
from = {"æ", "œ", "ß"},
to = {"ae", "oe", "ss"}
}
s["de-Latn-standardchars"] = "AaÄäBbCcDdEeFfGgHhIiJjKkLlMmNnOoÖöPpQqRrSsẞßTtUuÜüVvWwXxYyZz"
s["ka-stripdiacritics"] = {remove_diacritics = c.circ}
s["no-sortkey"] = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.macron .. c.dacute .. c.caron .. c.cedilla,
remove_exceptions = {"å"},
from = {"æ", "ø", "å"},
to = {"z" .. p[1], "z" .. p[2], "z" .. p[3]}
}
s["no-standardchars"] = "AaBbDdEeFfGgHhIiJjKkLlMmNnOoPpRrSsTtUuVvYyÆæØøÅå" .. c.punc
s["sa-Deva-stripdiacritics"] = { -- Don't use remove_diacritics for accent marks, as १ and ३ should also be removed if (and only if) they carry any.
from = {"[१३]?[" .. c.anudatta .. c.udatta .. c.dsvarita .. c.tsvarita .. "]+"},
to = {""},
}
s["tg-stripdiacritics"] = {remove_diacritics = c.grave .. c.acute}
s["tk-stripdiacritics"] = {remove_diacritics = c.macron}
local m = {}
m["aa"] = {
"Afar",
27811,
"cus-eas",
"Latn, Ethi",
strip_diacritics = {
Latn = {remove_diacritics = c.acute},
},
}
m["ab"] = {
"Abkhaz",
5111,
"cau-abz",
"Cyrl, Geor, Latn",
translit = {
Cyrl = "ab-translit",
-- Geor translit in [[Module:scripts/data]]
},
override_translit = true,
display_text = {
Cyrl = s["cau-Cyrl-displaytext"]
},
strip_diacritics = {
Cyrl = {
remove_diacritics = c.acute,
from = {"^а%-"},
to = {"а"},
},
Latn = s["cau-Latn-stripdiacritics"],
},
sort_key = {
Cyrl = {
from = {
"х'ә", -- 3 chars
"гь", "гә", "ӷь", "ҕь", "ӷә", "ҕә", "дә", "ё", "жь", "жә", "ҙә", "ӡә", "ӡ'", "кь", "кә", "қь", "қә", "ҟь", "ҟә", "ҫә", "тә", "ҭә", "ф'", "хь", "хә", "х'", "ҳә", "ць", "цә", "ц'", "ҵә", "ҵ'", "шь", "шә", "џь", -- 2 chars
"ӷ", "ҕ", "ҙ", "ӡ", "қ", "ҟ", "ԥ", "ҧ", "ҫ", "ҭ", "ҳ", "ҵ", "ҷ", "ҽ", "ҿ", "ҩ", "џ", "ә", -- 1 char
"^а",
},
to = {
"х" .. p[4],
"г" .. p[1], "г" .. p[2], "г" .. p[5], "г" .. p[6], "г" .. p[7], "г" .. p[8], "д" .. p[1], "е" .. p[1], "ж" .. p[1], "ж" .. p[2], "з" .. p[2], "з" .. p[4], "з" .. p[5], "к" .. p[1], "к" .. p[2], "к" .. p[4], "к" .. p[5], "к" .. p[7], "к" .. p[8], "с" .. p[2], "т" .. p[1], "т" .. p[3], "ф" .. p[1], "х" .. p[1], "х" .. p[2], "х" .. p[3], "х" .. p[6], "ц" .. p[1], "ц" .. p[2], "ц" .. p[3], "ц" .. p[5], "ц" .. p[6], "ш" .. p[1], "ш" .. p[2], "ы" .. p[3],
"г" .. p[3], "г" .. p[4], "з" .. p[1], "з" .. p[3], "к" .. p[3], "к" .. p[6], "п" .. p[1], "п" .. p[2], "с" .. p[1], "т" .. p[2], "х" .. p[5], "ц" .. p[4], "ч" .. p[1], "ч" .. p[2], "ч" .. p[3], "ы" .. p[1], "ы" .. p[2], "ь" .. p[1],
"",
}
},
},
}
m["ae"] = {
"Avestan",
29572,
"ira-cen",
"Avst, Gujr, Deva",
translit = {
Avst = "Avst-translit"
},
}
m["af"] = {
"Afrikaans",
14196,
"gmw-frk",
"Latn, Arab",
ancestors = "nl",
sort_key = {
Latn = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.diaer .. c.ringabove .. c.cedilla .. "'",
from = {"['ʼ]n"},
to = {"n" .. p[1]}
}
},
}
m["ak"] = {
"Akan",
28026,
"alv-ctn",
"Latn",
}
m["am"] = {
"ඇම්හාරික්",
28244,
"sem-eth",
"Ethi",
translit = "Ethi-translit",
}
m["an"] = {
"Aragonese",
8765,
"roa-nar",
"Latn",
}
m["ar"] = {
"අරාබි",
13955,
"sem-arb",
"Arab, Hebr, Syrc, Brai, Nbat",
translit = {
Arab = "ar-translit"
},
strip_diacritics = {
Arab = "ar-stripdiacritics",
},
-- Hebr display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["as"] = {
"Assamese",
29401,
"inc-bas",
"as-Beng",
ancestors = "inc-mas",
translit = "as-translit",
}
m["av"] = {
"Avar",
29561,
"cau-ava",
"Cyrl, Latn, Arab",
ancestors = "oav",
translit = {
Cyrl = "cau-nec-translit",
Arab = "ar-translit",
},
override_translit = true,
display_text = {
Cyrl = s["cau-Cyrl-displaytext"],
},
strip_diacritics = {
Cyrl = s["cau-Cyrl-stripdiacritics"],
Latn = s["cau-Latn-stripdiacritics"],
},
sort_key = {
Cyrl = {
from = {"гъ", "гь", "гӏ", "ё", "кк", "къ", "кь", "кӏ", "лъ", "лӏ", "тӏ", "хх", "хъ", "хь", "хӏ", "цӏ", "чӏ"},
to = {"г" .. p[1], "г" .. p[2], "г" .. p[3], "е" .. p[1], "к" .. p[1], "к" .. p[2], "к" .. p[3], "к" .. p[4], "л" .. p[1], "л" .. p[2], "т" .. p[1], "х" .. p[1], "х" .. p[2], "х" .. p[3], "х" .. p[4], "ц" .. p[1], "ч" .. p[1]}
},
},
}
m["ay"] = {
"අයිමාරා",
4627,
"sai-aym",
"Latn",
}
m["az"] = {
"අසර්බයිජානි",
9292,
"trk-ogz",
"Latn, Cyrl, fa-Arab",
ancestors = "trk-oat",
dotted_dotless_i = true,
strip_diacritics = {
Latn = {
from = {"ʼ"},
to = {"'"},
},
["fa-Arab"] = {
module = "ar-stripdiacritics",
["from"] = {
"ۆ",
"ۇ",
"وْ",
"ڲ",
"ؽ",
},
["to"] = {
"و",
"و",
"و",
"گ",
"ی",
},
},
},
display_text = {
Latn = {
from = {"'"},
to = {"ʼ"}
}
},
sort_key = {
Latn = {
from = {
"i", -- Ensure "i" comes after "ı".
"ç", "ə", "ğ", "x", "ı", "q", "ö", "ş", "ü", "w"
},
to = {
"i" .. p[1],
"c" .. p[1], "e" .. p[1], "g" .. p[1], "h" .. p[1], "i", "k" .. p[1], "o" .. p[1], "s" .. p[1], "u" .. p[1], "z" .. p[1]
}
},
Cyrl = {
from = {"ғ", "ә", "ы", "ј", "ҝ", "ө", "ү", "һ", "ҹ"},
to = {"г" .. p[1], "е" .. p[1], "и" .. p[1], "и" .. p[2], "к" .. p[1], "о" .. p[1], "у" .. p[1], "х" .. p[1], "ч" .. p[1]}
},
},
}
m["ba"] = {
"Bashkir",
13389,
"trk-kbu",
"Cyrl",
translit = "ba-translit",
override_translit = true,
sort_key = {
from = {"ғ", "ҙ", "ё", "ҡ", "ң", "ө", "ҫ", "ү", "һ", "ә"},
to = {"г" .. p[1], "д" .. p[1], "е" .. p[1], "к" .. p[1], "н" .. p[1], "о" .. p[1], "с" .. p[1], "у" .. p[1], "х" .. p[1], "э" .. p[1]}
},
}
m["be"] = {
"බෙලරුසියානු",
9091,
"zle",
"Cyrl, Latn",
ancestors = "zle-mbe",
translit = {
Cyrl = "be-translit",
},
strip_diacritics = {
Cyrl = {
remove_diacritics = c.grave .. c.acute,
},
Latn = {
remove_diacritics = c.grave .. c.acute,
remove_exceptions = {"Ć", "ć", "Ń", "ń", "Ś", "ś", "Ź", "ź"},
},
},
sort_key = {
Cyrl = {
remove_diacritics = c.grave .. c.acute,
from = {"ґ", "ё", "і", "ў"},
to = {"г" .. p[1], "е" .. p[1], "и" .. p[1], "у" .. p[1]}
},
Latn = {
remove_diacritics = c.grave .. c.acute,
remove_exceptions = {"Ć", "ć", "Ń", "ń", "Ś", "ś", "Ź", "ź"},
from = {"ć", "č", "dz", "dź", "dž", "ch", "ł", "ń", "ś", "š", "ŭ", "ź", "ž"},
to = {"c" .. p[1], "c" .. p[2], "d" .. p[1], "d" .. p[2], "d" .. p[3], "h" .. p[1], "l" .. p[1], "n" .. p[1], "s" .. p[1], "s" .. p[2], "u" .. p[1], "z" .. p[1], "z" .. p[2]}
},
},
standard_chars = {
Cyrl = "АаБбВвГгДдЕеЁёЖжЗзІіЙйКкЛлМмНнОоПпРрСсТтУуЎўФфХхЦцЧчШшЫыЬьЭэЮюЯя",
Latn = "AaBbCcĆćČčDdEeFfGgHhIiJjKkLlŁłMmNnŃńOoPpRrSsŚśŠšTtUuŬŭVvYyZzŹźŽž",
(c.punc:gsub("'", "")) -- Exclude apostrophe.
},
}
m["bg"] = {
"බල්ගේරියානු",
7918,
"zls",
"Cyrl",
ancestors = "cu-bgm",
translit = "bg-translit",
strip_diacritics = {
remove_diacritics = c.grave .. c.acute,
remove_exceptions = {"%f[^%z%s]ѝ%f[%z%s]"},
},
sort_key = {
remove_diacritics = c.grave .. c.acute,
remove_exceptions = {"%f[^%z%s]ѝ%f[%z%s]"},
},
standard_chars = "АаБбВвГгДдЕеЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЬьЮюЯя" .. c.punc,
}
m["bh"] = {
"බිහාරී",
135305,
"inc-eas",
"Deva",
}
m["bi"] = {
"Bislama",
35452,
"crp",
"Latn",
ancestors = "en",
}
m["bm"] = {
"Bambara",
33243,
"dmn-emn",
"Latn, Nkoo",
sort_key = {
Latn = {
from = {"ɛ", "ɲ", "ŋ", "ɔ"},
to = {"e" .. p[1], "n" .. p[1], "n" .. p[2], "o" .. p[1]}
},
},
}
m["bn"] = {
"බෙංගාලි",
9610,
"inc-bas",
"Beng, Newa",
ancestors = "inc-mbn",
translit = {
Beng = "bn-translit"
},
}
m["bo"] = {
"ටිබෙට්",
34271,
"sit-tib",
"Tibt", -- sometimes Deva?
ancestors = "xct",
override_translit = true,
-- Tibt translit, display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["br"] = {
"බ්රෙටන්",
12107,
"cel-brs",
"Latn",
ancestors = "xbm",
sort_key = {
from = {"ch", "c['ʼ’]h"},
to = {"c" .. p[1], "c" .. p[2]}
},
}
m["ca"] = {
"Catalan",
7026,
"roa-ocr",
"Latn",
ancestors = "roa-oca",
sort_key = {remove_diacritics = c.grave .. c.acute .. c.diaer .. c.cedilla .. "·"},
standard_chars = "AaÀàBbCcÇçDdEeÉéÈèFfGgHhIiÍíÏïJjLlMmNnOoÓóÒòPpQqRrSsTtUuÚúÜüVvXxYyZz·" .. c.punc,
}
m["ce"] = {
"Chechen",
33350,
"cau-vay",
"Cyrl, Latn, Arab",
translit = {
Cyrl = "cau-nec-translit",
Arab = "ar-translit",
},
override_translit = true,
display_text = {
Cyrl = s["cau-Cyrl-displaytext"]
},
strip_diacritics = {
Cyrl = s["cau-Cyrl-stripdiacritics"],
Latn = s["cau-Latn-stripdiacritics"],
},
sort_key = {
Cyrl = {
from = {"аь", "гӏ", "ё", "кх", "къ", "кӏ", "оь", "пӏ", "тӏ", "уь", "хь", "хӏ", "цӏ", "чӏ", "юь", "яь"},
to = {"а" .. p[1], "г" .. p[1], "е" .. p[1], "к" .. p[1], "к" .. p[2], "к" .. p[3], "о" .. p[1], "п" .. p[1], "т" .. p[1], "у" .. p[1], "х" .. p[1], "х" .. p[2], "ц" .. p[1], "ч" .. p[1], "ю" .. p[1], "я" .. p[1]}
},
},
}
m["ch"] = {
"Chamorro",
33262,
"poz",
"Latn",
sort_key = {
remove_diacritics = "'",
from = {"å", "ch", "ñ", "ng"},
to = {"a" .. p[1], "c" .. p[1], "n" .. p[1], "n" .. p[2]}
},
}
m["co"] = {
"Corsican",
33111,
"roa-itr",
"Latn",
sort_key = {
from = {"chj", "ghj", "sc", "sg"},
to = {"c" .. p[1], "g" .. p[1], "s" .. p[1], "s" .. p[2]}
},
standard_chars = "AaÀàBbCcDdEeÈèFfGgHhIiÌìÏïJjLlMmNnOoÒòPpQqRrSsTtUuÙùÜüVvZz" .. c.punc,
}
m["cr"] = {
"Cree",
33390,
"alg",
"Latn, Cans",
translit = {
Cans = "cr-translit"
},
}
m["cs"] = {
"චෙක්",
9056,
"zlw",
"Latn",
ancestors = "cs-ear",
sort_key = {
from = {"á", "č", "ď", "é", "ě", "ch", "í", "ň", "ó", "ř", "š", "ť", "ú", "ů", "ý", "ž"},
to = {"a" .. p[1], "c" .. p[1], "d" .. p[1], "e" .. p[1], "e" .. p[2], "h" .. p[1], "i" .. p[1], "n" .. p[1], "o" .. p[1], "r" .. p[1], "s" .. p[1], "t" .. p[1], "u" .. p[1], "u" .. p[2], "y" .. p[1], "z" .. p[1]}
},
standard_chars = "AaÁáBbCcČčDdĎďEeÉéĚěFfGgHhIiÍíJjKkLlMmNnŇňOoÓóPpRrŘřSsŠšTtŤťUuÚúŮůVvYyÝýZzŽž" .. c.punc,
}
m["cu"] = {
"Old Church Slavonic",
35499,
"zls",
"Cyrs, Glag, Zname",
translit = {
Cyrs = "Cyrs-translit",
Glag = "Glag-translit"
},
-- Cyrs strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["cv"] = {
"Chuvash",
33348,
"trk-ogr",
"Cyrl",
ancestors = "cv-mid",
translit = "cv-translit",
override_translit = true,
sort_key = {
from = {"ӑ", "ё", "ӗ", "ҫ", "ӳ"},
to = {"а" .. p[1], "е" .. p[1], "е" .. p[2], "с" .. p[1], "у" .. p[1]}
},
}
m["cy"] = {
"වේල්ස",
9309,
"cel-brw",
"Latn",
ancestors = "wlm",
sort_key = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.diaer .. "'",
from = {"ch", "dd", "ff", "ng", "ll", "ph", "rh", "th"},
to = {"c" .. p[1], "d" .. p[1], "f" .. p[1], "g" .. p[1], "l" .. p[1], "p" .. p[1], "r" .. p[1], "t" .. p[1]}
},
standard_chars = "ÂâAaBbCcDdEeÊêFfGgHhIiÎîLlMmNnOoÔôPpRrSsTtUuÛûWwŴŵYyŶŷ" .. c.punc,
}
m["da"] = {
"ඩෙන්මාර්ක",
9035,
"gmq-eas",
"Latn",
ancestors = "gmq-oda",
sort_key = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.macron .. c.dacute .. c.caron .. c.cedilla,
remove_exceptions = {"å"},
from = {"æ", "ø", "å"},
to = {"z" .. p[1], "z" .. p[2], "z" .. p[3]}
},
standard_chars = "AaBbDdEeFfGgHhIiJjKkLlMmNnOoPpRrSsTtUuVvYyÆæØøÅå" .. c.punc,
}
m["de"] = {
"ජර්මානු",
188,
"gmw-hgm",
"Latn, Latf, Brai",
ancestors = "de-ear",
sort_key = {
Latn = s["de-Latn-sortkey"],
Latf = s["de-Latn-sortkey"],
},
standard_chars = {
Latn = s["de-Latn-standardchars"],
Latf = s["de-Latn-standardchars"],
Brai = c.braille,
c.punc
}
}
m["dv"] = {
"දිවෙහි",
32656,
"inc-ins",
"Thaa, Diak",
translit = {
Thaa = "dv-translit",
Diak = "Diak-translit",
},
ancestors = "dv-old",
override_translit = true,
}
m["dz"] = {
"Dzongkha",
33081,
"sit-tib",
"Tibt",
ancestors = "xct",
override_translit = true,
-- Tibt translit, display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["ee"] = {
"Ewe",
30005,
"alv-gbe",
"Latn",
sort_key = {
remove_diacritics = c.tilde,
from = {"ɖ", "dz", "ɛ", "ƒ", "gb", "ɣ", "kp", "ny", "ŋ", "ɔ", "ts", "ʋ"},
to = {"d" .. p[1], "d" .. p[2], "e" .. p[1], "f" .. p[1], "g" .. p[1], "g" .. p[2], "k" .. p[1], "n" .. p[1], "n" .. p[2], "o" .. p[1], "t" .. p[1], "v" .. p[1]}
},
}
m["el"] = {
"ග්රීක",
9129,
"grk",
"Grek, Polyt, Brai",
ancestors = "el-kth",
translit = "el-translit",
override_translit = true,
-- Grek and Polyt display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
standard_chars = {
Grek = "΅·ͺ΄ΑαΆάΒβΓγΔδΕεέΈΖζΗηΉήΘθΙιΊίΪϊΐΚκΛλΜμΝνΞξΟοΌόΠπΡρΣσςΤτΥυΎύΫϋΰΦφΧχΨψΩωΏώ",
Brai = c.braille,
c.punc
},
}
m["en"] = {
"ඉංග්රීසි",
1860,
"gmw-ang",
"Latn, Brai, Shaw, Dsrt", -- entries in Shaw or Dsrt might require prior discussion
wikimedia_codes = "en, simple",
ancestors = "en-ear",
sort_key = {
Latn = {
-- Many of these are needed for sorting language names.
remove_diacritics = "'\"%-%.,%s·ʻʼ" .. c.diacritics,
-- These are found in pagenames.
from = {"[ɒæ🅱¢©ᴄðđəǝɜɡħʜıɨłŋɲøɔœꝑꝓꝕßʋ]"},
to = {{
["ɒ"] = "a", ["æ"] = "ae", ["🅱"] = "b", ["¢"] = "c", ["©"] = "c",
["ᴄ"] = "c", ["ð"] = "d", ["đ"] = "d", ["ə"] = "e", ["ǝ"] = "e",
["ɜ"] = "e", ["ɡ"] = "g", ["ħ"] = "h", ["ʜ"] = "h", ["ı"] = "i",
["ɨ"] = "i", ["ł"] = "l", ["ŋ"] = "n", ["ɲ"] = "n", ["ø"] = "o",
["ɔ"] = "o", ["œ"] = "oe", ["ꝑ"] = "p", ["ꝓ"] = "p", ["ꝕ"] = "p",
["ß"] = "ss", ["ʋ"] = "v",
}},
},
},
standard_chars = {
Latn = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz",
Brai = c.braille,
c.punc
},
}
m["eo"] = {
"එස්පෙරාන්තො",
143,
"art",
"Latn",
sort_key = {
remove_diacritics = c.grave .. c.acute,
from = {"ĉ", "ĝ", "ĥ", "ĵ", "ŝ", "ŭ"},
to = {"c" .. p[1], "g" .. p[1], "h" .. p[1], "j" .. p[1], "s" .. p[1], "u" .. p[1]}
},
standard_chars = "AaBbCcĈĉDdEeFfGgĜĝHhĤĥIiJjĴĵKkLlMmNnOoPpRrSsŜŝTtUuŬŭVvZz" .. c.punc,
}
m["es"] = {
"ස්පාඤ්ඤ",
1321,
"roa-cas",
"Latn, Brai",
ancestors = "es-ear",
sort_key = {
Latn = {
remove_exceptions = {"ñ"},
remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.macron .. c.diaer .. c.cedilla,
from = {"ª", "æ", "ñ", "º", "œ"},
to = {"a", "ae", "n" .. p[1], "o", "oe"}
},
},
standard_chars = {
Latn = "AaÁáBbCcDdEeÉéFfGgHhIiÍíJjLlMmNnÑñOoÓóPpQqRrSsTtUuÚúÜüVvXxYyZz",
Brai = c.braille,
c.punc
},
}
m["et"] = {
"එස්තෝනියානු",
9072,
"urj-fin",
"Latn",
sort_key = {
from = {
"š", "ž", "õ", "ä", "ö", "ü", -- 2 chars
"z" -- 1 char
},
to = {
"s" .. p[1], "s" .. p[3], "w" .. p[1], "w" .. p[2], "w" .. p[3], "w" .. p[4],
"s" .. p[2]
}
},
standard_chars = "AaBbDdEeFfGgHhIiJjKkLlMmNnOoPpRrSsTtUuVvÕõÄäÖöÜü" .. c.punc,
}
m["eu"] = {
"බාස්ක්",
8752,
"euq",
"Latn",
sort_key = {
from = {"ç", "ñ"},
to = {"c" .. p[1], "n" .. p[1]}
},
standard_chars = "AaBbDdEeFfGgHhIiJjKkLlMmNnÑñOoPpRrSsTtUuXxZz" .. c.punc,
}
m["fa"] = {
"පර්සියානු",
9168,
"ira-swi",
"fa-Arab, Hebr",
ancestors = "fa-cls",
strip_diacritics = {
["fa-Arab"] = {
-- character "ۂ" code U+06C2 to "ه" and "هٔ" (U+0647 + U+0654) to "ه"; hamzatu l-waṣli to a regular alif
from = {"هٔ", "ٱ"}, -- character "ۂ" code U+06C2 to "ه"; hamzatu l-waṣli to a regular alif
to = {"ه", "ا"},
remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.superalef,
},
},
-- Hebr display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["ff"] = {
"Fula",
33454,
"alv-fwo",
"Latn, Adlm",
}
m["fi"] = {
"ෆින්ලන්ත",
1412,
"urj-fin",
"Latn",
display_text = {
from = {"'"},
to = {"’"}
},
strip_diacritics = { -- used to indicate gemination of the next consonant
remove_diacritics = "ˣ",
from = {"’"},
to = {"'"},
},
sort_key = { -- [[Appendix:Finnish alphabet#Collation]] + "aͤ" and "oͤ" as historical variants of "ä" and "ö".
remove_diacritics = "'’:" .. c.diacritics,
remove_exceptions = {
"a[" .. c.ringabove .. c.diaer .. c.small_e .. "]", -- åäaͤ
"o[" .. c.diaer .. c.tilde .. c.dacute .. c.small_e .. "]", -- öõőoͤ
"u[" .. c.diaer .. c.dacute .. "]" -- üű
},
from = {"æ", "[ðđ]", "ł", "ŋ", "œ", "ß", "þ", "u[" .. c.diaer .. c.dacute .. "]", "å", "aͤ", "o[" .. c.tilde .. c.dacute .. c.small_e .. "]", "ø", "(.)['%-]"},
to = {"ae", "d", "l", "n", "oe", "ss", "th", "y", "z" .. p[1], "ä", "ö", "ö", "%1"}
},
standard_chars = "AaBbDdEeFfGgHhIiJjKkLlMmNnOoPpRrSsTtUuVvYyÄäÖö" .. c.punc,
}
m["fj"] = {
"Fijian",
33295,
"poz-pcc",
"Latn",
}
m["fo"] = {
"Faroese",
25258,
"gmq-ins",
"Latn",
sort_key = {
from = {"á", "ð", "í", "ó", "ú", "ý", "æ", "ø"},
to = {"a" .. p[1], "d" .. p[1], "i" .. p[1], "o" .. p[1], "u" .. p[1], "y" .. p[1], "z" .. p[1], "z" .. p[2]}
},
standard_chars = "AaÁáBbDdÐðEeFfGgHhIiÍíJjKkLlMmNnOoÓóPpRrSsTtUuÚúVvYyÝýÆæØø" .. c.punc,
}
m["fr"] = {
"ප්රංශ",
150,
"roa-oil",
"Latn, Brai",
ancestors = "frm",
sort_key = {
Latn = s["roa-oil-sortkey"]
},
standard_chars = {
Latn = "AaÀàÂâBbCcÇçDdEeÉéÈèÊêËëFfGgHhIiÎîÏïJjLlMmNnOoÔôŒœPpQqRrSsTtUuÙùÛûÜüVvXxYyZz",
Brai = c.braille,
c.punc
},
}
m["fy"] = {
"West Frisian",
27175,
"gmw-fri",
"Latn",
sort_key = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.diaer,
from = {"y"},
to = {"i"}
},
standard_chars = "AaâäàÆæBbCcDdEeéêëèFfGgHhIiïìYyỳJjKkLlMmNnOoôöòPpRrSsTtUuúûüùVvWwZz" .. c.punc,
}
m["ga"] = {
"අයිරිෂ්",
9142,
"cel-gae",
"Latn, Latg",
ancestors = "mga",
sort_key = {
remove_diacritics = c.acute,
from = {"ḃ", "ċ", "ḋ", "ḟ", "ġ", "ṁ", "ṗ", "ṡ", "ṫ"},
to = {"bh", "ch", "dh", "fh", "gh", "mh", "ph", "sh", "th"}
},
standard_chars = "AaÁáBbCcDdEeÉéFfGgHhIiÍíLlMmNnOoÓóPpRrSsTtUuÚúVv" .. c.punc,
}
m["gd"] = {
"ස්කොට්ස් ගේලික්",
9314,
"cel-gae",
"Latn, Latg",
ancestors = "mga",
sort_key = {remove_diacritics = c.grave .. c.acute},
standard_chars = "AaÀàBbCcDdEeÈèFfGgHhIiÌìLlMmNnOoÒòPpRrSsTtUuÙù" .. c.punc,
}
m["gl"] = {
"Galician",
9307,
"roa-gap",
"Latn",
sort_key = {
remove_diacritics = c.acute,
from = {"ñ"},
to = {"n" .. p[1]}
},
standard_chars = "AaÁáBbCcDdEeÉéFfGgHhIiÍíÏïLlMmNnÑñOoÓóPpQqRrSsTtUuÚúÜüVvXxZz" .. c.punc,
}
m["gu"] = {
"ගුජරාටි",
5137,
"inc-wes",
"Arab, Gujr",
ancestors = "inc-mgu",
translit = {
Gujr = "gu-translit",
},
strip_diacritics = {
Arab = {remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.kasra .. c.shadda .. c.sukun},
Gujr = {remove_diacritics = "઼"},
},
}
m["gv"] = {
"මැන්ක්ස්",
12175,
"cel-gae",
"Latn",
ancestors = "mga",
sort_key = {remove_diacritics = c.cedilla .. "-"},
standard_chars = "AaBbCcÇçDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwYy" .. c.punc,
}
m["ha"] = {
"Hausa",
56475,
"cdc-wst",
"Latn, Arab",
strip_diacritics = {
Latn = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.macron}
},
sort_key = {
Latn = {
from = {"ɓ", "b'", "ɗ", "d'", "ƙ", "k'", "sh", "ƴ", "'y"},
to = {"b" .. p[1], "b" .. p[2], "d" .. p[1], "d" .. p[2], "k" .. p[1], "k" .. p[2], "s" .. p[1], "y" .. p[1], "y" .. p[2]}
},
},
}
m["he"] = {
"හීබෲ",
9288,
"sem-can",
"Hebr, Phnx, Brai, Samr",
ancestors = "he-med",
-- Hebr display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
-- Samr strip_diacritics, sort_key in [[Module:scripts/data]]
-- Phnx translit in [[Module:scripts/data]] (NOTE: not present before, presumably an accidental omission)
}
m["hi"] = {
"හින්දි",
1568,
"inc-hnd",
"Deva, Kthi, Newa",
translit = {
Deva = "hi-translit"
},
standard_chars = {
Deva = "अआइईउऊएऐओऔकखगघङचछजझञटठडढणतथदधनपफबभमयरलवशषसहत्रज्ञक्षक़ख़ग़ज़झ़ड़ढ़फ़काखागाघाङाचाछाजाझाञाटाठाडाढाणाताथादाधानापाफाबाभामायारालावाशाषासाहात्राज्ञाक्षाक़ाख़ाग़ाज़ाझ़ाड़ाढ़ाफ़ाकिखिगिघिङिचिछिजिझिञिटिठिडिढिणितिथिदिधिनिपिफिबिभिमियिरिलिविशिषिसिहित्रिज्ञिक्षिक़िख़िग़िज़िझ़िड़िढ़िफ़िकीखीगीघीङीचीछीजीझीञीटीठीडीढीणीतीथीदीधीनीपीफीबीभीमीयीरीलीवीशीषीसीहीत्रीज्ञीक्षीक़ीख़ीग़ीज़ीझ़ीड़ीढ़ीफ़ीकुखुगुघुङुचुछुजुझुञुटुठुडुढुणुतुथुदुधुनुपुफुबुभुमुयुरुलुवुशुषुसुहुत्रुज्ञुक्षुक़ुख़ुग़ुज़ुझ़ुड़ुढ़ुफ़ुकूखूगूघूङूचूछूजूझूञूटूठूडूढूणूतूथूदूधूनूपूफूबूभूमूयूरूलूवूशूषूसूहूत्रूज्ञूक्षूक़ूख़ूग़ूज़ूझ़ूड़ूढ़ूफ़ूकेखेगेघेङेचेछेजेझेञेटेठेडेढेणेतेथेदेधेनेपेफेबेभेमेयेरेलेवेशेषेसेहेत्रेज्ञेक्षेक़ेख़ेग़ेज़ेझ़ेड़ेढ़ेफ़ेकैखैगैघैङैचैछैजैझैञैटैठैडैढैणैतैथैदैधैनैपैफैबैभैमैयैरैलैवैशैषैसैहैत्रैज्ञैक्षैक़ैख़ैग़ैज़ैझ़ैड़ैढ़ैफ़ैकोखोगोघोङोचोछोजोझोञोटोठोडोढोणोतोथोदोधोनोपोफोबोभोमोयोरोलोवोशोषोसोहोत्रोज्ञोक्षोक़ोख़ोग़ोज़ोझ़ोड़ोढ़ोफ़ोकौखौगौघौङौचौछौजौझौञौटौठौडौढौणौतौथौदौधौनौपौफौबौभौमौयौरौलौवौशौषौसौहौत्रौज्ञौक्षौक़ौख़ौग़ौज़ौझ़ौड़ौढ़ौफ़ौक्ख्ग्घ्ङ्च्छ्ज्झ्ञ्ट्ठ्ड्ढ्ण्त्थ्द्ध्न्प्फ्ब्भ्म्य्र्ल्व्श्ष्स्ह्त्र्ज्ञ्क्ष्क़्ख़्ग़्ज़्झ़्ड़्ढ़्फ़्।॥०१२३४५६७८९॰",
c.punc
},
}
m["ho"] = {
"Hiri Motu",
33617,
"crp",
"Latn",
ancestors = "meu",
}
m["ht"] = {
"Haitian Creole",
33491,
"crp",
"Latn",
ancestors = "ht-sdm",
sort_key = {
from = {
"oun", -- 3 chars
"an", "ch", "è", "en", "ng", "ò", "on", "ou", "ui" -- 2 chars
},
to = {
"o" .. p[4],
"a" .. p[1], "c" .. p[1], "e" .. p[1], "e" .. p[2], "n" .. p[1], "o" .. p[1], "o" .. p[2], "o" .. p[3], "u" .. p[1]
}
},
}
m["hu"] = {
"හංගේරියානු",
9067,
"urj-ugr",
"Latn, Hung",
ancestors = "ohu",
sort_key = {
Latn = {
from = {
"dzs", -- 3 chars
"á", "cs", "dz", "é", "gy", "í", "ly", "ny", "ó", "ö", "ő", "sz", "ty", "ú", "ü", "ű", "zs", -- 2 chars
},
to = {
"d" .. p[2],
"a" .. p[1], "c" .. p[1], "d" .. p[1], "e" .. p[1], "g" .. p[1], "i" .. p[1], "l" .. p[1], "n" .. p[1], "o" .. p[1], "o" .. p[2], "o" .. p[3], "s" .. p[1], "t" .. p[1], "u" .. p[1], "u" .. p[2], "u" .. p[3], "z" .. p[1],
}
},
},
standard_chars = {
Latn = "AaÁáBbCcDdEeÉéFfGgHhIiÍíJjKkLlMmNnOoÓóÖöŐőPpQqRrSsTtUuÚúÜüŰűVvWwXxYyZz",
c.punc
},
}
m["hy"] = {
"ආමේනියානු",
8785,
"hyx",
"Armn, Brai",
ancestors = "axm",
-- Armn translit in [[Module:scripts/data]]
override_translit = true,
strip_diacritics = {
Armn = {
remove_diacritics = "՛՜՞՟",
from = {"եւ", "<sup>յ</sup>", "<sup>ի</sup>", "<sup>է</sup>", "յ̵", "ՙ", "՚"},
to = {"և", "յ", "ի", "է", "ֈ", "ʻ", "’"}
},
},
sort_key = {
Armn = {
from = {
"ու", "եւ", -- 2 chars
"և" -- 1 char
},
to = {
"ւ", "եվ",
"եվ"
}
},
},
}
m["hz"] = {
"Herero",
33315,
"bnt-swb",
"Latn",
}
m["ia"] = {
"Interlingua",
35934,
"art",
"Latn",
}
m["id"] = {
"ඉන්දුනීසියානු",
9240,
"poz-mly",
"Latn",
ancestors = "ms",
standard_chars = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz" .. c.punc,
}
m["ie"] = {
"Interlingue",
35850,
"art",
"Latn",
type = "appendix-constructed",
strip_diacritics = {remove_diacritics = c.grave .. c.acute .. c.circ},
}
m["ig"] = {
"Igbo",
33578,
"alv-igb",
"Latn",
strip_diacritics = {remove_diacritics = c.grave .. c.acute .. c.macron},
sort_key = {
from = {"gb", "gh", "gw", "ị", "kp", "kw", "ṅ", "nw", "ny", "ọ", "sh", "ụ"},
to = {"g" .. p[1], "g" .. p[2], "g" .. p[3], "i" .. p[1], "k" .. p[1], "k" .. p[2], "n" .. p[1], "n" .. p[2], "n" .. p[3], "o" .. p[1], "s" .. p[1], "u" .. p[1]}
},
}
m["ii"] = {
"Nuosu",
34235,
"tbq-nlo",
"Yiii",
translit = "ii-translit",
}
m["ik"] = {
"Inupiaq",
27183,
"esx-inu",
"Latn",
sort_key = {
from = {
"ch", "ġ", "dj", "ḷ", "ł̣", "ñ", "ng", "r̂", "sr", "zr", -- 2 chars
"ł", "ŋ", "ʼ" -- 1 char
},
to = {
"c" .. p[1], "g" .. p[1], "h" .. p[1], "l" .. p[1], "l" .. p[3], "n" .. p[1], "n" .. p[2], "r" .. p[1], "s" .. p[1], "z" .. p[1],
"l" .. p[2], "n" .. p[2], "z" .. p[2]
}
},
}
m["io"] = {
"Ido",
35224,
"art",
"Latn",
}
m["is"] = {
"අයිස්ලන්ත",
294,
"gmq-ins",
"Latn",
sort_key = {
from = {"á", "ð", "é", "í", "ó", "ú", "ý", "þ", "æ", "ö"},
to = {"a" .. p[1], "d" .. p[1], "e" .. p[1], "i" .. p[1], "o" .. p[1], "u" .. p[1], "y" .. p[1], "z" .. p[1], "z" .. p[2], "z" .. p[3]}
},
standard_chars = "AaÁáBbDdÐðEeÉéFfGgHhIiÍíJjKkLlMmNnOoÓóPpRrSsTtUuÚúVvXxYyÝýÞþÆæÖö" .. c.punc,
}
m["it"] = {
"ඉතාලි",
652,
"roa-itr",
"Latn",
ancestors = "roa-oit",
sort_key = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.diaer .. c.ringabove},
standard_chars = "AaÀàBbCcDdEeÈèÉéFfGgHhIiÌìLlMmNnOoÒòPpQqRrSsTtUuÙùVvZz" .. c.punc,
}
m["iu"] = {
"Inuktitut",
29921,
"esx-inu",
"Cans, Latn",
translit = {
Cans = "cr-translit"
},
override_translit = true,
}
m["ja"] = {
"ජපන්",
5287,
"jpx",
"Jpan, Latn, Brai",
ancestors = "ja-ear",
translit = s["jpx-translit"],
link_tr = true,
display_text = s["jpx-displaytext"],
strip_diacritics = s["jpx-stripdiacritics"],
sort_key = s["jpx-sortkey"],
}
m["jv"] = {
"ජාවා",
33549,
"poz",
"Latn, Java, Arab",
ancestors = "kaw",
translit = {
Java = "jv-translit"
},
link_tr = true,
strip_diacritics = {
Latn = {remove_diacritics = c.circ} -- Modern jv don't use ê
},
sort_key = {
Latn = {
from = {"å", "dh", "é", "è", "ng", "ny", "th"},
to = {"a" .. p[1], "d" .. p[1], "e" .. p[1], "e" .. p[2], "n" .. p[1], "n" .. p[2], "t" .. p[1]}
},
},
}
m["ka"] = {
"ජෝර්ජියානු",
8108,
"ccs-gzn",
"Geor, Geok, Hebr", -- Hebr is used to write Judeo-Georgian
ancestors = "ka-mid",
-- Geor, Geok translit in [[Module:scripts/data]]
override_translit = true,
strip_diacritics = {
Geor = s["ka-stripdiacritics"],
Geok = s["ka-stripdiacritics"],
},
-- Hebr display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["kg"] = {
"කොංගෝ",
33702,
"bnt-kng",
"Latn",
}
m["ki"] = {
"Kikuyu",
33587,
"bnt-kka",
"Latn",
}
m["kj"] = {
"Kwanyama",
1405077,
"bnt-ova",
"Latn",
}
m["kk"] = {
"Kazakh",
9252,
"trk-kno",
"Cyrl, Latn, kk-Arab",
translit = {
Cyrl = {
from = {
"Ё", "ё", "Й", "й", "Нг", "нг", "Ӯ", "ӯ", -- 2 chars; are "Ӯ" and "ӯ" actually used?
"А", "а", "Ә", "ә", "Б", "б", "В", "в", "Г", "г", "Ғ", "ғ", "Д", "д", "Е", "е", "Ж", "ж", "З", "з", "И", "и", "К", "к", "Қ", "қ", "Л", "л", "М", "м", "Н", "н", "Ң", "ң", "О", "о", "Ө", "ө", "П", "п", "Р", "р", "С", "с", "Т", "т", "У", "у", "Ұ", "ұ", "Ү", "ү", "Ф", "ф", "Х", "х", "Һ", "һ", "Ц", "ц", "Ч", "ч", "Ш", "ш", "Щ", "щ", "Ъ", "ъ", "Ы", "ы", "І", "і", "Ь", "ь", "Э", "э", "Ю", "ю", "Я", "я", -- 1 char
},
to = {
"E", "e", "İ", "i", "Ñ", "ñ", "U", "u",
"A", "a", "Ä", "ä", "B", "b", "V", "v", "G", "g", "Ğ", "ğ", "D", "d", "E", "e", "J", "j", "Z", "z", "İ", "i", "K", "k", "Q", "q", "L", "l", "M", "m", "N", "n", "Ñ", "ñ", "O", "o", "Ö", "ö", "P", "p", "R", "r", "S", "s", "T", "t", "U", "u", "Ū", "ū", "Ü", "ü", "F", "f", "X", "x", "H", "h", "S", "s", "Ç", "ç", "Ş", "ş", "Ş", "ş", "", "", "Y", "y", "I", "ı", "", "", "É", "é", "Ü", "ü", "Ä", "ä",
}
}
},
-- override_translit = true,
sort_key = {
Cyrl = {
from = {"ә", "ғ", "ё", "қ", "ң", "ө", "ұ", "ү", "һ", "і"},
to = {"а" .. p[1], "г" .. p[1], "е" .. p[1], "к" .. p[1], "н" .. p[1], "о" .. p[1], "у" .. p[1], "у" .. p[2], "х" .. p[1], "ы" .. p[1]}
},
},
standard_chars = {
Cyrl = "АаӘәБбВвГгҒғДдЕеЁёЖжЗзИиЙйКкҚқЛлМмНнҢңОоӨөПпРрСсТтУуҰұҮүФфХхҺһЦцЧчШшЩщЪъЫыІіЬьЭэЮюЯя",
c.punc
},
}
m["kl"] = {
"Greenlandic",
25355,
"esx-inu",
"Latn",
sort_key = {
from = {"æ", "ø", "å"},
to = {"z" .. p[1], "z" .. p[2], "z" .. p[3]}
}
}
m["km"] = {
"Khmer",
9205,
"mkh-kmr",
"Khmr",
ancestors = "xhm",
translit = "km-translit",
}
m["kn"] = {
"කන්නඩ",
33673,
"dra-kan",
"Knda, Tutg",
ancestors = "dra-mkn",
-- Knda translit in [[Module:scripts/data]]
}
m["ko"] = {
"කොරියානු",
9176,
"qfa-kor",
"Kore, Brai",
ancestors = "ko-ear",
translit = {
Kore = "ko-translit",
},
-- Kore strip_diacritics in [[Module:scripts/data]]
}
m["kr"] = {
"Kanuri",
36094,
"ssa-sah",
"Latn, Arab",
-- the sortkey and strip_diacritics are only for standard Kanuri; when dialectal entries get added, someone will have to work out how the dialects should be represented orthographically
strip_diacritics = {
Latn = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.breve}
},
sort_key = {
Latn = {
from = {"ǝ", "ny", "ɍ", "sh"},
to = {"e" .. p[1], "n" .. p[1], "r" .. p[1], "s" .. p[1]}
},
},
}
m["ks"] = {
"කාෂ්මීරි",
33552,
"inc-kas",
"ks-Arab, Deva, Shrd, Latn",
translit = {
["ks-Arab"] = "ks-Arab-translit",
Deva = "ks-Deva-translit",
-- Shrd translit in [[Module:scripts/data]]
},
}
-- "kv" is treated as "koi", "kpv", see [[WT:LT]]
m["kw"] = {
"කෝනිෂ්",
25289,
"cel-brs",
"Latn",
ancestors = "cnx",
sort_key = {
from = {"ch"},
to = {"c" .. p[1]}
},
}
m["ky"] = {
"Kyrgyz",
9255,
"trk-kkp",
"Cyrl, Latn, Arab",
translit = {
Cyrl = "ky-translit"
},
override_translit = true,
sort_key = {
Cyrl = {
from = {"ё", "ң", "ө", "ү"},
to = {"е" .. p[1], "н" .. p[1], "о" .. p[1], "у" .. p[1]}
},
},
}
m["la"] = {
"ලතින්",
397,
"itc-laf",
"Latn, Ital",
ancestors = "itc-ola",
-- Ital translit in [[Module:scripts/data]] (NOTE: formerly not present, probably an accidental omission)
display_text = {
Latn = s["itc-Latn-displaytext"]
},
strip_diacritics = {
Latn = s["itc-Latn-stripdiacritics"]
},
sort_key = {
Latn = s["itc-Latn-sortkey"]
},
standard_chars = {
Latn = "AaBbCcDdEeFfGgHhIiLlMmNnOoPpQqRrSsTtUuVvXx",
c.punc
},
}
m["lb"] = {
"Luxembourgish",
9051,
"gmw-hgm",
"Latn, Brai",
ancestors = "gmw-cfr",
sort_key = {
Latn = {
from = {"ä", "ë", "é"},
to = {"z" .. p[1], "z" .. p[2], "z" .. p[3]}
},
},
}
m["lg"] = {
"Luganda",
33368,
"bnt-nyg",
"Latn",
strip_diacritics = {remove_diacritics = c.acute .. c.circ},
sort_key = {
from = {"ŋ"},
to = {"n" .. p[1]}
},
}
m["li"] = {
"Limburgish",
102172,
"gmw-frk",
"Latn",
ancestors = "dum",
}
m["ln"] = {
"Lingala",
36217,
"bnt-bmo",
"Latn",
sort_key = {
remove_diacritics = c.acute .. c.circ .. c.caron,
from = {"ɛ", "gb", "mb", "mp", "nd", "ng", "nk", "ns", "nt", "ny", "nz", "ɔ"},
to = {"e" .. p[1], "g" .. p[1], "m" .. p[1], "m" .. p[2], "n" .. p[1], "n" .. p[2], "n" .. p[3], "n" .. p[4], "n" .. p[5], "n" .. p[6], "n" .. p[7], "o" .. p[1]}
},
}
m["lo"] = {
"ලාඕ",
9211,
"tai-swe",
"Laoo", -- also Tai Noi/Lao Buhan script
translit = "lo-translit",
sort_key = "Laoo-sortkey",
standard_chars = "0-9ກຂຄງຈຊຍດຕຖທນບປຜຝພຟມຢຣລວສຫອຮຯ-ໝ" .. c.punc,
}
m["lt"] = {
"Lithuanian",
9083,
"bat-eas",
"Latn",
ancestors = "olt",
display_text = "lt-common",
strip_diacritics = "lt-common",
sort_key = "lt-common",
standard_chars = "AaĄąBbCcČčDdEeĘęĖėFfGgHhIiĮįYyJjKkLlMmNnOoPpRrSsŠšTtUuŲųŪūVvZzŽž" .. c.punc,
}
m["lu"] = {
"Luba-Katanga",
36157,
"bnt-lub",
"Latn",
}
m["lv"] = {
"Latvian",
9078,
"bat-eas",
"Latn",
strip_diacritics = {
-- This attempts to convert vowels with tone marks to vowels either with or without macrons. Specifically, there should be no macrons if the vowel is part of a diphthong (including resonant diphthongs such pìrksts -> pirksts not #pīrksts). What we do is first convert the vowel + tone mark to a vowel + tilde in a decomposed fashion, then remove the tilde in diphthongs, then convert the remaining vowel + tilde sequences to macroned vowels, then delete any other tilde. We leave already-macroned vowels alone: Both e.g. ar and ār occur before consonants. FIXME: This still might not be sufficient.
from = {"([Ee])" .. c.cedilla, "[" .. c.grave .. c.circ .. c.tilde .."]", "([aAeEiIoOuU])" .. c.tilde .."?([lrnmuiLRNMUI])" .. c.tilde .. "?([^aAeEiIoOuU])", "([aAeEiIoOuU])" .. c.tilde .."?([lrnmuiLRNMUI])" .. c.tilde .."?$", "([iI])" .. c.tilde .. "?([eE])" .. c.tilde .. "?", "([aAeEiIuU])" .. c.tilde, c.tilde},
to = {"%1", c.tilde, "%1%2%3", "%1%2", "%1%2", "%1" .. c.macron}
},
sort_key = {
from = {"ā", "č", "ē", "ģ", "ī", "ķ", "ļ", "ņ", "š", "ū", "ž"},
to = {"a" .. p[1], "c" .. p[1], "e" .. p[1], "g" .. p[1], "i" .. p[1], "k" .. p[1], "l" .. p[1], "n" .. p[1], "s" .. p[1], "u" .. p[1], "z" .. p[1]}
},
standard_chars = "AaĀāBbCcČčDdEeĒēFfGgĢģHhIiĪīJjKkĶķLlĻļMmNnŅņOoPpRrSsŠšTtUuŪūVvZzŽž" .. c.punc,
}
m["mg"] = {
"Malagasy",
7930,
"poz-bre",
"Latn, Arab",
}
m["mh"] = {
"Marshallese",
36280,
"poz-mic",
"Latn",
sort_key = {
from = {"ā", "ļ", "m̧", "ņ", "n̄", "o̧", "ō", "ū"},
to = {"a" .. p[1], "l" .. p[1], "m" .. p[1], "n" .. p[1], "n" .. p[2], "o" .. p[1], "o" .. p[2], "u" .. p[1]}
},
}
m["mi"] = {
"Māori",
36451,
"poz-pep",
"Latn",
sort_key = {
remove_diacritics = c.macron,
from = {"ng", "wh"},
to = {"n" .. p[1], "w" .. p[1]}
},
}
m["mk"] = {
"මැසඩෝනියානු",
9296,
"zls",
"Cyrl, Polyt",
ancestors = "cu",
translit = {
Cyrl = "mk-translit",
-- FIXME: formerly no translit specified for Polyt; unclear if the default [[Module:grc-translit]] is
-- acceptable, so we disable it for now
Polyt = false,
},
strip_diacritics = {
Cyrl = {
remove_diacritics = c.acute,
remove_exceptions = {"Ѓ", "ѓ", "Ќ", "ќ"}
},
},
sort_key = {
Cyrl = {
remove_diacritics = c.grave,
remove_exceptions = {"ѓ", "ќ"},
from = {"ѓ", "ѕ", "ј", "љ", "њ", "ќ", "џ"},
to = {"д" .. p[1], "з" .. p[1], "и" .. p[1], "л" .. p[1], "н" .. p[1], "т" .. p[1], "ч" .. p[1]}
},
},
-- Polyt display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
standard_chars = {
Cyrl = "АаБбВвГгДдЃѓЕеЖжЗзЅѕИиЈјКкЛлЉљМмНнЊњОоПпРрСсТтЌќУуФфХхЦцЧчЏџШш",
c.punc
},
}
m["ml"] = {
"මලයාලම්",
36236,
"dra-mal",
"Mlym",
override_translit = true,
-- Mlym translit in [[Module:scripts/data]]
}
m["mn"] = {
"මොංගෝලියානු",
9246,
"xgn-cen",
"Cyrl, Mong, Latn, Brai",
ancestors = "cmg",
translit = {
Cyrl = "mn-translit",
-- Mong translit in [[Module:scripts/data]]
},
override_translit = true,
-- Mong display_text and strip_diacritics in [[Module:scripts/data]]
strip_diacritics = {
Cyrl = {remove_diacritics = c.grave .. c.acute},
},
sort_key = {
Cyrl = {
remove_diacritics = c.grave,
from = {"ё", "ө", "ү"},
to = {"е" .. p[1], "о" .. p[1], "у" .. p[1]}
},
},
standard_chars = {
Cyrl = "АаБбВвГгДдЕеЁёЖжЗзИиЙйЛлМмНнОоӨөРрСсТтУуҮүХхЦцЧчШшЫыЬьЭэЮюЯя—",
Brai = c.braille,
c.punc
},
}
-- "mo" is treated as "ro", see [[WT:LT]]
m["mr"] = {
"මරාථි",
1571,
"inc-sou",
"Deva, Modi",
ancestors = "omr",
translit = {
Deva = "mr-translit",
Modi = "mr-Modi-translit",
},
strip_diacritics = {
Deva = {
from = {"च़", "ज़", "झ़"},
to = {"च", "ज", "झ"}
},
},
}
m["ms"] = {
"මැලේ",
9237,
"poz-mly",
"Latn, ms-Arab",
ancestors = "ms-cla",
standard_chars = {
Latn = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz",
c.punc
},
}
m["mt"] = {
"Maltese",
9166,
"sem-arb",
"Latn",
display_text = {
from = {"'"},
to = {"’"}
},
strip_diacritics = {
from = {"’"},
to = {"'"},
},
ancestors = "sqr",
sort_key = {
from = {
"ċ", "ġ", "ż", -- Convert into PUA so that decomposed form does not get caught by the next step.
"([cgz])", -- Ensure "c" comes after "ċ", "g" comes after "ġ" and "z" comes after "ż".
"g" .. p[1] .. "ħ", -- "għ" after initial conversion of "g".
p[3], p[4], "ħ", "ie", p[5] -- Convert "ċ", "ġ", "ħ", "ie", "ż" into final output.
},
to = {
p[3], p[4], p[5],
"%1" .. p[1],
"g" .. p[2],
"c", "g", "h" .. p[1], "i" .. p[1], "z"
}
},
}
m["my"] = {
"බුරුම",
9228,
"tbq-brm",
"Mymr",
ancestors = "obr",
translit = "my-translit",
override_translit = true,
sort_key = {
from = {"ျ", "ြ", "ွ", "ှ", "ဿ"},
to = {"္ယ", "္ရ", "္ဝ", "္ဟ", "သ္သ"}
},
}
m["na"] = {
"Nauruan",
13307,
"poz-mic",
"Latn",
}
m["nb"] = {
"Norwegian Bokmål",
25167,
"gmq",
"Latn",
wikimedia_codes = "no",
ancestors = "gmq-mno, da", -- da as an (but not the) ancestor of nb was agreed on - do not change without discussion
sort_key = s["no-sortkey"],
standard_chars = s["no-standardchars"],
}
m["nd"] = {
"Northern Ndebele",
35613,
"bnt-ngu",
"Latn",
strip_diacritics = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.macron .. c.caron},
}
m["ne"] = {
"Nepali",
33823,
"inc-pah",
"Deva, Newa",
translit = {
Deva = "ne-translit"
},
}
m["ng"] = {
"Ndonga",
33900,
"bnt-ova",
"Latn",
}
m["nl"] = {
"ඕලන්ද",
7411,
"gmw-frk",
"Latn, Brai",
ancestors = "dum",
sort_key = {
Latn = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.diaer .. c.ringabove .. c.cedilla .. "'"},
},
standard_chars = {
Latn = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzÄäËëÏïÖöÜü",
Brai = c.braille,
c.punc
},
}
m["nn"] = {
"Norwegian Nynorsk",
25164,
"gmq-wes",
"Latn",
ancestors = "gmq-mno",
strip_diacritics = {
remove_diacritics = c.grave .. c.acute,
},
sort_key = s["no-sortkey"],
standard_chars = s["no-standardchars"],
}
m["no"] = {
"නෝර්වීජියානු",
9043,
"gmq-wes",
"Latn",
ancestors = "gmq-mno",
sort_key = s["no-sortkey"],
standard_chars = s["no-standardchars"],
}
m["nr"] = {
"Southern Ndebele",
36785,
"bnt-ngu",
"Latn",
strip_diacritics = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.macron .. c.caron},
}
m["nv"] = {
"Navajo",
13310,
"apa",
"Latn, Brai",
sort_key = {
remove_diacritics = c.acute .. c.ogonek,
from = {
"chʼ", "tłʼ", "tsʼ", -- 3 chars
"ch", "dl", "dz", "gh", "hw", "kʼ", "kw", "sh", "tł", "ts", "zh", -- 2 chars
"ł", "ʼ" -- 1 char
},
to = {
"c" .. p[2], "t" .. p[2], "t" .. p[4],
"c" .. p[1], "d" .. p[1], "d" .. p[2], "g" .. p[1], "h" .. p[1], "k" .. p[1], "k" .. p[2], "s" .. p[1], "t" .. p[1], "t" .. p[3], "z" .. p[1],
"l" .. p[1], "z" .. p[2]
}
},
}
m["ny"] = {
"Chichewa",
33273,
"bnt-nys",
"Latn",
strip_diacritics = {remove_diacritics = c.acute .. c.circ},
sort_key = {
from = {"ng'"},
to = {"ng"}
},
}
m["oc"] = {
"Occitan",
14185,
"roa-ocr",
"Latn, Hebr",
ancestors = "pro",
sort_key = {
Latn = {
remove_diacritics = c.grave .. c.acute .. c.diaer .. c.cedilla,
from = {"([lns])·h"},
to = {"%1h"}
},
},
-- Hebr display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["oj"] = {
"Ojibwe",
33875,
"alg",
"Cans, Latn",
sort_key = {
Latn = {
from = {"aa", "ʼ", "ii", "oo", "sh", "zh"},
to = {"a" .. p[1], "h" .. p[1], "i" .. p[1], "o" .. p[1], "s" .. p[1], "z" .. p[1]}
},
},
}
m["om"] = {
"Oromo",
33864,
"cus-eas",
"Latn, Ethi",
}
m["or"] = {
"Odia",
33810,
"inc-eas",
"Orya",
ancestors = "inc-mor",
translit = "or-translit",
}
m["os"] = {
"Ossetian",
33968,
"xsc-sar",
"Cyrl, Geor, Latn",
ancestors = "oos",
translit = {
Cyrl = "os-translit",
-- Geor translit in [[Module:scripts/data]]
},
override_translit = true,
display_text = {
Cyrl = {
from = {"æ"},
to = {"ӕ"}
},
Latn = {
from = {"ӕ"},
to = {"æ"}
},
},
strip_diacritics = {
Cyrl = {
remove_diacritics = c.grave .. c.acute,
from = {"æ"},
to = {"ӕ"}
},
Latn = {
from = {"ӕ"},
to = {"æ"}
},
},
sort_key = {
Cyrl = {
from = {"ӕ", "гъ", "дж", "дз", "ё", "къ", "пъ", "тъ", "хъ", "цъ", "чъ"},
to = {"а" .. p[1], "г" .. p[1], "д" .. p[1], "д" .. p[2], "е" .. p[1], "к" .. p[1], "п" .. p[1], "т" .. p[1], "х" .. p[1], "ц" .. p[1], "ч" .. p[1]}
},
},
}
m["pa"] = {
"Punjabi",
58635,
"inc-pan",
"Guru, pa-Arab",
translit = {
Guru = "Guru-translit",
["pa-Arab"] = "pa-Arab-translit",
},
strip_diacritics = {
["pa-Arab"] = {
remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.nunghunna,
from = {"ݨ", "ࣇ"},
to = {"ن", "ل"}
},
},
}
m["pi"] = {
"පාලි",
36727,
"inc-mid",
"Latn, Brah, Deva, Beng, Sinh, Mymr, Thai, Lana, Laoo, Khmr, Cakm", --and also Khom
ancestors = "sa",
translit = {
-- Brah translit in [[Module:scripts/data]]
Deva = "sa-translit",
Beng = "pi-translit",
Sinh = "si-translit",
Mymr = "pi-translit",
Thai = "pi-translit",
Lana = "pi-translit",
Laoo = "pi-translit",
Khmr = "pi-translit",
Cakm = "Cakm-translit",
},
strip_diacritics = {
Thai = {
from = {"ึ", u(0xF700), u(0xF70F)}, -- FIXME: Not clear what's going on with the PUA characters here.
to = {"ิํ", "ฐ", "ญ"}
},
Mymr = {
remove_diacritics = c.VS01,
},
},
sort_key = { -- FIXME: This needs to be converted into the current standardized format.
from = {"ā", "ī", "ū", "ḍ", "ḷ", "m[" .. c.dotabove .. c.dotbelow .. "]", "ṅ", "ñ", "ṇ", "ṭ", "([เโ])([ก-ฮ])", "([ເໂ])([ກ-ຮ])", "ᩔ", "ᩕ", "ᩖ", "ᩘ", "([ᨭ-ᨱ])ᩛ", "([ᨷ-ᨾ])ᩛ", "ᩤ", u(0xFE00), u(0x200D)},
to = {"a~", "i~", "u~", "d~", "l~", "m~", "n~", "n~~", "n~~~", "t~", "%2%1", "%2%1", "ᩈ᩠ᩈ", "᩠ᩁ", "᩠ᩃ", "ᨦ᩠", "%1᩠ᨮ", "%1᩠ᨻ", "ᩣ"}
},
}
m["pl"] = {
"පෝලන්ත",
809,
"zlw-lch",
"Latn",
ancestors = "zlw-mpl",
sort_key = {
from = {"ą", "ć", "ę", "ł", "ń", "ó", "ś", "ź", "ż"},
to = {"a" .. p[1], "c" .. p[1], "e" .. p[1], "l" .. p[1], "n" .. p[1], "o" .. p[1], "s" .. p[1], "z" .. p[1], "z" .. p[2]}
},
standard_chars = "AaĄąBbCcĆćDdEeĘęFfGgHhIiJjKkLlŁłMmNnŃńOoÓóPpRrSsŚśTtUuWwYyZzŹźŻż" .. c.punc,
}
m["ps"] = {
"Pashto",
58680,
"ira-pat",
"ps-Arab",
strip_diacritics = {remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.zwarakay .. c.superalef},
}
m["pt"] = {
"පෘතුගීසි",
5146,
"roa-gap",
"Latn, Brai",
sort_key = {
Latn = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.macron .. c.diaer .. c.cedilla,
from = {"ª", "æ", "º", "œ"},
to = {"a", "ae", "o", "oe"}
},
},
standard_chars = {
Latn = "AaÁáÂâÃãBbCcÇçDdEeÉéÊêFfGgHhIiÍíJjLlMmNnOoÓóÔôÕõPpQqRrSsTtUuÚúVvXxZz",
Brai = c.braille,
c.punc
},
}
m["qu"] = {
"ක්වෙච්වා",
5218,
"qwe",
"Latn",
}
m["rm"] = {
"Romansh",
13199,
"roa-rhe",
ancestors = "rm-old",
"Latn",
sort_key = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.diaer .. c.small_e},
}
m["ro"] = {
"රුමේනියානු",
7913,
"roa-eas",
"Latn, Cyrl, Cyrs",
translit = {
Cyrl = "ro-translit"
},
sort_key = {
Latn = {
remove_diacritics = c.grave .. c.acute,
from = {"ă", "â", "î", "ș", "ț"},
to = {"a" .. p[1], "a" .. p[2], "i" .. p[1], "s" .. p[1], "t" .. p[1]}
},
Cyrl = {
from = {"ӂ"},
to = {"ж" .. p[1]}
},
},
-- Cyrs strip_diacritics, sort_key in [[Module:scripts/data]]; presumably not present
standard_chars = {
Latn = "AaĂăÂâBbCcDdEeFfGgHhIiÎîJjLlMmNnOoPpRrSsȘșTtȚțUuVvXxZz",
Cyrl = "АаБбВвГгДдЕеЖжӁӂЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЫыЬьЭэЮюЯя",
c.punc
},
}
m["ru"] = {
"රුසියානු",
7737,
"zle",
"Cyrl, Brai",
ancestors = "zle-mru",
translit = {
Cyrl = "ru-translit"
},
display_text = {
Cyrl = {
from = {"'"},
to = {"’"}
},
},
strip_diacritics = {
Cyrl = {
remove_diacritics = c.grave .. c.acute .. c.diaer,
remove_exceptions = {"Ё", "ё", "Ѣ̈", "ѣ̈", "Я̈", "я̈"},
from = {"’"},
to = {"'"},
},
},
sort_key = {
Cyrl = {
remove_diacritics = c.grave .. c.acute .. c.diaer,
from = {
"і", "ѣ", "ѳ", "ѵ"
},
to = {
"и" .. p[1], "ь" .. p[1], "я" .. p[2], "я" .. p[3]
}
},
},
standard_chars = {
Cyrl = "АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя—",
Brai = c.braille,
(c.punc:gsub("'", "")) -- Exclude apostrophe.
},
}
m["rw"] = {
"Rwanda-Rundi",
3217514,
"bnt-glb",
"Latn",
strip_diacritics = {remove_diacritics = c.acute .. c.circ .. c.macron .. c.caron},
}
m["sa"] = {
"සංස්කෘත",
11059,
"inc",
"as-Beng, Bali, Beng, Bhks, Brah, Mymr, xwo-Mong, Deva, Gujr, Guru, Gran, Hani, Java, Kthi, Knda, Kawi, Khar, Khmr, Laoo, Mlym, mnc-Mong, Marc, Modi, Mong, Nand, Newa, Orya, Phag, Ranj, Saur, Shrd, Sidd, Sinh, Soyo, Lana, Takr, Taml, Tang, Telu, Thai, Tibt, Tutg, Tirh, Zanb", --and also Khom; script codes sorted by canonical name rather than code for [[MOD:sa-convert]]
translit = {
Beng = "sa-Beng-translit",
["as-Beng"] = "sa-Beng-translit",
-- Brah translit in [[Module:scripts/data]]
Deva = "sa-translit",
Gujr = "sa-Gujr-translit",
Guru = "sa-Guru-translit",
Java = "sa-Java-translit",
Kthi = "sa-Kthi-translit",
Khmr = "pi-translit",
Knda = "sa-Knda-translit",
Lana = "pi-translit",
Laoo = "pi-translit",
Mlym = "sa-Mlym-translit",
Modi = "sa-Modi-translit",
-- Mong, mnc-Mong, xwo-Mong translit in [[Module:scripts/data]]
-- NOTE: Formerly used xal-translit for transliterating xwo-Mong but that only handles Cyrillic; it has
-- code to transliterate xwo-Mong but it's broken so I've replaced it with the default xwo-translit.
Mymr = "pi-translit",
Orya = "sa-Orya-translit",
-- Shrd translit in [[Module:scripts/data]]
-- Sidd translit in [[Module:scripts/data]]
Sinh = "si-translit",
Taml = "sa-Taml-translit",
Telu = "sa-Telu-translit",
Thai = "pi-translit",
-- Tibt translit in [[Module:scripts/data]]
},
-- Mong display_text and strip_diacritics in [[Module:scripts/data]]
-- Tibt display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
strip_diacritics = {
Deva = s["sa-Deva-stripdiacritics"],
Mymr = {
remove_diacritics = c.VS01,
},
Thai = {
from = {"ึ", u(0xF700), u(0xF70F)}, -- FIXME: Not clear what's going on with the PUA characters here.
to = {"ิํ", "ฐ", "ญ"}
},
},
sort_key = {
Deva = s["sa-Deva-stripdiacritics"], -- until we have a proper Sanskrit sorting algorithm.
Lana = { -- Tai Tham
from = {"ᩔ", "ᩕ", "ᩖ", "ᩘ", "([ᨭ-ᨱ])ᩛ", "([ᨷ-ᨾ])ᩛ", "ᩤ"},
to = {"ᩈ᩠ᩈ", "᩠ᩁ", "᩠ᩃ", "ᨦ᩠", "%1᩠ᨮ", "%1᩠ᨻ", "ᩣ"},
},
Laoo = "Laoo-sortkey",
Latn = {
from = {"ā", "ī", "ū", "ḍ", "ḷ", "ḹ", "m[" .. c.dotabove .. c.dotbelow .. "]", "ṅ", "ñ", "ṇ", "ṛ", "ṝ", "ś", "ṣ", "ṭ"},
to = {"a~", "i~", "u~", "d~", "l~", "l~~", "m~", "n~", "n~~", "n~~~", "r~", "r~~", "s~", "s~~", "t~"},
},
Mymr = {
remove_diacritics = c.VS01,
},
Thai = "Thai-sortkey",
-- FIXME: The previous sort key which mixed all scripts removed ZWJ; I don't know which script(s) this was
-- intended for and there are no other languages which remove it in the sort key AFAIK. If it needs to be
-- removed, specify the script(s) it needs to be removed under or add handling for the "all" script that applies
-- regardless of script.
--all = {
-- remove_diacritics = c.ZWJ,
--},
},
}
m["sc"] = {
"Sardinian",
33976,
"roa-sou",
"Latn",
ancestors = "sc-old",
}
m["sd"] = {
"සින්ධි",
33997,
"inc-snd",
"sd-Arab, Deva, Sind, Khoj",
translit = {
Sind = "Sind-translit",
["sd-Arab"] = "sd-Arab-translit"
},
strip_diacritics = {
["sd-Arab"] = {
remove_diacritics = c.kashida .. c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.superalef,
from = {"ٱ"},
to = {"ا"}
},
},
}
m["se"] = {
"Northern Sami",
33947,
"smi",
"Latn",
display_text = {
from = {"'"},
to = {"ˈ"}
},
strip_diacritics = {remove_diacritics = c.macron .. c.dotbelow .. "'ˈ"},
sort_key = {
from = {"á", "č", "đ", "ŋ", "š", "ŧ", "ž"},
to = {"a" .. p[1], "c" .. p[1], "d" .. p[1], "n" .. p[1], "s" .. p[1], "t" .. p[1], "z" .. p[1]}
},
standard_chars = "AaÁáBbCcČčDdĐđEeFfGgHhIiJjKkLlMmNnŊŋOoPpRrSsŠšTtŦŧUuVvZzŽž" .. c.punc,
}
m["sg"] = {
"Sango",
33954,
"crp",
"Latn",
ancestors = "ngb",
}
m["sh"] = {
"සර්බෝ-ක්රොඒෂියානු",
9301,
"zls",
"Latn, Cyrl, Glag, Arab",
ietf_subtag = "hbs", -- ISO 639-3 code, since "sh" is deprecated from ISO 639-1
wikimedia_codes = "sh, bs, hr, sr",
strip_diacritics = {
Latn = {
remove_diacritics = c.grave .. c.acute .. c.tilde .. c.macron .. c.dgrave .. c.invbreve,
remove_exceptions = {"Ć", "ć", "Ś", "ś", "Ź", "ź"}
},
Cyrl = {
remove_diacritics = c.grave .. c.acute .. c.tilde .. c.macron .. c.dgrave .. c.invbreve,
remove_exceptions = {"З́", "з́", "С́", "с́"}
},
},
sort_key = {
Latn = {
remove_diacritics = c.grave .. c.acute .. c.tilde .. c.macron .. c.dgrave .. c.invbreve,
remove_exceptions = {"ć", "ś", "ź"},
from = {"č", "ć", "dž", "đ", "lj", "nj", "š", "ś", "ž", "ź"},
to = {"c" .. p[1], "c" .. p[2], "d" .. p[1], "d" .. p[2], "l" .. p[1], "n" .. p[1], "s" .. p[1], "s" .. p[2], "z" .. p[1], "z" .. p[2]}
},
Cyrl = {
remove_diacritics = c.grave .. c.acute .. c.tilde .. c.macron .. c.dgrave .. c.invbreve,
remove_exceptions = {"з́", "с́"},
from = {"ђ", "з́", "ј", "љ", "њ", "с́", "ћ", "џ"},
to = {"д" .. p[1], "з" .. p[1], "и" .. p[1], "л" .. p[1], "н" .. p[1], "с" .. p[1], "т" .. p[1], "ч" .. p[1]}
},
},
standard_chars = {
Latn = "AaBbCcČčĆćDdĐđEeFfGgHhIiJjKkLlMmNnOoPpRrSsŠšTtUuVvZzŽž",
Cyrl = "АаБбВвГгДдЂђЕеЖжЗзИиЈјКкЛлЉљМмНнЊњОоПпРрСсТтЋћУуФфХхЦцЧчЏџШш",
c.punc
},
}
m["si"] = {
"සිංහල",
13267,
"inc-ins",
"Sinh",
translit = "si-translit",
override_translit = true,
}
m["sk"] = {
"Slovak",
9058,
"zlw",
"Latn",
ancestors = "zlw-osk",
sort_key = {remove_diacritics = c.acute .. c.circ .. c.diaer .. c.caron},
standard_chars = "AaÁáÄäBbCcČčDdĎďEeÉéFfGgHhIiÍíJjKkLlĹ弾MmNnŇňOoÓóÔôPpRrŔŕSsŠšTtŤťUuÚúVvYyÝýZzŽž" .. c.punc,
}
m["sl"] = {
"Slovene",
9063,
"zls",
"Latn",
strip_diacritics = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.macron .. c.dgrave .. c.invbreve .. c.dotbelow,
remove_exceptions = {"Ć", "ć", "Ǵ", "ǵ", "Ś", "ś", "Ź", "ź"},
from = {"Ə", "ə", "Ł", "ł"},
to = {"E", "e", "L", "l"},
},
sort_key = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.macron .. c.dotabove .. c.ringabove .. c.dgrave .. c.invbreve .. c.dotbelow .. c.ringbelow .. c.ogonek,
remove_exceptions = {"ć", "ǵ", "ś", "ź"},
from = {"ä", "č", "ć", "đ", "ə", "ë", "ǧ", "ǵ", "ï", "ł", "ö", "š", "ś", "ü", "ž", "ź"},
to = {"a" .. p[1], "c" .. p[1], "c" .. p[2], "d" .. p[1], "e", "e" .. p[1], "g" .. p[1], "g" .. p[2], "i" .. p[1], "l", "o" .. p[1], "s" .. p[1], "s" .. p[2], "u" .. p[1], "z" .. p[1], "z" .. p[2]},
},
standard_chars = "AaBbCcČčDdEeFfGgHhIiJjKkLlMmNnOoPpRrSsŠšTtUuVvZzŽž" .. c.punc,
}
m["sm"] = {
"Samoan",
34011,
"poz-pnp",
"Latn",
}
m["sn"] = {
"Shona",
34004,
"bnt-sho",
"Latn",
strip_diacritics = {remove_diacritics = c.acute},
}
m["so"] = {
"සෝමාලි",
13275,
"cus-som",
"Latn, Arab, Osma",
strip_diacritics = {
Latn = {remove_diacritics = c.grave .. c.acute .. c.circ}
},
}
m["sq"] = {
"Albanian",
8748,
"sqj",
"Latn, Grek, ota-Arab, Elba, Todr, Vith",
translit = {
Elba = "Elba-translit",
Vith = "Vith-translit",
},
-- Grek display_text, sort_key in [[Module:scripts/data]]
strip_diacritics = {
Latn = {
remove_diacritics = c.acute .. c.circ .. c.macron,
from = {'^[ie] (%w)', '^të (%w)'}, to = {'%1', '%1'},
},
Grek = { -- Diacritic removal from Grek-stripdiacritics excluded.
from = m_langdata.chars_substitutions["Grek-stripdiacritics"].from,
to = m_langdata.chars_substitutions["Grek-stripdiacritics"].to,
},
},
sort_key = {
Latn = {
remove_diacritics = c.acute .. c.circ .. c.macron .. c.tilde .. c.breve .. c.caron,
from = {'^[ie] (%w)', '^të (%w)', 'ç', 'dh', 'ë', 'gj', 'll', 'nj', 'rr', 'sh', 'th', 'xh', 'zh'},
to = {'%1', '%1', 'c'..p[1], 'd'..p[1], 'e'..p[1], 'g'..p[1], 'l'..p[1], 'n'..p[1], 'r'..p[1], 's'..p[1], 't'..p[1], 'x'..p[1], 'z'..p[1]},
}
-- TODO: Grek if the default sort key is unsuitable
},
standard_chars = {
Latn = "AaBbCcÇçDdEeËëFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvXxYyZz",
c.punc
},
}
m["ss"] = {
"Swazi",
34014,
"bnt-ngu",
"Latn",
strip_diacritics = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.macron .. c.caron},
}
m["st"] = {
"Sotho",
34340,
"bnt-sts",
"Latn",
strip_diacritics = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.macron .. c.caron},
}
m["su"] = {
"සුන්ඩා",
34002,
"poz-msa",
"Latn, Sund, Arab",
ancestors = "osn",
translit = {
Sund = "Sund-translit"
},
}
m["sv"] = {
"ස්වීඩන්",
9027,
"gmq-eas",
"Latn",
ancestors = "gmq-osw-lat",
sort_key = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.macron .. c.dacute .. c.caron .. c.cedilla .. "':",
remove_exceptions = {"å"},
from = {"ø", "æ", "œ", "ß", "å", "aͤ", "oͤ"},
to = {"o", "ae", "oe", "ss", "z" .. p[1], "ä", "ö"}
},
standard_chars = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpRrSsTtUuVvXxYyÅåÄäÖö" .. c.punc,
}
m["sw"] = {
"Swahili",
7838,
"bnt-swh",
"Latn, Arab",
sort_key = {
Latn = {
from = {"ng'"},
to = {"ng" .. p[1]}
},
},
}
m["ta"] = {
"දෙමළ",
5885,
"dra-tam",
"Taml",
ancestors = "ta-mid",
translit = "ta-translit",
override_translit = true,
}
m["te"] = {
"තෙලිඟු",
8097,
"dra-tel",
"Telu",
translit = "te-translit",
override_translit = true,
}
m["tg"] = {
"Tajik",
9260,
"ira-swi",
"Cyrl, fa-Arab, Latn",
ancestors = "fa-cls",
translit = {
Cyrl = "tg-translit"
},
override_translit = true,
strip_diacritics = {
Cyrl = s["tg-stripdiacritics"],
Latn = s["tg-stripdiacritics"],
},
sort_key = {
Cyrl = {
from = {"ғ", "ё", "ӣ", "қ", "ӯ", "ҳ", "ҷ"},
to = {"г" .. p[1], "е" .. p[1], "и" .. p[1], "к" .. p[1], "у" .. p[1], "х" .. p[1], "ч" .. p[1]}
},
},
}
m["th"] = {
"තායි",
9217,
"tai-swe",
"Thai, Khomt, Brai",
translit = {
Thai = "th-translit"
},
sort_key = {
Thai = "Thai-sortkey"
},
}
m["ti"] = {
"Tigrinya",
34124,
"sem-eth",
"Ethi",
translit = "Ethi-translit",
}
m["tk"] = {
"Turkmen",
9267,
"trk-ogz",
"Latn, Cyrl, Arab",
strip_diacritics = {
Latn = s["tk-stripdiacritics"],
Cyrl = s["tk-stripdiacritics"],
},
sort_key = {
Latn = {
from = {"ç", "ä", "ž", "ň", "ö", "ş", "ü", "ý"},
to = {"c" .. p[1], "e" .. p[1], "j" .. p[1], "n" .. p[1], "o" .. p[1], "s" .. p[1], "u" .. p[1], "y" .. p[1]}
},
Cyrl = {
from = {"ё", "җ", "ң", "ө", "ү", "ә"},
to = {"е" .. p[1], "ж" .. p[1], "н" .. p[1], "о" .. p[1], "у" .. p[1], "э" .. p[1]}
},
},
ancestors = "trk-eog",
}
m["tl"] = {
"Tagalog",
34057,
"phi",
"Latn, Tglg",
translit = {
Tglg = "tl-translit"
},
override_translit = true,
strip_diacritics = {
Latn = {remove_diacritics = c.grave .. c.acute .. c.circ}
},
standard_chars = {
Latn = "AaBbKkDdEeGgHhIiLlMmNnOoPpRrSsTtUuWwYy",
c.punc
},
sort_key = {
Latn = "tl-sortkey",
},
}
m["tn"] = {
"Tswana",
34137,
"bnt-sts",
"Latn",
}
m["to"] = {
"Tongan",
34094,
"poz-ton",
"Latn",
strip_diacritics = {remove_diacritics = c.acute},
sort_key = {remove_diacritics = c.macron},
}
m["tr"] = {
"තුර්කි",
256,
"trk-ogz",
"Latn",
ancestors = "ota",
dotted_dotless_i = true,
sort_key = {
from = {
-- Ignore circumflex, but account for capital Î wrongly becoming ı + circ due to dotted dotless I logic.
"ı" .. c.circ, c.circ,
"i", -- Ensure "i" comes after "ı".
"ç", "ğ", "ı", "ö", "ş", "ü"
},
to = {
"i", "",
"i" .. p[1],
"c" .. p[1], "g" .. p[1], "i", "o" .. p[1], "s" .. p[1], "u" .. p[1]
}
},
standard_chars = "AaÂâBbCcÇçDdEeFfGgĞğHhIıİiÎîJjKkLlMmNnOoÖöPpRrSsŞşTtUuÛûÜüVvYyZz" .. c.punc,
}
m["ts"] = {
"Tsonga",
34327,
"bnt-tsr",
"Latn",
}
m["tt"] = {
"Tatar",
25285,
"trk-kbu",
"Cyrl, Latn, tt-Arab",
translit = {
Cyrl = "tt-translit",
["tt-Arab"] = "tt-translit"
},
--override_translit = true, -- enable override until Module code can detect Russian loans such as [[аэропорт]]
dotted_dotless_i = true,
sort_key = {
Cyrl = {
from = {"ә", "ў", "ғ", "ё", "җ", "қ", "ң", "ө", "ү", "һ"},
to = {"а" .. p[1], "в" .. p[1], "г" .. p[1], "е" .. p[1], "ж" .. p[1], "к" .. p[1], "н" .. p[1], "о" .. p[1], "у" .. p[1], "х" .. p[1]}
},
Latn = {
from = {
"i", -- Ensure "i" comes after "ı".
"ä", "ə", "ç", "ğ", "ı", "ñ", "ŋ", "ö", "ɵ", "ş", "ü"
},
to = {
"i" .. p[1],
"a" .. p[1], "a" .. p[2], "c" .. p[1], "g" .. p[1], "i", "n" .. p[1], "n" .. p[2], "o" .. p[1], "o" .. p[2], "s" .. p[1], "u" .. p[1]
}
},
},
}
-- "tw" is treated as "ak", see [[WT:LT]]
m["ty"] = {
"Tahitian",
34128,
"poz-pep",
"Latn",
}
m["ug"] = {
"Uyghur",
13263,
"trk-kar",
"ug-Arab, Latn, Cyrl",
ancestors = "chg",
translit = {
["ug-Arab"] = "ug-translit",
Cyrl = "ug-translit",
},
override_translit = true,
}
m["uk"] = {
"යුක්රේනියානු",
8798,
"zle",
"Cyrl",
ancestors = "zle-muk",
translit = "uk-translit",
strip_diacritics = {remove_diacritics = c.grave .. c.acute},
sort_key = {
remove_diacritics = c.grave .. c.acute,
from = {
"ї", -- 2 chars
"ґ", "є", "і" -- 1 char
},
to = {
"и" .. p[2],
"г" .. p[1], "е" .. p[1], "и" .. p[1]
}
},
standard_chars = "АаБбВвГгДдЕеЄєЖжЗзИиІіЇїЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЬьЮюЯя" .. c.punc:gsub("'", ""), -- Exclude apostrophe.
}
m["ur"] = {
"උර්දු",
1617,
"inc-hnd",
"ur-Arab, Hebr",
translit = {
["ur-Arab"] = "ur-translit"
},
strip_diacritics = {
["ur-Arab"] = {
-- character "ۂ" code U+06C2 to "ه" and "هٔ" (U+0647 + U+0654) to "ه"; hamzatu l-waṣli to a regular alif
from = {"هٔ", "ۂ", "ٱ"},
to = {"ہ", "ہ", "ا"},
remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.nunghunna .. c.superalef
},
},
-- Hebr display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
standard_chars = {
["ur-Arab"] = "ایببپتثجچحخدذرزژسشصضطظعغفقکگلࣇڷمنݨوؤہھئٹڈڑآے",
c.punc,
},
}
m["uz"] = {
"උස්බෙක්",
9264,
"trk-kar",
"Latn, Cyrl, fa-Arab",
ancestors = "chg",
translit = {
Cyrl = "uz-translit"
},
sort_key = {
Latn = {
from = {"oʻ", "gʻ", "sh", "ch", "ng"},
to = {"z" .. p[1], "z" .. p[2], "z" .. p[3], "z" .. p[4], "z" .. p[5]}
},
Cyrl = {
from = {"ё", "ў", "қ", "ғ", "ҳ"},
to = {"е" .. p[1], "я" .. p[1], "я" .. p[2], "я" .. p[3], "я" .. p[4]}
},
},
strip_diacritics = {
["fa-Arab"] = "ar-stripdiacritics",
},
}
m["ve"] = {
"Venda",
32704,
"bnt-bso",
"Latn",
}
m["vi"] = {
"වියට්නාම",
9199,
"mkh-vie",
"Latn, Hani",
ancestors = "mkh-mvi",
sort_key = {
Latn = "vi-sortkey",
Hani = "Hani-sortkey",
},
}
m["vo"] = {
"Volapük",
36986,
"art",
"Latn",
}
m["wa"] = {
"Walloon",
34219,
"roa-oil",
"Latn",
sort_key = s["roa-oil-sortkey"],
}
m["wo"] = {
"Wolof",
34257,
"alv-fwo",
"Latn, Arab, Gara",
}
m["xh"] = {
"Xhosa",
13218,
"bnt-ngu",
"Latn",
strip_diacritics = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.macron .. c.caron},
}
m["yi"] = {
"යිඩිශ්",
8641,
"gmw-hgm",
"Hebr, Latn",
ancestors = "gmh",
translit = {
Hebr = "yi-translit",
},
-- Hebr display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["yo"] = {
"Yoruba",
34311,
"alv-yor",
"Latn, Arab",
strip_diacritics = {
Latn = {remove_diacritics = c.grave .. c.acute .. c.macron}
},
sort_key = {
Latn = {
from = {"ẹ", "ɛ", "gb", "ị", "kp", "ọ", "ɔ", "ṣ", "sh", "ụ"},
to = {"e" .. p[1], "e" .. p[1], "g" .. p[1], "i" .. p[1], "k" .. p[1], "o" .. p[1], "o" .. p[1], "s" .. p[1], "s" .. p[1], "u" .. p[1]}
},
},
}
m["za"] = {
"Zhuang",
13216,
"tai",
"Latn, Hani",
sort_key = {
Latn = "za-sortkey",
Hani = "Hani-sortkey",
},
}
m["zh"] = {
"චීන",
7850,
"zhx",
"Hants, Latn, Bopo, Nshu, Brai",
ancestors = "ltc",
generate_forms = "zh-generateforms",
translit = {
Hani = "zh-translit",
Bopo = "zh-translit",
},
sort_key = {
Hani = "Hani-sortkey"
},
}
m["zu"] = {
"සූලූ",
10179,
"bnt-ngu",
"Latn",
strip_diacritics = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.macron .. c.caron},
}
return require("Module:languages").finalizeData(m, "language")
0hv6mc7au3mbuzytr4v3xn9xd1t71tr
Module:category tree/phrases
828
9489
234064
228298
2026-04-15T09:16:39Z
en>Surjection
0
Changed protection settings for "[[Module:category tree/phrases]]": Highly visible template/module ([Edit=Allow only autopatrollers] (indefinite) [Move=Allow only autopatrollers] (indefinite))
234064
Scribunto
text/plain
local labels = {}
local raw_categories = {}
labels["phrases"] = {
description = "{{{langname}}} groups of words elaborated to express ideas, not necessarily [[phrase]]s in the grammatical sense.",
umbrella_parents = "Lemmas subcategories by language",
parents = {"lemmas", "multiword terms"},
}
labels["adverb-adjective phrases"] = {
description = "{{{langname}}} phrases in which an adverb modifies the adjective that heads the phrase.",
umbrella_parents = {name = "phrases", is_label = true, sort = " "},
parents = {"phrases"},
}
labels["alliterative phrases"] = {
description = "{{{langname}}} phrases composed of two or more words that alliterate.",
umbrella_parents = {name = "phrases", is_label = true, sort = " "},
parents = {"phrases"},
}
labels["rhyming phrases"] = {
description = "{{{langname}}} phrases composed of two or more words that rhyme.",
umbrella_parents = {name = "phrases", is_label = true, sort = " "},
parents = {"phrases"},
}
labels["sentences"] = {
description = "{{{langname}}} [[sentence]]s.",
umbrella_parents = "Fundamental",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["phrasebook"] = {
description = "{{{langname}}} non-idiomatic phrases that are used in common situations, and may be useful to language learners or travellers.",
parents = {
"phrases",
{name = "Phrasebooks by language", raw = true, sort = "{{{langname}}}"}
},
umbrella = false, -- Umbrella has a nonstandard name so we treat it as a raw category
}
raw_categories["Phrasebooks by language"] = {
description = "Categories with phrasebooks in various specific languages.",
additional = "Phrasebook categories contain non-idiomatic phrases that are used in common situations, and may be useful to language learners or travellers.\n\n" ..
"See [[Wiktionary:Phrasebook]] for more information.\n\n{{{umbrella_msg}}}",
parents = "Fundamental",
}
for _, category in ipairs({
{name = "Basic", topics = {}},
{name = "Communication", topics = {"Communication"}},
{name = "Emergencies", topics = {"Emergency medicine"}},
{name = "Ethnicity", topics = {"Ethnicity"}},
{name = "Family", topics = {"Family"}},
{name = "Farewells", topics = {}},
{name = "Festivities", topics = {}},
{name = "Food and drink", topics = {"Food and drink"}},
{name = "Greetings", topics = {}},
{name = "Health", topics = {"Health"}},
{name = "Love", topics = {"Love"}},
{name = "Money", topics = {"Money"}},
{name = "Needs", topics = {}},
{name = "Religion", topics = {"Religion"}},
{name = "Sex", topics = {"Sex"}},
{name = "Time", topics = {"Time"}},
{name = "Travel", topics = {"Travel"}},
{name = "Weather", topics = {"Weather"}},
}) do
local parents = {
{name = "phrasebook", sort = category.name},
{name = "Phrasebooks by language/" .. category.name, raw = true, sort = "{{{langname}}}"},
}
for _, topic in ipairs(category.topics) do
table.insert(parents, {name = "{{{langcode}}}:" .. topic, sort = " ", raw = true})
end
labels["phrasebook/" .. category.name] = {
description = "{{{langname}}} common non-idiomatic phrases in the category '" .. category.name .. "'.",
breadcrumb = category.name,
parents = parents,
umbrella = false,
}
raw_categories["Phrasebooks by language/" .. category.name] = {
description = "Categories with common non-idiomatic phrases in the category '" .. category.name .. "', in various specific languages.",
additional = "{{{umbrella_msg}}}",
parents = {{name = "Phrasebooks by language", sort = " "}},
breadcrumb = category.name,
}
end
return {LABELS = labels, RAW_CATEGORIES = raw_categories}
51yk9wz0qio0nz6p1vy1ju7edgv4joe
234065
234064
2026-05-15T07:13:42Z
Lee
19
[[:en:Module:category_tree/phrases]] වෙතින් එක් සංශෝධනයක්
234064
Scribunto
text/plain
local labels = {}
local raw_categories = {}
labels["phrases"] = {
description = "{{{langname}}} groups of words elaborated to express ideas, not necessarily [[phrase]]s in the grammatical sense.",
umbrella_parents = "Lemmas subcategories by language",
parents = {"lemmas", "multiword terms"},
}
labels["adverb-adjective phrases"] = {
description = "{{{langname}}} phrases in which an adverb modifies the adjective that heads the phrase.",
umbrella_parents = {name = "phrases", is_label = true, sort = " "},
parents = {"phrases"},
}
labels["alliterative phrases"] = {
description = "{{{langname}}} phrases composed of two or more words that alliterate.",
umbrella_parents = {name = "phrases", is_label = true, sort = " "},
parents = {"phrases"},
}
labels["rhyming phrases"] = {
description = "{{{langname}}} phrases composed of two or more words that rhyme.",
umbrella_parents = {name = "phrases", is_label = true, sort = " "},
parents = {"phrases"},
}
labels["sentences"] = {
description = "{{{langname}}} [[sentence]]s.",
umbrella_parents = "Fundamental",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["phrasebook"] = {
description = "{{{langname}}} non-idiomatic phrases that are used in common situations, and may be useful to language learners or travellers.",
parents = {
"phrases",
{name = "Phrasebooks by language", raw = true, sort = "{{{langname}}}"}
},
umbrella = false, -- Umbrella has a nonstandard name so we treat it as a raw category
}
raw_categories["Phrasebooks by language"] = {
description = "Categories with phrasebooks in various specific languages.",
additional = "Phrasebook categories contain non-idiomatic phrases that are used in common situations, and may be useful to language learners or travellers.\n\n" ..
"See [[Wiktionary:Phrasebook]] for more information.\n\n{{{umbrella_msg}}}",
parents = "Fundamental",
}
for _, category in ipairs({
{name = "Basic", topics = {}},
{name = "Communication", topics = {"Communication"}},
{name = "Emergencies", topics = {"Emergency medicine"}},
{name = "Ethnicity", topics = {"Ethnicity"}},
{name = "Family", topics = {"Family"}},
{name = "Farewells", topics = {}},
{name = "Festivities", topics = {}},
{name = "Food and drink", topics = {"Food and drink"}},
{name = "Greetings", topics = {}},
{name = "Health", topics = {"Health"}},
{name = "Love", topics = {"Love"}},
{name = "Money", topics = {"Money"}},
{name = "Needs", topics = {}},
{name = "Religion", topics = {"Religion"}},
{name = "Sex", topics = {"Sex"}},
{name = "Time", topics = {"Time"}},
{name = "Travel", topics = {"Travel"}},
{name = "Weather", topics = {"Weather"}},
}) do
local parents = {
{name = "phrasebook", sort = category.name},
{name = "Phrasebooks by language/" .. category.name, raw = true, sort = "{{{langname}}}"},
}
for _, topic in ipairs(category.topics) do
table.insert(parents, {name = "{{{langcode}}}:" .. topic, sort = " ", raw = true})
end
labels["phrasebook/" .. category.name] = {
description = "{{{langname}}} common non-idiomatic phrases in the category '" .. category.name .. "'.",
breadcrumb = category.name,
parents = parents,
umbrella = false,
}
raw_categories["Phrasebooks by language/" .. category.name] = {
description = "Categories with common non-idiomatic phrases in the category '" .. category.name .. "', in various specific languages.",
additional = "{{{umbrella_msg}}}",
parents = {{name = "Phrasebooks by language", sort = " "}},
breadcrumb = category.name,
}
end
return {LABELS = labels, RAW_CATEGORIES = raw_categories}
51yk9wz0qio0nz6p1vy1ju7edgv4joe
234066
234065
2026-05-15T07:13:58Z
Lee
19
පැරණි සංස්කරණයකින් ගත් කොටස්...
234066
Scribunto
text/plain
local labels = {}
local raw_categories = {}
labels["වාක්ය ඛණ්ඩ"] = {
description = "{{{langname}}} groups of words elaborated to express ideas, not necessarily [[phrase]]s in the grammatical sense.",
umbrella_parents = "භාෂාව අනුව ලෙමා උප ප්රවර්ග",
parents = {"පාඨ", "බහු පද යෙදුම්"},
}
labels["adverb-adjective phrases"] = {
description = "{{{langname}}} phrases in which an adverb modifies the adjective that heads the phrase.",
umbrella_parents = {name = "වාක්ය ඛණ්ඩ", is_label = true, sort = " "},
parents = {"වාක්ය ඛණ්ඩ"},
}
labels["alliterative phrases"] = {
description = "{{{langname}}} phrases composed of two or more words that alliterate.",
umbrella_parents = {name = "වාක්ය ඛණ්ඩ", is_label = true, sort = " "},
parents = {"වාක්ය ඛණ්ඩ"},
}
labels["rhyming phrases"] = {
description = "{{{langname}}} phrases composed of two or more words that rhyme.",
umbrella_parents = {name = "වාක්ය ඛණ්ඩ", is_label = true, sort = " "},
parents = {"වාක්ය ඛණ්ඩ"},
}
labels["වාක්ය"] = {
description = "{{{langname}}} [[වාක්යය|වාක්ය]] මෙහි දැක්වෙයි.",
umbrella_parents = "මූලධර්ම",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["වාක්ය ඛණ්ඩ පොත"] = {
description = "{{{langname}}} non-idiomatic phrases that are used in common situations, and may be useful to language learners or travellers.",
parents = {
"වාක්ය ඛණ්ඩ",
{name = "භාෂාව අනුව වාක්ය ඛණ්ඩ පොත්", raw = true, sort = "{{{langname}}}"}
},
umbrella = false, -- Umbrella has a nonstandard name so we treat it as a raw category
}
raw_categories["භාෂාව අනුව වාක්ය ඛණ්ඩ පොත්"] = {
description = "Categories with phrasebooks in various specific languages.",
additional = "Phrasebook categories contain non-idiomatic phrases that are used in common situations, and may be useful to language learners or travellers.\n\n" ..
"See [[Wiktionary:Phrasebook]] for more information.\n\n{{{umbrella_msg}}}",
parents = "මූලධර්ම",
}
for _, category in ipairs({
{name = "Basic", topics = {}},
{name = "Communication", topics = {"Communication"}},
{name = "Emergencies", topics = {"Emergency medicine"}},
{name = "Ethnicity", topics = {"Ethnicity"}},
{name = "Family", topics = {"Family"}},
{name = "Farewells", topics = {}},
{name = "Festivities", topics = {}},
{name = "Food and drink", topics = {"Food and drink"}},
{name = "Greetings", topics = {}},
{name = "Health", topics = {"Health"}},
{name = "Love", topics = {"Love"}},
{name = "Money", topics = {"Money"}},
{name = "Needs", topics = {}},
{name = "ආගම", topics = {"ආගම"}},
{name = "Sex", topics = {"Sex"}},
{name = "කාලය", topics = {"කාලය"}},
{name = "Travel", topics = {"Travel"}},
{name = "Weather", topics = {"Weather"}},
}) do
local parents = {
{name = "වාක්ය ඛණ්ඩ පොත", sort = category.name},
{name = "භාෂාව අනුව වාක්ය ඛණ්ඩ පොත්/" .. category.name, raw = true, sort = "{{{langname}}}"},
}
for _, topic in ipairs(category.topics) do
table.insert(parents, {name = "{{{langcode}}}:" .. topic, sort = " ", raw = true})
end
labels["වාක්ය ඛණ්ඩ පොත/" .. category.name] = {
description = "{{{langname}}} common non-idiomatic phrases in the category '" .. category.name .. "'.",
breadcrumb = category.name,
parents = parents,
umbrella = false,
}
raw_categories["භාෂාව අනුව වාක්ය ඛණ්ඩ පොත්/" .. category.name] = {
description = "Categories with common non-idiomatic phrases in the category '" .. category.name .. "', in various specific languages.",
additional = "{{{umbrella_msg}}}",
parents = {{name = "භාෂාව අනුව වාක්ය ඛණ්ඩ පොත්", sort = " "}},
breadcrumb = category.name,
}
end
return {LABELS = labels, RAW_CATEGORIES = raw_categories}
arfqk4v5q00dcv2sdqo9y1z951p6fyd
Module:category tree/affixes and compounds
828
13840
234073
220440
2026-04-15T09:16:35Z
en>Surjection
0
Changed protection settings for "[[Module:category tree/affixes and compounds]]": Highly visible template/module ([Edit=Allow only autopatrollers] (indefinite) [Move=Allow only autopatrollers] (indefinite))
234073
Scribunto
text/plain
local labels = {}
local raw_categories = {}
local handlers = {}
-----------------------------------------------------------------------------
-- --
-- LABELS --
-- --
-----------------------------------------------------------------------------
labels["alliterative compounds"] = {
description = "{{{langname}}} noun phrases composed of two or more stems that alliterate.",
parents = {"compound terms", "alliterative phrases"},
}
labels["antonymous compounds"] = {
description = "{{{langname}}} compounds in which one part is an antonym of the other.",
parents = {"dvandva compounds", sort = "antonym"},
}
labels["bahuvrihi compounds"] = {
description = "{{{langname}}} compounds in which the first part (A) modifies the second (B), and whose meaning follows a [[metonymic]] pattern: “<person> having a B that is A.”",
parents = {"compound terms", "exocentric compounds"},
}
-- Add "compound POS" categories for various parts of speech.
local compound_poses = {
"adjectives",
"adverbs",
"conjunctions",
"determiners",
"interjections",
"nouns",
"numerals",
"particles",
"postpositions",
"prefixes",
"prepositions",
"pronouns",
"proper nouns",
"suffixes",
"verbs",
}
for _, pos in ipairs(compound_poses) do
labels["compound " .. pos] = {
description = "{{{langname}}} " .. pos .. " composed of two or more stems.",
parents = {{name = "compound terms", sort = " "}, pos},
}
end
labels["compound determinatives"] = {
description = "{{{langname}}} determinatives composed of two or more stems.",
parents = {"compound terms", "determiners"},
}
labels["compound terms"] = {
description = "{{{langname}}} terms composed of two or more stems.",
umbrella_parents = "Terms by etymology subcategories by language",
parents = {"terms by etymology"},
}
labels["dvandva compounds"] = {
description = "{{{langname}}} terms composed of two or more stems whose stems could be connected by an 'and'.",
parents = {"compound terms"},
}
labels["dvigu compounds"] = {
description = "{{{langname}}} [[tatpuruṣa]] compounds where the modifying member is a number",
parents = {"tatpurusa compounds"},
}
labels["endocentric compounds"] = {
description = "{{{langname}}} terms composed of two or more stems, one of which is the [[w:head (linguistics)|head]] of that compound.",
parents = {"compound terms"},
}
labels["endocentric noun-noun compounds"] = {
description = "{{{langname}}} terms composed of two or more stems, one of which is the [[w:head (linguistics)|head]] of that compound.",
breadcrumb = "noun-noun",
parents = {"endocentric compounds", "compound terms"},
}
labels["endocentric verb-noun compounds"] = {
description = "{{{langname}}} compounds in which the first element is a verbal stem, the second a nominal stem and the head of the compound.",
breadcrumb = "verb-noun",
parents = {"endocentric compounds", "verb-noun compounds"},
}
labels["exocentric compounds"] = {
description = "{{{langname}}} terms composed of two or more stems, none of which is the [[w:head (linguistics)|head]] of that compound.",
parents = {"compound terms"},
}
labels["exocentric verb-noun compounds"] = {
description = "{{{langname}}} compounds in which the first element is a transitive verb, the second a noun functioning as its direct object, and whose referent is the person or thing doing the action.",
breadcrumb = "verb-noun",
parents = {"exocentric compounds", "verb-noun compounds"},
}
labels["karmadharaya compounds"] = {
description = "{{{langname}}} terms composed of two or more stems in which the main stem determines the case endings.",
parents = {"tatpurusa compounds"},
}
labels["itaretara dvandva compounds"] = {
description = "{{{langname}}} terms composed of two or more stems whose stems could be connected by an 'and'.",
breadcrumb = "itaretara",
parents = {"dvandva compounds"},
}
labels["rhyming compounds"] = {
description = "{{{langname}}} noun phrases composed of two or more stems that rhyme.",
parents = {"compound terms", "rhyming phrases"},
}
labels["samahara dvandva compounds"] = {
description = "{{{langname}}} terms composed of two or more stems whose stems could be connected by an 'and'.",
breadcrumb = "samahara",
parents = {"dvandva compounds"},
}
labels["shitgibbons"] = {
description = "{{{langname}}} terms that consist of a single-syllable [[expletive]] followed by a two-syllable [[trochee]] that serves as a [[nominalizer]] or [[intensifier]].",
parents = {"endocentric compounds"},
}
labels["synonymous compounds"] = {
description = "{{{langname}}} compounds in which one part is a synonym of the other.",
parents = {"dvandva compounds", sort = "synonym"},
}
labels["tatpurusa compounds"] = {
description = "{{{langname}}} terms composed of two or more stems",
parents = {"compound terms"},
}
labels["verb-noun compounds"] = {
description = "{{{langname}}} compounds in which the first element is a transitive verb, the second a noun functioning as its direct object, and whose referent is the person or thing doing the action, or an adjective describing such a person or thing.",
parents = {"verb-object compounds"},
}
labels["verb-object compounds"] = {
description = "{{{langname}}} compounds in which the first element is a transitive verb, the second a term (usually but not always a noun) functioning as its (normally direct) object, and whose referent is the person or thing doing the action, or an adjective describing such a person or thing.",
additional = "Examples in English are {{m|en|pickpocket|lit=someone who picks pockets}} and {{m|en|catch-all|lit=something that catches everything}}.",
parents = {"compound terms"},
}
labels["verb-verb compounds"] = {
description = "{{{langname}}} compounds composed of two or more verbs in apposition, often either synonyms or antonyms, and whose referent refers to the result of performing those actions.",
parents = {"compound terms"},
}
labels["vrddhi derivatives"] = {
description = "{{{langname}}} terms derived from a Proto-Indo-European root by the process of [[w:vṛddhi|vṛddhi]] derivation.",
parents = {"terms by etymology"},
}
labels["vrddhi gerundives"] = {
description = "{{{langname}}} [[gerundive]]s derived from a Proto-Indo-European root by the process of [[w:vṛddhi|vṛddhi]] derivation.",
parents = {"vrddhi derivatives"},
}
labels["vyadhikarana compounds"] = {
description = "{{{langname}}} terms composed of two or more stems in which the non-main stem determines the case endings.",
parents = {"tatpurusa compounds"},
}
for _, fixtype in ipairs({"circumfix", "infix", "interfix", "prefix", "suffix",}) do
labels["terms by " .. fixtype] = {
description = "{{{langname}}} terms categorized by their " .. fixtype .. "es.",
umbrella_parents = "Terms by etymology subcategories by language",
parents = {{name = "terms by etymology", sort = fixtype}, fixtype .. "es"},
}
end
-- Add 'umbrella_parents' key if not already present.
for key, data in pairs(labels) do
-- NOTE: umbrella.parents overrides umbrella_parents if both are given.
if not data.umbrella_parents then
data.umbrella_parents = "Types of compound terms by language"
end
end
-----------------------------------------------------------------------------
-- --
-- RAW CATEGORIES --
-- --
-----------------------------------------------------------------------------
raw_categories["Types of compound terms by language"] = {
description = "Umbrella categories covering topics related to types of compound terms.",
additional = "{{{umbrella_meta_msg}}}",
parents = {
"Umbrella metacategories",
{name = "compound terms", is_label = true, sort = " "},
{name = "Terms by etymology subcategories by language", sort = " "},
},
}
-----------------------------------------------------------------------------
-- --
-- HANDLERS --
-- --
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
------------------------------ Affix handlers -------------------------------
-----------------------------------------------------------------------------
table.insert(handlers, function(data)
local labelpref, pos, affixtype, term_and_id = data.label:match("^(([a-z -]+) ([a-z]+fix)ed with )(.+)$")
if affixtype then
local term, id = term_and_id:match("^(.+) %(([^()]+)%)$")
term = term or term_and_id
-- Convert term/alt into affixes if needed
local desc = {
["prefix"] = "beginning with the prefix",
["suffix"] = "ending with the suffix",
["circumfix"] = "bookended with the circumfix",
["infix"] = "spliced with the infix",
["interfix"] = "joined with the interfix",
-- Transfixes not supported currently.
-- ["transfix"] = "patterned with the transfix",
}
if not desc[affixtype] then
return nil
end
-- Here, {LANG} is replaced with the actual language, {TERM_AND_ID} with the actual term (or with 'TERM<id:ID>'
-- if there is an ID), {BASE} with '<var>base</var>', {BASE2} with '<var>base2</var>', {BASE_EXPL} with an
-- explanation of what "base" means, {BASE_BASE2_EXPL} with an explanation of what "base" and "base2" mean, and
-- {POS} with '|pos=POS' if there is a `pos` other than "terms", otherwise a blank string.
local what_categorizes = {
["prefix"] = "{{tl|af|{LANG}|{TERM_AND_ID}|{BASE}{POS}}} or {{tl|affix|{LANG}|{TERM_AND_ID}|{BASE}{POS}}} (or the more specific and less-preferred equivalents {{tl|pre}} or {{tl|prefix}}), where {BASE_EXPL}",
["suffix"] = "{{tl|af|{LANG}|{BASE}|{TERM_AND_ID}{POS}}} or {{tl|affix|{LANG}|{BASE}|{TERM_AND_ID}{POS}}} (or the more specific and less-preferred equivalents {{tl|suf}} or {{tl|suffix}}), where {BASE_EXPL}",
["circumfix"] = "{{tl|af|{LANG}|{BASE}|{TERM_AND_ID}{POS}}} or {{tl|affix|{LANG}|{BASE}|{TERM_AND_ID}{POS}}}, where {BASE_EXPL}",
["infix"] = "{{tl|infix|{LANG}|{BASE}|{TERM_AND_ID}{POS}}}, where {BASE_EXPL}",
["interfix"] = "{{tl|af|{LANG}|{BASE}|{TERM_AND_ID}{POS}|{BASE2}}} or {{tl|affix|{LANG}|{BASE}|{TERM_AND_ID}|{BASE2}{POS}}}, where {BASE_BASE2_EXPL}",
}
local args = require("Module:parameters").process(data.args, {
["alt"] = true,
["sc"] = true,
["sort"] = true,
["tr"] = true,
["ts"] = true,
})
local sc = data.sc or args.sc and require("Module:scripts").getByCode(args.sc, "sc") or nil
local m_affix = require("Module:affix")
-- Call make_affix to add display hyphens if they're not already present.
local _, display_term, lookup_term = m_affix.make_affix(term, data.lang, sc, affixtype, nil, true)
local _, display_alt = m_affix.make_affix(args.alt, data.lang, sc, affixtype)
local _, display_tr = m_affix.make_affix(args.tr, data.lang, require("Module:scripts").getByCode("Latn"), affixtype)
local _, display_ts = m_affix.make_affix(args.ts, data.lang, require("Module:scripts").getByCode("Latn"), affixtype)
local m_script_utilities = require("Module:script utilities")
local id_text = id and " (" .. id .. ")" or ""
-- Compute parents.
local parents = {}
if id then
if pos == "words" then
-- don't allow formerly-named categories with "words"
return nil
end
if pos == "terms" then
table.insert(parents, {name = labelpref .. term, sort = id, args = args})
else
table.insert(parents, {name = "terms " .. affixtype .. "ed with " .. term_and_id, sort = id .. ", " .. pos, args = args})
table.insert(parents, {name = labelpref .. term, sort = id, args = args})
end
elseif pos == "words" then
-- don't allow formerly-named categories with "words"
return nil
elseif pos ~= "terms" then
table.insert(parents, {name = "terms " .. affixtype .. "ed with " .. term, sort = pos, args = args})
end
table.insert(parents, {name = "terms by " .. affixtype, sort = (data.lang:makeSortKey(data.lang:stripDiacritics(args.sort or term)))})
-- If other affixes are mapped to this one, show them.
local additional
if data.lang then
local langcode = data.lang:getCode()
if m_affix.langs_with_lang_specific_data[langcode] then
local langdata = mw.loadData(m_affix.affix_lang_data_module_prefix .. langcode)
local variants = {}
if langdata.affix_mappings then
for variant, canonical in pairs(langdata.affix_mappings) do
-- Above, we converted the stripped link term as we received it to the lookup form, so we
-- can look up the variants that are mapped to this term. Once we find them, map them to
-- display form.
local is_variant = false
if type(canonical) == "table" then
for _, canonical_v in pairs(canonical) do
if canonical_v == lookup_term then
is_variant = true
break
end
end
else
is_variant = canonical == lookup_term
end
if is_variant then
local _, display_variant = m_affix.make_affix(variant, data.lang, sc, affixtype)
table.insert(variants, "{{m|" .. langcode .. "|" .. display_variant .. "}}")
end
end
if #variants > 0 then
table.sort(variants)
additional = ("This category also includes terms %sed with %s."):format(affixtype,
require("Module:table").serialCommaJoin(variants))
end
end
end
end
if data.lang then
local m_str_utils = require("Module:string utilities")
local what_categorizes_msg = what_categorizes[affixtype]
if not what_categorizes_msg then
error(("Internal error: No what_categorizes value for affixtype '%s' for label '%s', lang '%s'"):
format(affixtype, data.label, data.lang:getCode()))
end
what_categorizes_msg = "Terms are placed in this category using " .. (what_categorizes_msg
:gsub("{LANG}", data.lang:getCode())
:gsub("{TERM_AND_ID}", m_str_utils.replacement_escape(
id and ("%s<id:%s>"):format(term, id) or term))
:gsub("{POS}", m_str_utils.replacement_escape(
pos == "terms" and "" or ("|pos=%s"):format(pos)))
:gsub("{BASE}", "<var>base</var>")
:gsub("{BASE2}", "<var>base2</var>")
:gsub("{BASE_EXPL}", "<code><var>base</var></code> is the base lemma from which this term is derived")
:gsub("{BASE_BASE2_EXPL}", "<code><var>base</var></code> and <code><var>base2</var></code> are the " ..
"base lemmas from which this term is derived")
) .. "."
if data.lang:getCode() == "ja" then
what_categorizes_msg =
require("Module:category tree/fam/jpx/what-categorizes-msg")
.get_what_categorizes_msg(term, nil, affixtype)
end
if what_categorizes_msg and what_categorizes_msg ~= "" then
if additional then
additional = additional .. "\n\n" .. what_categorizes_msg
else
additional = what_categorizes_msg
end
end
end
return {
description = "{{{langname}}} " .. pos .. " " .. desc[affixtype] .. " " .. require("Module:links").full_link({
lang = data.lang, term = display_term, alt = display_alt, sc = sc, id = id, tr = display_tr, ts = display_ts}, "term") .. ".",
additional = additional,
breadcrumb = pos == "terms" and m_script_utilities.tag_text(display_alt or display_term, data.lang, sc, "term") .. id_text or pos,
displaytitle = "{{{langname}}} " .. labelpref .. m_script_utilities.tag_text(term, data.lang, sc, "term") .. id_text,
parents = parents,
umbrella = false,
}, true -- true = args handled
end
end)
return {LABELS = labels, RAW_CATEGORIES = raw_categories, HANDLERS = handlers}
o5oy1ej4y0rkxsrkdp7tw6yxg46ad45
234074
234073
2026-05-15T07:29:10Z
Lee
19
[[:en:Module:category_tree/affixes_and_compounds]] වෙතින් එක් සංශෝධනයක්
234073
Scribunto
text/plain
local labels = {}
local raw_categories = {}
local handlers = {}
-----------------------------------------------------------------------------
-- --
-- LABELS --
-- --
-----------------------------------------------------------------------------
labels["alliterative compounds"] = {
description = "{{{langname}}} noun phrases composed of two or more stems that alliterate.",
parents = {"compound terms", "alliterative phrases"},
}
labels["antonymous compounds"] = {
description = "{{{langname}}} compounds in which one part is an antonym of the other.",
parents = {"dvandva compounds", sort = "antonym"},
}
labels["bahuvrihi compounds"] = {
description = "{{{langname}}} compounds in which the first part (A) modifies the second (B), and whose meaning follows a [[metonymic]] pattern: “<person> having a B that is A.”",
parents = {"compound terms", "exocentric compounds"},
}
-- Add "compound POS" categories for various parts of speech.
local compound_poses = {
"adjectives",
"adverbs",
"conjunctions",
"determiners",
"interjections",
"nouns",
"numerals",
"particles",
"postpositions",
"prefixes",
"prepositions",
"pronouns",
"proper nouns",
"suffixes",
"verbs",
}
for _, pos in ipairs(compound_poses) do
labels["compound " .. pos] = {
description = "{{{langname}}} " .. pos .. " composed of two or more stems.",
parents = {{name = "compound terms", sort = " "}, pos},
}
end
labels["compound determinatives"] = {
description = "{{{langname}}} determinatives composed of two or more stems.",
parents = {"compound terms", "determiners"},
}
labels["compound terms"] = {
description = "{{{langname}}} terms composed of two or more stems.",
umbrella_parents = "Terms by etymology subcategories by language",
parents = {"terms by etymology"},
}
labels["dvandva compounds"] = {
description = "{{{langname}}} terms composed of two or more stems whose stems could be connected by an 'and'.",
parents = {"compound terms"},
}
labels["dvigu compounds"] = {
description = "{{{langname}}} [[tatpuruṣa]] compounds where the modifying member is a number",
parents = {"tatpurusa compounds"},
}
labels["endocentric compounds"] = {
description = "{{{langname}}} terms composed of two or more stems, one of which is the [[w:head (linguistics)|head]] of that compound.",
parents = {"compound terms"},
}
labels["endocentric noun-noun compounds"] = {
description = "{{{langname}}} terms composed of two or more stems, one of which is the [[w:head (linguistics)|head]] of that compound.",
breadcrumb = "noun-noun",
parents = {"endocentric compounds", "compound terms"},
}
labels["endocentric verb-noun compounds"] = {
description = "{{{langname}}} compounds in which the first element is a verbal stem, the second a nominal stem and the head of the compound.",
breadcrumb = "verb-noun",
parents = {"endocentric compounds", "verb-noun compounds"},
}
labels["exocentric compounds"] = {
description = "{{{langname}}} terms composed of two or more stems, none of which is the [[w:head (linguistics)|head]] of that compound.",
parents = {"compound terms"},
}
labels["exocentric verb-noun compounds"] = {
description = "{{{langname}}} compounds in which the first element is a transitive verb, the second a noun functioning as its direct object, and whose referent is the person or thing doing the action.",
breadcrumb = "verb-noun",
parents = {"exocentric compounds", "verb-noun compounds"},
}
labels["karmadharaya compounds"] = {
description = "{{{langname}}} terms composed of two or more stems in which the main stem determines the case endings.",
parents = {"tatpurusa compounds"},
}
labels["itaretara dvandva compounds"] = {
description = "{{{langname}}} terms composed of two or more stems whose stems could be connected by an 'and'.",
breadcrumb = "itaretara",
parents = {"dvandva compounds"},
}
labels["rhyming compounds"] = {
description = "{{{langname}}} noun phrases composed of two or more stems that rhyme.",
parents = {"compound terms", "rhyming phrases"},
}
labels["samahara dvandva compounds"] = {
description = "{{{langname}}} terms composed of two or more stems whose stems could be connected by an 'and'.",
breadcrumb = "samahara",
parents = {"dvandva compounds"},
}
labels["shitgibbons"] = {
description = "{{{langname}}} terms that consist of a single-syllable [[expletive]] followed by a two-syllable [[trochee]] that serves as a [[nominalizer]] or [[intensifier]].",
parents = {"endocentric compounds"},
}
labels["synonymous compounds"] = {
description = "{{{langname}}} compounds in which one part is a synonym of the other.",
parents = {"dvandva compounds", sort = "synonym"},
}
labels["tatpurusa compounds"] = {
description = "{{{langname}}} terms composed of two or more stems",
parents = {"compound terms"},
}
labels["verb-noun compounds"] = {
description = "{{{langname}}} compounds in which the first element is a transitive verb, the second a noun functioning as its direct object, and whose referent is the person or thing doing the action, or an adjective describing such a person or thing.",
parents = {"verb-object compounds"},
}
labels["verb-object compounds"] = {
description = "{{{langname}}} compounds in which the first element is a transitive verb, the second a term (usually but not always a noun) functioning as its (normally direct) object, and whose referent is the person or thing doing the action, or an adjective describing such a person or thing.",
additional = "Examples in English are {{m|en|pickpocket|lit=someone who picks pockets}} and {{m|en|catch-all|lit=something that catches everything}}.",
parents = {"compound terms"},
}
labels["verb-verb compounds"] = {
description = "{{{langname}}} compounds composed of two or more verbs in apposition, often either synonyms or antonyms, and whose referent refers to the result of performing those actions.",
parents = {"compound terms"},
}
labels["vrddhi derivatives"] = {
description = "{{{langname}}} terms derived from a Proto-Indo-European root by the process of [[w:vṛddhi|vṛddhi]] derivation.",
parents = {"terms by etymology"},
}
labels["vrddhi gerundives"] = {
description = "{{{langname}}} [[gerundive]]s derived from a Proto-Indo-European root by the process of [[w:vṛddhi|vṛddhi]] derivation.",
parents = {"vrddhi derivatives"},
}
labels["vyadhikarana compounds"] = {
description = "{{{langname}}} terms composed of two or more stems in which the non-main stem determines the case endings.",
parents = {"tatpurusa compounds"},
}
for _, fixtype in ipairs({"circumfix", "infix", "interfix", "prefix", "suffix",}) do
labels["terms by " .. fixtype] = {
description = "{{{langname}}} terms categorized by their " .. fixtype .. "es.",
umbrella_parents = "Terms by etymology subcategories by language",
parents = {{name = "terms by etymology", sort = fixtype}, fixtype .. "es"},
}
end
-- Add 'umbrella_parents' key if not already present.
for key, data in pairs(labels) do
-- NOTE: umbrella.parents overrides umbrella_parents if both are given.
if not data.umbrella_parents then
data.umbrella_parents = "Types of compound terms by language"
end
end
-----------------------------------------------------------------------------
-- --
-- RAW CATEGORIES --
-- --
-----------------------------------------------------------------------------
raw_categories["Types of compound terms by language"] = {
description = "Umbrella categories covering topics related to types of compound terms.",
additional = "{{{umbrella_meta_msg}}}",
parents = {
"Umbrella metacategories",
{name = "compound terms", is_label = true, sort = " "},
{name = "Terms by etymology subcategories by language", sort = " "},
},
}
-----------------------------------------------------------------------------
-- --
-- HANDLERS --
-- --
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
------------------------------ Affix handlers -------------------------------
-----------------------------------------------------------------------------
table.insert(handlers, function(data)
local labelpref, pos, affixtype, term_and_id = data.label:match("^(([a-z -]+) ([a-z]+fix)ed with )(.+)$")
if affixtype then
local term, id = term_and_id:match("^(.+) %(([^()]+)%)$")
term = term or term_and_id
-- Convert term/alt into affixes if needed
local desc = {
["prefix"] = "beginning with the prefix",
["suffix"] = "ending with the suffix",
["circumfix"] = "bookended with the circumfix",
["infix"] = "spliced with the infix",
["interfix"] = "joined with the interfix",
-- Transfixes not supported currently.
-- ["transfix"] = "patterned with the transfix",
}
if not desc[affixtype] then
return nil
end
-- Here, {LANG} is replaced with the actual language, {TERM_AND_ID} with the actual term (or with 'TERM<id:ID>'
-- if there is an ID), {BASE} with '<var>base</var>', {BASE2} with '<var>base2</var>', {BASE_EXPL} with an
-- explanation of what "base" means, {BASE_BASE2_EXPL} with an explanation of what "base" and "base2" mean, and
-- {POS} with '|pos=POS' if there is a `pos` other than "terms", otherwise a blank string.
local what_categorizes = {
["prefix"] = "{{tl|af|{LANG}|{TERM_AND_ID}|{BASE}{POS}}} or {{tl|affix|{LANG}|{TERM_AND_ID}|{BASE}{POS}}} (or the more specific and less-preferred equivalents {{tl|pre}} or {{tl|prefix}}), where {BASE_EXPL}",
["suffix"] = "{{tl|af|{LANG}|{BASE}|{TERM_AND_ID}{POS}}} or {{tl|affix|{LANG}|{BASE}|{TERM_AND_ID}{POS}}} (or the more specific and less-preferred equivalents {{tl|suf}} or {{tl|suffix}}), where {BASE_EXPL}",
["circumfix"] = "{{tl|af|{LANG}|{BASE}|{TERM_AND_ID}{POS}}} or {{tl|affix|{LANG}|{BASE}|{TERM_AND_ID}{POS}}}, where {BASE_EXPL}",
["infix"] = "{{tl|infix|{LANG}|{BASE}|{TERM_AND_ID}{POS}}}, where {BASE_EXPL}",
["interfix"] = "{{tl|af|{LANG}|{BASE}|{TERM_AND_ID}{POS}|{BASE2}}} or {{tl|affix|{LANG}|{BASE}|{TERM_AND_ID}|{BASE2}{POS}}}, where {BASE_BASE2_EXPL}",
}
local args = require("Module:parameters").process(data.args, {
["alt"] = true,
["sc"] = true,
["sort"] = true,
["tr"] = true,
["ts"] = true,
})
local sc = data.sc or args.sc and require("Module:scripts").getByCode(args.sc, "sc") or nil
local m_affix = require("Module:affix")
-- Call make_affix to add display hyphens if they're not already present.
local _, display_term, lookup_term = m_affix.make_affix(term, data.lang, sc, affixtype, nil, true)
local _, display_alt = m_affix.make_affix(args.alt, data.lang, sc, affixtype)
local _, display_tr = m_affix.make_affix(args.tr, data.lang, require("Module:scripts").getByCode("Latn"), affixtype)
local _, display_ts = m_affix.make_affix(args.ts, data.lang, require("Module:scripts").getByCode("Latn"), affixtype)
local m_script_utilities = require("Module:script utilities")
local id_text = id and " (" .. id .. ")" or ""
-- Compute parents.
local parents = {}
if id then
if pos == "words" then
-- don't allow formerly-named categories with "words"
return nil
end
if pos == "terms" then
table.insert(parents, {name = labelpref .. term, sort = id, args = args})
else
table.insert(parents, {name = "terms " .. affixtype .. "ed with " .. term_and_id, sort = id .. ", " .. pos, args = args})
table.insert(parents, {name = labelpref .. term, sort = id, args = args})
end
elseif pos == "words" then
-- don't allow formerly-named categories with "words"
return nil
elseif pos ~= "terms" then
table.insert(parents, {name = "terms " .. affixtype .. "ed with " .. term, sort = pos, args = args})
end
table.insert(parents, {name = "terms by " .. affixtype, sort = (data.lang:makeSortKey(data.lang:stripDiacritics(args.sort or term)))})
-- If other affixes are mapped to this one, show them.
local additional
if data.lang then
local langcode = data.lang:getCode()
if m_affix.langs_with_lang_specific_data[langcode] then
local langdata = mw.loadData(m_affix.affix_lang_data_module_prefix .. langcode)
local variants = {}
if langdata.affix_mappings then
for variant, canonical in pairs(langdata.affix_mappings) do
-- Above, we converted the stripped link term as we received it to the lookup form, so we
-- can look up the variants that are mapped to this term. Once we find them, map them to
-- display form.
local is_variant = false
if type(canonical) == "table" then
for _, canonical_v in pairs(canonical) do
if canonical_v == lookup_term then
is_variant = true
break
end
end
else
is_variant = canonical == lookup_term
end
if is_variant then
local _, display_variant = m_affix.make_affix(variant, data.lang, sc, affixtype)
table.insert(variants, "{{m|" .. langcode .. "|" .. display_variant .. "}}")
end
end
if #variants > 0 then
table.sort(variants)
additional = ("This category also includes terms %sed with %s."):format(affixtype,
require("Module:table").serialCommaJoin(variants))
end
end
end
end
if data.lang then
local m_str_utils = require("Module:string utilities")
local what_categorizes_msg = what_categorizes[affixtype]
if not what_categorizes_msg then
error(("Internal error: No what_categorizes value for affixtype '%s' for label '%s', lang '%s'"):
format(affixtype, data.label, data.lang:getCode()))
end
what_categorizes_msg = "Terms are placed in this category using " .. (what_categorizes_msg
:gsub("{LANG}", data.lang:getCode())
:gsub("{TERM_AND_ID}", m_str_utils.replacement_escape(
id and ("%s<id:%s>"):format(term, id) or term))
:gsub("{POS}", m_str_utils.replacement_escape(
pos == "terms" and "" or ("|pos=%s"):format(pos)))
:gsub("{BASE}", "<var>base</var>")
:gsub("{BASE2}", "<var>base2</var>")
:gsub("{BASE_EXPL}", "<code><var>base</var></code> is the base lemma from which this term is derived")
:gsub("{BASE_BASE2_EXPL}", "<code><var>base</var></code> and <code><var>base2</var></code> are the " ..
"base lemmas from which this term is derived")
) .. "."
if data.lang:getCode() == "ja" then
what_categorizes_msg =
require("Module:category tree/fam/jpx/what-categorizes-msg")
.get_what_categorizes_msg(term, nil, affixtype)
end
if what_categorizes_msg and what_categorizes_msg ~= "" then
if additional then
additional = additional .. "\n\n" .. what_categorizes_msg
else
additional = what_categorizes_msg
end
end
end
return {
description = "{{{langname}}} " .. pos .. " " .. desc[affixtype] .. " " .. require("Module:links").full_link({
lang = data.lang, term = display_term, alt = display_alt, sc = sc, id = id, tr = display_tr, ts = display_ts}, "term") .. ".",
additional = additional,
breadcrumb = pos == "terms" and m_script_utilities.tag_text(display_alt or display_term, data.lang, sc, "term") .. id_text or pos,
displaytitle = "{{{langname}}} " .. labelpref .. m_script_utilities.tag_text(term, data.lang, sc, "term") .. id_text,
parents = parents,
umbrella = false,
}, true -- true = args handled
end
end)
return {LABELS = labels, RAW_CATEGORIES = raw_categories, HANDLERS = handlers}
o5oy1ej4y0rkxsrkdp7tw6yxg46ad45
234075
234074
2026-05-15T07:29:27Z
Lee
19
පැරණි සංස්කරණයකින් ගත් කොටස්...
234075
Scribunto
text/plain
local labels = {}
local raw_categories = {}
local handlers = {}
local m_sinhala = require("Module:sinhala")
-----------------------------------------------------------------------------
-- --
-- LABELS --
-- --
-----------------------------------------------------------------------------
labels["alliterative compounds"] = {
description = "{{{langname}}} noun phrases composed of two or more stems that alliterate.",
parents = {"සංයුක්ත යෙදුම්", "alliterative phrases"},
}
labels["antonymous compounds"] = {
description = "{{{langname}}} compounds in which one part is an antonym of the other.",
parents = {"dvandva compounds", sort = "antonym"},
}
labels["bahuvrihi compounds"] = {
description = "{{{langname}}} compounds in which the first part (A) modifies the second (B), and whose meaning follows a [[metonymic]] pattern: “<person> having a B that is A.”",
parents = {"සංයුක්ත යෙදුම්", "exocentric compounds"},
}
-- Add "compound POS" categories for various parts of speech.
local compound_poses = {
"adjectives",
"adverbs",
"conjunctions",
"determiners",
"interjections",
"නාම පද",
"numerals",
"particles",
"postpositions",
"උපසර්ග",
"prepositions",
"pronouns",
"proper nouns",
"suffixes",
"verbs",
}
for _, pos in ipairs(compound_poses) do
labels["සංයුක්ත " .. pos] = {
description = "{{{langname}}} " .. pos .. " composed of two or more stems.",
parents = {{name = "සංයුක්ත යෙදුම්", sort = " "}, pos},
}
end
labels["compound determinatives"] = {
description = "{{{langname}}} determinatives composed of two or more stems.",
parents = {"සංයුක්ත යෙදුම්", "determiners"},
}
labels["සංයුක්ත යෙදුම්"] = {
description = "{{{langname}}} terms composed of two or more stems.",
umbrella_parents = "භාෂාව අනුව යෙදුම්, නිරුක්ති උප ප්රවර්ග අනුව",
parents = {"යෙදුම්, නිරුක්තිය අනුව"},
}
labels["dvandva compounds"] = {
description = "{{{langname}}} terms composed of two or more stems whose stems could be connected by an 'and'.",
parents = {"සංයුක්ත යෙදුම්"},
}
labels["dvigu compounds"] = {
description = "{{{langname}}} [[tatpuruṣa]] compounds where the modifying member is a number",
parents = {"tatpurusa compounds"},
}
labels["endocentric compounds"] = {
description = "{{{langname}}} terms composed of two or more stems, one of which is the [[w:head (linguistics)|head]] of that compound.",
parents = {"සංයුක්ත යෙදුම්"},
}
labels["endocentric noun-noun compounds"] = {
description = "{{{langname}}} terms composed of two or more stems, one of which is the [[w:head (linguistics)|head]] of that compound.",
breadcrumb = "noun-noun",
parents = {"endocentric compounds", "සංයුක්ත යෙදුම්"},
}
labels["endocentric verb-noun compounds"] = {
description = "{{{langname}}} compounds in which the first element is a verbal stem, the second a nominal stem and the head of the compound.",
breadcrumb = "verb-noun",
parents = {"endocentric compounds", "verb-noun compounds"},
}
labels["exocentric compounds"] = {
description = "{{{langname}}} terms composed of two or more stems, none of which is the [[w:head (linguistics)|head]] of that compound.",
parents = {"සංයුක්ත යෙදුම්"},
}
labels["exocentric verb-noun compounds"] = {
description = "{{{langname}}} compounds in which the first element is a transitive verb, the second a noun functioning as its direct object, and whose referent is the person or thing doing the action.",
breadcrumb = "verb-noun",
parents = {"exocentric compounds", "verb-noun compounds"},
}
labels["karmadharaya compounds"] = {
description = "{{{langname}}} terms composed of two or more stems in which the main stem determines the case endings.",
parents = {"tatpurusa compounds"},
}
labels["itaretara dvandva compounds"] = {
description = "{{{langname}}} terms composed of two or more stems whose stems could be connected by an 'and'.",
breadcrumb = "itaretara",
parents = {"dvandva compounds"},
}
labels["rhyming compounds"] = {
description = "{{{langname}}} noun phrases composed of two or more stems that rhyme.",
parents = {"සංයුක්ත යෙදුම්", "rhyming phrases"},
}
labels["samahara dvandva compounds"] = {
description = "{{{langname}}} terms composed of two or more stems whose stems could be connected by an 'and'.",
breadcrumb = "samahara",
parents = {"dvandva compounds"},
}
labels["shitgibbons"] = {
description = "{{{langname}}} terms that consist of a single-syllable [[expletive]] followed by a two-syllable [[trochee]] that serves as a [[nominalizer]] or [[intensifier]].",
parents = {"endocentric compounds"},
}
labels["synonymous compounds"] = {
description = "{{{langname}}} compounds in which one part is a synonym of the other.",
parents = {"dvandva compounds", sort = "synonym"},
}
labels["tatpurusa compounds"] = {
description = "{{{langname}}} terms composed of two or more stems",
parents = {"සංයුක්ත යෙදුම්"},
}
labels["verb-noun compounds"] = {
description = "{{{langname}}} compounds in which the first element is a transitive verb, the second a noun functioning as its direct object, and whose referent is the person or thing doing the action, or an adjective describing such a person or thing.",
parents = {"verb-object compounds"},
}
labels["verb-object compounds"] = {
description = "{{{langname}}} compounds in which the first element is a transitive verb, the second a term (usually but not always a noun) functioning as its (normally direct) object, and whose referent is the person or thing doing the action, or an adjective describing such a person or thing.",
additional = "Examples in English are {{m|en|pickpocket|lit=someone who picks pockets}} and {{m|en|catch-all|lit=something that catches everything}}.",
parents = {"සංයුක්ත යෙදුම්"},
}
labels["verb-verb compounds"] = {
description = "{{{langname}}} compounds composed of two or more verbs in apposition, often either synonyms or antonyms, and whose referent refers to the result of performing those actions.",
parents = {"සංයුක්ත යෙදුම්"},
}
labels["vrddhi derivatives"] = {
description = "{{{langname}}} terms derived from a Proto-Indo-European root by the process of [[w:vṛddhi|vṛddhi]] derivation.",
parents = {"යෙදුම්, නිරුක්තිය අනුව"},
}
labels["vrddhi gerundives"] = {
description = "{{{langname}}} [[gerundive]]s derived from a Proto-Indo-European root by the process of [[w:vṛddhi|vṛddhi]] derivation.",
parents = {"vrddhi derivatives"},
}
labels["vyadhikarana compounds"] = {
description = "{{{langname}}} terms composed of two or more stems in which the non-main stem determines the case endings.",
parents = {"tatpurusa compounds"},
}
for _, fixtype in ipairs({"circumfix", "infix", "interfix", "prefix", "suffix",}) do
labels["යෙදුම්, " .. m_sinhala.sinhala(fixtype .. "es") .. " අනුව"] = {
description = "{{{langname}}} යෙදුම්, ඒවායේ " .. m_sinhala.sinhala(fixtype .. "es") .. " වලට අනුව කාණ්ඩ වලට වෙන්කොට ඇති.",
umbrella_parents = "භාෂාව අනුව යෙදුම්, නිරුක්ති උප ප්රවර්ග අනුව",
parents = {{name = "යෙදුම්, නිරුක්තිය අනුව", sort = fixtype}, m_sinhala.sinhala(fixtype .. "es")},
}
end
-- Add 'umbrella_parents' key if not already present.
for key, data in pairs(labels) do
-- NOTE: umbrella.parents overrides umbrella_parents if both are given.
if not data.umbrella_parents then
data.umbrella_parents = "Types of compound terms by language"
end
end
-----------------------------------------------------------------------------
-- --
-- RAW CATEGORIES --
-- --
-----------------------------------------------------------------------------
raw_categories["Types of compound terms by language"] = {
description = "Umbrella categories covering topics related to types of compound terms.",
additional = "{{{umbrella_meta_msg}}}",
parents = {
"ඡත්ර මෙටා ප්රවර්ග",
{name = "සංයුක්ත යෙදුම්", is_label = true, sort = " "},
{name = "භාෂාව අනුව යෙදුම්, නිරුක්ති උප ප්රවර්ග අනුව", sort = " "},
},
}
-----------------------------------------------------------------------------
-- --
-- HANDLERS --
-- --
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
------------------------------ Affix handlers -------------------------------
-----------------------------------------------------------------------------
table.insert(handlers, function(data)
local labelpref, pos, zz_term_and, affixtype, zz_and_id = data.label:match("^((.*), (.+) (.*) සහිත)(.*)$")
local term_and_id
if zz_term_and ~= nil then
term_and_id = zz_term_and
if zz_and_id ~= nil then
term_and_id = term_and_id .. zz_and_id
end
end
if labelpref ~= nil then
-- නව ආකාරය සඳහා අවශ්ය වෙනස
labelpref = labelpref:gsub(zz_term_and, "%%s")
end
if pos == "යෙදුම්" then
pos = "terms"
end
if affixtype == "ප්රත්ය" then
affixtype = "suffix"
end
if affixtype == "උපසර්ග" then
affixtype = "prefix"
end
if affixtype then
local term, id = term_and_id:match("^(.+) %(([^()]+)%)$")
term = term or term_and_id
-- Convert term/alt into affixes if needed
local desc = {
["prefix"] = ", %s උපසර්ගයෙන් ආරම්භ වන",
["suffix"] = ", %s ප්රත්යයෙන් අවසන් වන",
["circumfix"] = "bookended with the circumfix",
["infix"] = "spliced with the infix",
["interfix"] = "joined with the interfix",
-- Transfixes not supported currently.
-- ["transfix"] = "patterned with the transfix",
}
if not desc[affixtype] then
return nil
end
-- Here, {LANG} is replaced with the actual language, {TERM_AND_ID} with the actual term (or with 'TERM<id:ID>'
-- if there is an ID), {BASE} with '<var>base</var>', {BASE2} with '<var>base2</var>', {BASE_EXPL} with an
-- explanation of what "base" means, {BASE_BASE2_EXPL} with an explanation of what "base" and "base2" mean, and
-- {POS} with '|pos=POS' if there is a `pos` other than "terms", otherwise a blank string.
local what_categorizes = {
["prefix"] = "{{tl|af|{LANG}|{TERM_AND_ID}|{BASE}{POS}}} or {{tl|affix|{LANG}|{TERM_AND_ID}|{BASE}{POS}}} (හෝ වැඩි-කැමැත්තක්-නොදක්වන ආකාර වන {{tl|pre}} හෝ {{tl|prefix}}) මගින් සිදු කරයි. මෙහි {BASE_EXPL}",
["suffix"] = "{{tl|af|{LANG}|{BASE}|{TERM_AND_ID}{POS}}} or {{tl|affix|{LANG}|{BASE}|{TERM_AND_ID}{POS}}} (හෝ වැඩි-කැමැත්තක්-නොදක්වන ආකාර වන {{tl|suf}} හෝ {{tl|suffix}}) මගින් සිදු කරයි. මෙහි {BASE_EXPL}",
["circumfix"] = "{{tl|af|{LANG}|{BASE}|{TERM_AND_ID}{POS}}} or {{tl|affix|{LANG}|{BASE}|{TERM_AND_ID}{POS}}}, where {BASE_EXPL}",
["infix"] = "{{tl|infix|{LANG}|{BASE}|{TERM_AND_ID}{POS}}}, where {BASE_EXPL}",
["interfix"] = "{{tl|af|{LANG}|{BASE}|{TERM_AND_ID}{POS}|{BASE2}}} or {{tl|affix|{LANG}|{BASE}|{TERM_AND_ID}|{BASE2}{POS}}}, where {BASE_BASE2_EXPL}",
}
local args = require("Module:parameters").process(data.args, {
["alt"] = true,
["sc"] = true,
["sort"] = true,
["tr"] = true,
["ts"] = true,
})
local sc = data.sc or args.sc and require("Module:scripts").getByCode(args.sc, "sc") or nil
local m_affix = require("Module:affix")
-- Call make_affix to add display hyphens if they're not already present.
local _, display_term, lookup_term = m_affix.make_affix(term, data.lang, sc, affixtype, nil, true)
local _, display_alt = m_affix.make_affix(args.alt, data.lang, sc, affixtype)
local _, display_tr = m_affix.make_affix(args.tr, data.lang, require("Module:scripts").getByCode("Latn"), affixtype)
local _, display_ts = m_affix.make_affix(args.ts, data.lang, require("Module:scripts").getByCode("Latn"), affixtype)
local m_script_utilities = require("Module:script utilities")
local id_text = id and " (" .. id .. ")" or ""
-- Compute parents.
local parents = {}
if id then
if pos == "words" then
-- don't allow formerly-named categories with "words"
return nil
end
if pos == "terms" then
table.insert(parents, {name = (labelpref):format(term), sort = id, args = args})
else
table.insert(parents, {name = ("යෙදුම්, %s %s සහිත"):format(term_and_id, m_sinhala.sinhala(affixtype .. "es")), sort = id .. ", " .. pos, args = args})
table.insert(parents, {name = (labelpref):format(term), sort = id, args = args})
end
elseif pos == "words" then
-- don't allow formerly-named categories with "words"
return nil
elseif pos ~= "terms" then
table.insert(parents, {name = ("යෙදුම්, %s %s සහිත"):format(term, m_sinhala.sinhala(affixtype .. "es")), sort = pos, args = args})
end
table.insert(parents, {name = "යෙදුම්, " .. m_sinhala.sinhala(affixtype .. "es") .. " අනුව", sort = (data.lang:makeSortKey(data.lang:stripDiacritics(args.sort or term)))})
-- If other affixes are mapped to this one, show them.
local additional
if data.lang then
local langcode = data.lang:getCode()
if m_affix.langs_with_lang_specific_data[langcode] then
local langdata = mw.loadData(m_affix.affix_lang_data_module_prefix .. langcode)
local variants = {}
if langdata.affix_mappings then
for variant, canonical in pairs(langdata.affix_mappings) do
-- Above, we converted the stripped link term as we received it to the lookup form, so we
-- can look up the variants that are mapped to this term. Once we find them, map them to
-- display form.
local is_variant = false
if type(canonical) == "table" then
for _, canonical_v in pairs(canonical) do
if canonical_v == lookup_term then
is_variant = true
break
end
end
else
is_variant = canonical == lookup_term
end
if is_variant then
local _, display_variant = m_affix.make_affix(variant, data.lang, sc, affixtype)
table.insert(variants, "{{m|" .. langcode .. "|" .. display_variant .. "}}")
end
end
if #variants > 0 then
table.sort(variants)
additional = ("This category also includes terms %sed with %s."):format(affixtype,
require("Module:table").serialCommaJoin(variants))
end
end
end
end
if data.lang then
local m_str_utils = require("Module:string utilities")
local what_categorizes_msg = what_categorizes[affixtype]
if not what_categorizes_msg then
error(("Internal error: No what_categorizes value for affixtype '%s' for label '%s', lang '%s'"):
format(affixtype, data.label, data.lang:getCode()))
end
what_categorizes_msg = "මෙම ප්රවර්ගය තුළට යෙදුම් එක් කිරීම " .. (what_categorizes_msg
:gsub("{LANG}", data.lang:getCode())
:gsub("{TERM_AND_ID}", m_str_utils.replacement_escape(
id and ("%s<id:%s>"):format(term, id) or term))
:gsub("{POS}", m_str_utils.replacement_escape(
pos == "terms" and "" or ("|pos=%s"):format(pos)))
:gsub("{BASE}", "<var>base</var>")
:gsub("{BASE2}", "<var>base2</var>")
:gsub("{BASE_EXPL}", "<code><var>base</var></code> යනු යෙදුම ව්යුත්පන්න වී ඇති මූලික ලෙමාව වෙයි")
:gsub("{BASE_BASE2_EXPL}", "<code><var>base</var></code> and <code><var>base2</var></code> are the " ..
"යෙදුම ව්යුත්පන්න වී ඇති මූලික ලෙමා")
) .. "."
if data.lang:getCode() == "ja" then
what_categorizes_msg =
require("Module:category tree/fam/jpx/what-categorizes-msg")
.get_what_categorizes_msg(term, nil, affixtype)
end
if what_categorizes_msg and what_categorizes_msg ~= "" then
if additional then
additional = additional .. "\n\n" .. what_categorizes_msg
else
additional = what_categorizes_msg
end
end
end
return {
description = "{{{langname}}} " .. m_sinhala.sinhala(pos) .. " " .. (desc[affixtype]):format(require("Module:links").full_link({
lang = data.lang, term = display_term, alt = display_alt, sc = sc, id = id, tr = display_tr, ts = display_ts}, "term")) .. ".",
additional = additional,
breadcrumb = pos == "terms" and m_script_utilities.tag_text(display_alt or display_term, data.lang, sc, "term") .. id_text or pos,
displaytitle = "{{{langname}}} " .. (labelpref):format(m_script_utilities.tag_text(term, data.lang, sc, "term")) .. id_text,
parents = parents,
umbrella = false,
}, true -- true = args handled
end
end)
return {LABELS = labels, RAW_CATEGORIES = raw_categories, HANDLERS = handlers}
f9ikgtzhaydoziragy3tq748koke4ut
234084
234075
2026-05-15T09:22:27Z
Lee
19
234084
Scribunto
text/plain
local labels = {}
local raw_categories = {}
local handlers = {}
local m_sinhala = require("Module:sinhala")
-----------------------------------------------------------------------------
-- --
-- LABELS --
-- --
-----------------------------------------------------------------------------
labels["alliterative compounds"] = {
description = "{{{langname}}} noun phrases composed of two or more stems that alliterate.",
parents = {"සංයුක්ත යෙදුම්", "alliterative phrases"},
}
labels["antonymous compounds"] = {
description = "{{{langname}}} compounds in which one part is an antonym of the other.",
parents = {"dvandva compounds", sort = "antonym"},
}
labels["bahuvrihi compounds"] = {
description = "{{{langname}}} compounds in which the first part (A) modifies the second (B), and whose meaning follows a [[metonymic]] pattern: “<person> having a B that is A.”",
parents = {"සංයුක්ත යෙදුම්", "exocentric compounds"},
}
-- Add "compound POS" categories for various parts of speech.
local compound_poses = {
"adjectives",
"adverbs",
"conjunctions",
"determiners",
"interjections",
"නාම පද",
"numerals",
"particles",
"postpositions",
"උපසර්ග",
"prepositions",
"pronouns",
"proper nouns",
"suffixes",
"verbs",
}
for _, pos in ipairs(compound_poses) do
labels["සංයුක්ත " .. pos] = {
description = "{{{langname}}} " .. pos .. " composed of two or more stems.",
parents = {{name = "සංයුක්ත යෙදුම්", sort = " "}, pos},
}
end
labels["compound determinatives"] = {
description = "{{{langname}}} determinatives composed of two or more stems.",
parents = {"සංයුක්ත යෙදුම්", "determiners"},
}
labels["සංයුක්ත යෙදුම්"] = {
description = "{{{langname}}} terms composed of two or more stems.",
umbrella_parents = "භාෂාව අනුව යෙදුම්, නිරුක්ති උප ප්රවර්ග අනුව",
parents = {"යෙදුම්, නිරුක්තිය අනුව"},
}
labels["dvandva compounds"] = {
description = "{{{langname}}} terms composed of two or more stems whose stems could be connected by an 'and'.",
parents = {"සංයුක්ත යෙදුම්"},
}
labels["dvigu compounds"] = {
description = "{{{langname}}} [[tatpuruṣa]] compounds where the modifying member is a number",
parents = {"tatpurusa compounds"},
}
labels["endocentric compounds"] = {
description = "{{{langname}}} terms composed of two or more stems, one of which is the [[w:head (linguistics)|head]] of that compound.",
parents = {"සංයුක්ත යෙදුම්"},
}
labels["endocentric noun-noun compounds"] = {
description = "{{{langname}}} terms composed of two or more stems, one of which is the [[w:head (linguistics)|head]] of that compound.",
breadcrumb = "noun-noun",
parents = {"endocentric compounds", "සංයුක්ත යෙදුම්"},
}
labels["endocentric verb-noun compounds"] = {
description = "{{{langname}}} compounds in which the first element is a verbal stem, the second a nominal stem and the head of the compound.",
breadcrumb = "verb-noun",
parents = {"endocentric compounds", "verb-noun compounds"},
}
labels["exocentric compounds"] = {
description = "{{{langname}}} terms composed of two or more stems, none of which is the [[w:head (linguistics)|head]] of that compound.",
parents = {"සංයුක්ත යෙදුම්"},
}
labels["exocentric verb-noun compounds"] = {
description = "{{{langname}}} compounds in which the first element is a transitive verb, the second a noun functioning as its direct object, and whose referent is the person or thing doing the action.",
breadcrumb = "verb-noun",
parents = {"exocentric compounds", "verb-noun compounds"},
}
labels["karmadharaya compounds"] = {
description = "{{{langname}}} terms composed of two or more stems in which the main stem determines the case endings.",
parents = {"tatpurusa compounds"},
}
labels["itaretara dvandva compounds"] = {
description = "{{{langname}}} terms composed of two or more stems whose stems could be connected by an 'and'.",
breadcrumb = "itaretara",
parents = {"dvandva compounds"},
}
labels["rhyming compounds"] = {
description = "{{{langname}}} noun phrases composed of two or more stems that rhyme.",
parents = {"සංයුක්ත යෙදුම්", "rhyming phrases"},
}
labels["samahara dvandva compounds"] = {
description = "{{{langname}}} terms composed of two or more stems whose stems could be connected by an 'and'.",
breadcrumb = "samahara",
parents = {"dvandva compounds"},
}
labels["shitgibbons"] = {
description = "{{{langname}}} terms that consist of a single-syllable [[expletive]] followed by a two-syllable [[trochee]] that serves as a [[nominalizer]] or [[intensifier]].",
parents = {"endocentric compounds"},
}
labels["synonymous compounds"] = {
description = "{{{langname}}} compounds in which one part is a synonym of the other.",
parents = {"dvandva compounds", sort = "synonym"},
}
labels["tatpurusa compounds"] = {
description = "{{{langname}}} terms composed of two or more stems",
parents = {"සංයුක්ත යෙදුම්"},
}
labels["verb-noun compounds"] = {
description = "{{{langname}}} compounds in which the first element is a transitive verb, the second a noun functioning as its direct object, and whose referent is the person or thing doing the action, or an adjective describing such a person or thing.",
parents = {"verb-object compounds"},
}
labels["verb-object compounds"] = {
description = "{{{langname}}} compounds in which the first element is a transitive verb, the second a term (usually but not always a noun) functioning as its (normally direct) object, and whose referent is the person or thing doing the action, or an adjective describing such a person or thing.",
additional = "Examples in English are {{m|en|pickpocket|lit=someone who picks pockets}} and {{m|en|catch-all|lit=something that catches everything}}.",
parents = {"සංයුක්ත යෙදුම්"},
}
labels["verb-verb compounds"] = {
description = "{{{langname}}} compounds composed of two or more verbs in apposition, often either synonyms or antonyms, and whose referent refers to the result of performing those actions.",
parents = {"සංයුක්ත යෙදුම්"},
}
labels["vrddhi derivatives"] = {
description = "{{{langname}}} terms derived from a Proto-Indo-European root by the process of [[w:vṛddhi|vṛddhi]] derivation.",
parents = {"යෙදුම්, නිරුක්තිය අනුව"},
}
labels["vrddhi gerundives"] = {
description = "{{{langname}}} [[gerundive]]s derived from a Proto-Indo-European root by the process of [[w:vṛddhi|vṛddhi]] derivation.",
parents = {"vrddhi derivatives"},
}
labels["vyadhikarana compounds"] = {
description = "{{{langname}}} terms composed of two or more stems in which the non-main stem determines the case endings.",
parents = {"tatpurusa compounds"},
}
for _, fixtype in ipairs({"circumfix", "infix", "interfix", "prefix", "suffix",}) do
labels["යෙදුම්, " .. m_sinhala.sinhala(fixtype .. "es") .. " අනුව"] = {
description = "{{{langname}}} යෙදුම්, ඒවායේ " .. m_sinhala.sinhala(fixtype .. "es") .. " වලට අනුව කාණ්ඩ වලට වෙන්කොට ඇති.",
umbrella_parents = "භාෂාව අනුව යෙදුම්, නිරුක්ති උප ප්රවර්ග අනුව",
parents = {{name = "යෙදුම්, නිරුක්තිය අනුව", sort = fixtype}, m_sinhala.sinhala(fixtype .. "es")},
}
end
-- Add 'umbrella_parents' key if not already present.
for key, data in pairs(labels) do
-- NOTE: umbrella.parents overrides umbrella_parents if both are given.
if not data.umbrella_parents then
data.umbrella_parents = "Types of compound terms by language"
end
end
-----------------------------------------------------------------------------
-- --
-- RAW CATEGORIES --
-- --
-----------------------------------------------------------------------------
raw_categories["Types of compound terms by language"] = {
description = "Umbrella categories covering topics related to types of compound terms.",
additional = "{{{umbrella_meta_msg}}}",
parents = {
"ඡත්ර මෙටා ප්රවර්ග",
{name = "සංයුක්ත යෙදුම්", is_label = true, sort = " "},
{name = "භාෂාව අනුව යෙදුම්, නිරුක්ති උප ප්රවර්ග අනුව", sort = " "},
},
}
-----------------------------------------------------------------------------
-- --
-- HANDLERS --
-- --
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
------------------------------ Affix handlers -------------------------------
-----------------------------------------------------------------------------
table.insert(handlers, function(data)
local function literal_replace(str, old, new)
local safe_old = old:gsub("%p", "%%%0") -- සියලුම සංකේත ස්වයංක්රීයව escape කරයි
local safe_new = new:gsub("%%", "%%%%") -- replacement එකේ ඇති % ලකුණු ආරක්ෂා කරයි
return string.gsub(str, safe_old, safe_new)
end
local labelpref, pos, zz_term_and, affixtype, zz_and_id = data.label:match("^((.*), (.+) (.*) සහිත)(.*)$")
local term_and_id
if zz_term_and ~= nil then
term_and_id = zz_term_and
if zz_and_id ~= nil then
term_and_id = term_and_id .. zz_and_id
end
end
if labelpref ~= nil then
-- නව ආකාරය සඳහා අවශ්ය වෙනස
-- labelpref = labelpref:gsub(zz_term_and, "%%s")
labelpref = literal_replace(labelpref:gsub(zz_term_and, "%%s"), zz_term_and, "%s")
end
if pos == "යෙදුම්" then
pos = "terms"
end
if affixtype == "ප්රත්ය" then
affixtype = "suffix"
end
if affixtype == "උපසර්ග" then
affixtype = "prefix"
end
if affixtype then
local term, id = term_and_id:match("^(.+) %(([^()]+)%)$")
term = term or term_and_id
-- Convert term/alt into affixes if needed
local desc = {
["prefix"] = ", %s උපසර්ගයෙන් ආරම්භ වන",
["suffix"] = ", %s ප්රත්යයෙන් අවසන් වන",
["circumfix"] = "bookended with the circumfix",
["infix"] = "spliced with the infix",
["interfix"] = "joined with the interfix",
-- Transfixes not supported currently.
-- ["transfix"] = "patterned with the transfix",
}
if not desc[affixtype] then
return nil
end
-- Here, {LANG} is replaced with the actual language, {TERM_AND_ID} with the actual term (or with 'TERM<id:ID>'
-- if there is an ID), {BASE} with '<var>base</var>', {BASE2} with '<var>base2</var>', {BASE_EXPL} with an
-- explanation of what "base" means, {BASE_BASE2_EXPL} with an explanation of what "base" and "base2" mean, and
-- {POS} with '|pos=POS' if there is a `pos` other than "terms", otherwise a blank string.
local what_categorizes = {
["prefix"] = "{{tl|af|{LANG}|{TERM_AND_ID}|{BASE}{POS}}} or {{tl|affix|{LANG}|{TERM_AND_ID}|{BASE}{POS}}} (හෝ වැඩි-කැමැත්තක්-නොදක්වන ආකාර වන {{tl|pre}} හෝ {{tl|prefix}}) මගින් සිදු කරයි. මෙහි {BASE_EXPL}",
["suffix"] = "{{tl|af|{LANG}|{BASE}|{TERM_AND_ID}{POS}}} or {{tl|affix|{LANG}|{BASE}|{TERM_AND_ID}{POS}}} (හෝ වැඩි-කැමැත්තක්-නොදක්වන ආකාර වන {{tl|suf}} හෝ {{tl|suffix}}) මගින් සිදු කරයි. මෙහි {BASE_EXPL}",
["circumfix"] = "{{tl|af|{LANG}|{BASE}|{TERM_AND_ID}{POS}}} or {{tl|affix|{LANG}|{BASE}|{TERM_AND_ID}{POS}}}, where {BASE_EXPL}",
["infix"] = "{{tl|infix|{LANG}|{BASE}|{TERM_AND_ID}{POS}}}, where {BASE_EXPL}",
["interfix"] = "{{tl|af|{LANG}|{BASE}|{TERM_AND_ID}{POS}|{BASE2}}} or {{tl|affix|{LANG}|{BASE}|{TERM_AND_ID}|{BASE2}{POS}}}, where {BASE_BASE2_EXPL}",
}
local args = require("Module:parameters").process(data.args, {
["alt"] = true,
["sc"] = true,
["sort"] = true,
["tr"] = true,
["ts"] = true,
})
local sc = data.sc or args.sc and require("Module:scripts").getByCode(args.sc, "sc") or nil
local m_affix = require("Module:affix")
-- Call make_affix to add display hyphens if they're not already present.
local _, display_term, lookup_term = m_affix.make_affix(term, data.lang, sc, affixtype, nil, true)
local _, display_alt = m_affix.make_affix(args.alt, data.lang, sc, affixtype)
local _, display_tr = m_affix.make_affix(args.tr, data.lang, require("Module:scripts").getByCode("Latn"), affixtype)
local _, display_ts = m_affix.make_affix(args.ts, data.lang, require("Module:scripts").getByCode("Latn"), affixtype)
local m_script_utilities = require("Module:script utilities")
local id_text = id and " (" .. id .. ")" or ""
-- Compute parents.
local parents = {}
if id then
if pos == "words" then
-- don't allow formerly-named categories with "words"
return nil
end
if pos == "terms" then
table.insert(parents, {name = (labelpref):format(term), sort = id, args = args})
else
table.insert(parents, {name = ("යෙදුම්, %s %s සහිත"):format(term_and_id, m_sinhala.sinhala(affixtype .. "es")), sort = id .. ", " .. pos, args = args})
table.insert(parents, {name = (labelpref):format(term), sort = id, args = args})
end
elseif pos == "words" then
-- don't allow formerly-named categories with "words"
return nil
elseif pos ~= "terms" then
table.insert(parents, {name = ("යෙදුම්, %s %s සහිත"):format(term, m_sinhala.sinhala(affixtype .. "es")), sort = pos, args = args})
end
table.insert(parents, {name = "යෙදුම්, " .. m_sinhala.sinhala(affixtype .. "es") .. " අනුව", sort = (data.lang:makeSortKey(data.lang:stripDiacritics(args.sort or term)))})
-- If other affixes are mapped to this one, show them.
local additional
if data.lang then
local langcode = data.lang:getCode()
if m_affix.langs_with_lang_specific_data[langcode] then
local langdata = mw.loadData(m_affix.affix_lang_data_module_prefix .. langcode)
local variants = {}
if langdata.affix_mappings then
for variant, canonical in pairs(langdata.affix_mappings) do
-- Above, we converted the stripped link term as we received it to the lookup form, so we
-- can look up the variants that are mapped to this term. Once we find them, map them to
-- display form.
local is_variant = false
if type(canonical) == "table" then
for _, canonical_v in pairs(canonical) do
if canonical_v == lookup_term then
is_variant = true
break
end
end
else
is_variant = canonical == lookup_term
end
if is_variant then
local _, display_variant = m_affix.make_affix(variant, data.lang, sc, affixtype)
table.insert(variants, "{{m|" .. langcode .. "|" .. display_variant .. "}}")
end
end
if #variants > 0 then
table.sort(variants)
additional = ("This category also includes terms %sed with %s."):format(affixtype,
require("Module:table").serialCommaJoin(variants))
end
end
end
end
if data.lang then
local m_str_utils = require("Module:string utilities")
local what_categorizes_msg = what_categorizes[affixtype]
if not what_categorizes_msg then
error(("Internal error: No what_categorizes value for affixtype '%s' for label '%s', lang '%s'"):
format(affixtype, data.label, data.lang:getCode()))
end
what_categorizes_msg = "මෙම ප්රවර්ගය තුළට යෙදුම් එක් කිරීම " .. (what_categorizes_msg
:gsub("{LANG}", data.lang:getCode())
:gsub("{TERM_AND_ID}", m_str_utils.replacement_escape(
id and ("%s<id:%s>"):format(term, id) or term))
:gsub("{POS}", m_str_utils.replacement_escape(
pos == "terms" and "" or ("|pos=%s"):format(pos)))
:gsub("{BASE}", "<var>base</var>")
:gsub("{BASE2}", "<var>base2</var>")
:gsub("{BASE_EXPL}", "<code><var>base</var></code> යනු යෙදුම ව්යුත්පන්න වී ඇති මූලික ලෙමාව වෙයි")
:gsub("{BASE_BASE2_EXPL}", "<code><var>base</var></code> and <code><var>base2</var></code> are the " ..
"යෙදුම ව්යුත්පන්න වී ඇති මූලික ලෙමා")
) .. "."
if data.lang:getCode() == "ja" then
what_categorizes_msg =
require("Module:category tree/fam/jpx/what-categorizes-msg")
.get_what_categorizes_msg(term, nil, affixtype)
end
if what_categorizes_msg and what_categorizes_msg ~= "" then
if additional then
additional = additional .. "\n\n" .. what_categorizes_msg
else
additional = what_categorizes_msg
end
end
end
return {
description = "{{{langname}}} " .. m_sinhala.sinhala(pos) .. " " .. (desc[affixtype]):format(require("Module:links").full_link({
lang = data.lang, term = display_term, alt = display_alt, sc = sc, id = id, tr = display_tr, ts = display_ts}, "term")) .. ".",
additional = additional,
breadcrumb = pos == "terms" and m_script_utilities.tag_text(display_alt or display_term, data.lang, sc, "term") .. id_text or pos,
displaytitle = "{{{langname}}} " .. labelpref .. m_script_utilities.tag_text(term, data.lang, sc, "term") .. id_text,
parents = parents,
umbrella = false,
}, true -- true = args handled
end
end)
return {LABELS = labels, RAW_CATEGORIES = raw_categories, HANDLERS = handlers}
rewtzyjw1vxmyh4fuj96yhjxhdxcecw
ප්රවර්ගය:යෙදුම්, West Circassian පරිවර්තන සහිත
14
115157
234089
191296
2026-05-15T09:33:14Z
Lee
19
Lee විසින් [[ප්රවර්ගය:යෙදුම්, Adyghe පරිවර්තන සහිත]] සිට [[ප්රවර්ගය:යෙදුම්, West Circassian පරිවර්තන සහිත]] වෙත පිටුව ගෙන යන ලදී
170661
wikitext
text/x-wiki
{{auto cat}}
[[en:Category:Terms with Adyghe translations]]
c0kpuhtdc5rh8bmbwxprxm9o76zk9m7
ප්රවර්ගය:යෙදුම්, අශෝක ප්රාකෘත පරිවර්තන සහිත
14
115201
234091
191336
2026-05-15T09:34:13Z
Pinthura
2424
Pinthura විසින් [[ප්රවර්ගය:යෙදුම්, Ashokan Prakrit පරිවර්තන සහිත]] සිට [[ප්රවර්ගය:යෙදුම්, අශෝක ප්රාකෘත පරිවර්තන සහිත]] වෙත පිටුව ගෙන යන ලදී: සේවා: නව ප්රවර්ග නාමය වෙත ගෙනයාම.
170798
wikitext
text/x-wiki
{{auto cat}}
[[en:Category:Terms with Ashokan Prakrit translations]]
ci6db1oqd1i8r4bakhyuxxm0ew9ysat
ප්රවර්ගය:යෙදුම්, Central Bikol පරිවර්තන සහිත
14
115242
234095
191372
2026-05-15T09:34:41Z
Lee
19
Lee විසින් [[ප්රවර්ගය:යෙදුම්, Bikol Central පරිවර්තන සහිත]] සිට [[ප්රවර්ගය:යෙදුම්, Central Bikol පරිවර්තන සහිත]] වෙත පිටුව ගෙන යන ලදී
171718
wikitext
text/x-wiki
{{auto cat}}
[[en:Category:Terms with Bikol Central translations]]
h4t2rtpn8k0g6wudb37pc327tr340po
ප්රවර්ගය:යෙදුම්, East Circassian පරිවර්තන සහිත
14
115332
234103
191560
2026-05-15T09:51:57Z
Lee
19
Lee විසින් [[ප්රවර්ගය:යෙදුම්, Kabardian පරිවර්තන සහිත]] සිට [[ප්රවර්ගය:යෙදුම්, East Circassian පරිවර්තන සහිත]] වෙත පිටුව ගෙන යන ලදී
171808
wikitext
text/x-wiki
{{auto cat}}
[[en:Category:Terms with Kabardian translations]]
1d6ykj2unm06jjxzypog38hnu4dc3jz
ප්රවර්ගය:යෙදුම්, Māori පරිවර්තන සහිත
14
115384
234105
191668
2026-05-15T09:53:07Z
Lee
19
Lee විසින් [[ප්රවර්ගය:යෙදුම්, Maori පරිවර්තන සහිත]] සිට [[ප්රවර්ගය:යෙදුම්, Māori පරිවර්තන සහිත]] වෙත පිටුව ගෙන යන ලදී
171860
wikitext
text/x-wiki
{{auto cat}}
[[en:Category:Terms with Maori translations]]
hp72cqohj62eqjy0q8hrmmj9xd4wpch
ප්රවර්ගය:යෙදුම්, Mbya Guarani පරිවර්තන සහිත
14
115386
234107
191674
2026-05-15T09:53:41Z
Lee
19
Lee විසින් [[ප්රවර්ගය:යෙදුම්, Mbyá Guaraní පරිවර්තන සහිත]] සිට [[ප්රවර්ගය:යෙදුම්, Mbya Guarani පරිවර්තන සහිත]] වෙත පිටුව ගෙන යන ලදී
171862
wikitext
text/x-wiki
{{auto cat}}
[[en:Category:Terms with Mbyá Guaraní translations]]
1incnlmq6tb51pylpqqvz0fqdtm0xn4
ප්රවර්ගය:යෙදුම්, Paraguayan Guarani පරිවර්තන සහිත
14
115429
234109
191760
2026-05-15T09:54:10Z
Lee
19
Lee විසින් [[ප්රවර්ගය:යෙදුම්, Paraguayan Guaraní පරිවර්තන සහිත]] සිට [[ප්රවර්ගය:යෙදුම්, Paraguayan Guarani පරිවර්තන සහිත]] වෙත පිටුව ගෙන යන ලදී
171905
wikitext
text/x-wiki
{{auto cat}}
[[en:Category:Terms with Paraguayan Guaraní translations]]
8110z8fuv837qbv85z9z1yk03iulnt9
ප්රවර්ගය:යෙදුම්, Romansh පරිවර්තන සහිත
14
115449
234113
191800
2026-05-15T09:56:32Z
Lee
19
Lee විසින් [[ප්රවර්ගය:යෙදුම්, Romansch පරිවර්තන සහිත]] සිට [[ප්රවර්ගය:යෙදුම්, Romansh පරිවර්තන සහිත]] වෙත පිටුව ගෙන යන ලදී
171925
wikitext
text/x-wiki
{{auto cat}}
[[en:Category:Terms with Romansch translations]]
rdfjbekbar9bxgie4prd95sogf5dyjg
ප්රවර්ගය:යෙදුම්, සර්බෝ-ක්රොඒෂියානු පරිවර්තන සහිත
14
115459
234115
191822
2026-05-15T09:57:35Z
Pinthura
2424
Pinthura විසින් [[ප්රවර්ගය:යෙදුම්, Serbo-Croatian පරිවර්තන සහිත]] සිට [[ප්රවර්ගය:යෙදුම්, සර්බෝ-ක්රොඒෂියානු පරිවර්තන සහිත]] වෙත පිටුව ගෙන යන ලදී: සේවා: නව ප්රවර්ග නාමය වෙත ගෙනයාම.
171935
wikitext
text/x-wiki
{{auto cat}}
[[en:Category:Terms with Serbo-Croatian translations]]
gdc17nwc8pgo0my4grl3bfqdtj1x8sq
ප්රවර්ගය:භාෂාව අනුව යෙදුම්, ඉන්දු-ඉරාන භාෂා වෙතින් ව්යුත්පන්න
14
125372
234085
193049
2026-05-15T09:26:22Z
Lee
19
Lee විසින් [[ප්රවර්ගය:භාෂාව අනුව යෙදුම්, Indo-Iranian භාෂා වෙතින් ව්යුත්පන්න]] සිට [[ප්රවර්ගය:භාෂාව අනුව යෙදුම්, ඉන්දු-ඉරාන භාෂා වෙතින් ව්යුත්පන්න]] වෙත පිටුව ගෙන යන ලදී
193047
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
ගයයි
0
130740
234033
219282
2026-05-14T17:20:23Z
WrdSrchSi
3305
/* ක්රියා පද */ quote#2 with link; /*ආශ්රිත පද*/ + 2
234033
wikitext
text/x-wiki
==සිංහල==
===වෙනත් ආකාර===
* {{l|si|ගයා}}
=== නිරුක්තිය ===
{{etymon|si|id=ගයා යි|af|si>ගයා>පදය|si>යි>පදය|tree=1}}
===උච්චාරණය===
* {{IPA|si|/ˈɡajaji/}}
===ක්රියා පද===
{{head|si|verb
|අතීත-සකර්මක අන්ය පුරුෂ ඒකවචන|ගැයී
|අනතීත-කර්ම කාරක අන්ය පුරුෂ ඒකවචන|ගැයේ
|අතීත-කර්ම කාරක අන්ය පුරුෂ ඒකවචන|ගැයිණි
|අනතීත-සකර්මක අන්ය පුරුෂ බහුවචන|ගයති
|අනතීත-සකර්මක උත්තම ඒකවචන|ගයමි
|අනතීත-සකර්මක උත්තම බහුවචන|ගයමු
|අනතීත-ප්රයුක්ත|ගයවයි
|අනතීත-භාව නාම|ගයනවා
|අනතීත-කාරක නාම|ගයන්නේ
|වර්තමාන-නිපාත|ගයමින්
}}
# {{lb|si||සකර්මක}} [[ගායනා]] කරනවා.
#:* archives1.dinamina.lk, ''දිණමිණ'', 2020 ජනවාරි 23
#:*: ''‘වූහාන් යළි නැගිටින්න’නගර වැසියෝ ගී '''ගයති''' (සිරස්තලය)''
#:* කුමරසිහි කිත්සිරි, ''[https://www.ahubudu.lk/assets/pdf/EDIYA_Veluma4_Kalaba5.pdf සුනිල්සාන්තයන් හා හෙළ මියැසිය]'', 2507 නිකිණි 1963 අගෝස්තු
#:*: ''ගුරුදෙවි මුනිදසුන් ගේ අතින් පැබැඳී සුනිලුන් ගේ මුවින් '''ගැයී''' හෙළය පුරා පතළ-වැ ගිය පුබුදුව ගීය වැනි ගී මේ හෙළයේ මෙ තෙක් බිහි වූයේ වත් බිහි වන්නේ වත් නැති තරමි.''
====ව්යුත්පන්න පද====
{{top4}}
* {{l|si|සගයුව}}
* {{l|si|පුනගැයිය}}
{{bottom}}
====ආශ්රිත පද====
{{top4}}
* {{l|si|ගැයුම්}}
* {{l|si|ගැයුම}}
* {{l|si|ගැයිය}}
* {{l|si|ගී}}
* {{l|si|ගීය}}
* {{l|si|ගයා#ක්රියා පද|ගයා}} (සකර්මක අතීත නිපාත)
{{bottom}}
==== පරිවර්තන ====
''පරිවර්තන සඳහා අනාගත කාලය සලකා නැත.''
{{trans-top|ගයයි}}
* ඉංග්රීසි: {{t|en|sings}}
{{trans-bottom}}
=== අමතර අවධානයට ===
* {{l|si|වයයි}}
* {{l|si|නටයි}}
=== මූලාශ්ර ===
<references/>
* "ගය", {{cite book
|url=https://tipitaka.lk/library/963|title=ක්රියා විවරණය|author=කුමාරණතුංග මුනිදාස|page=135|access-date=2025-01-19}}
[[ප්රවර්ගය: සිංහල ආඛ්යාත ක්රියා පද]]
c9gu68u59icf6qcynels0qf65vjuf0y
ගී
0
135655
234035
217912
2026-05-14T17:26:00Z
WrdSrchSi
3305
/* නාම පදය */ + quote with link
234035
wikitext
text/x-wiki
==සිංහල==
=== නිරුක්තිය ===
{{rfe|si}}
===උච්චාරණය===
* {{IPA|si|/ˈɡiː/}}
===නාම පදය===
{{head|si|noun form}}
# {{plural of|si|ගීය}}
#:* කුමරසිහි කිත්සිරි, ''[https://www.ahubudu.lk/assets/pdf/EDIYA_Veluma4_Kalaba5.pdf සුනිල්සාන්තයන් හා හෙළ මියැසිය]'', 2507 නිකිණි 1963 අගෝස්තු
#:*: ''ගුරුදෙවි මුනිදසුන් ගේ අතින් පැබැඳී සුනිලුන් ගේ මුවින් ගැයී හෙළය පුරා පතළ-වැ ගිය පුබුදුව ගීය වැනි '''ගී''' මේ හෙළයේ මෙ තෙක් බිහි වූයේ වත් බිහි වන්නේ වත් නැති තරමි.''
=== නාම විශේෂණ පදය ===
{{si-adj}}
# {{rfdef|en}}
l1c1rt7cj66kmfrbqnqw51wxr74ifjj
ප්රවර්ගය:ඉංග්රීසි යෙදුම්, a- (not) උපසර්ග සහිත
14
136488
234070
219455
2026-05-15T07:21:33Z
Lee
19
234070
wikitext
text/x-wiki
{{auto cat}}
[[en:Category:English terms prefixed with a- (not)]]
grzcft9vutlkm5engkzj1gkoakytpl8
බඳී
0
136610
234037
229038
2026-05-14T17:34:43Z
WrdSrchSi
3305
/* ව්යුත්පන්න පද */ + 1
234037
wikitext
text/x-wiki
==සිංහල==
===වෙනත් ආකාර===
* {{l|si|බඳියි}}
=== නිරුක්තිය ===
{{rfe|si}}
===උච්චාරණය===
* {{IPA|si|/ˈbaⁿd̪iː/}}
===ක්රියා පද===
{{head|si|verb
|අතීත-සකර්මක අන්ය පුරුෂ ඒකවචන|බැඳි
|අනතීත-කර්ම කාරක අන්ය පුරුෂ ඒකවචන|බැඳේ
|අතීත-කර්ම කාරක අන්ය පුරුෂ ඒකවචන|බැඳිණි
|අනතීත-සකර්මක අන්ය පුරුෂ බහුවචන|බඳිති
|අනතීත-සකර්මක උත්තම ඒකවචන|බඳිමි
|අනතීත-සකර්මක උත්තම බහුවචන|බඳිමු
|අනතීත-ප්රයුක්ත|බඳවයි
|අනතීත-භාව නාම|බඳිනවා
|අනතීත-කාරක නාම|බඳින්නේ
|වර්තමාන-නිපාත|බඳිමින්
}}
# {{lb|si||සකර්මක}} {{{1|{{rfdef|si}}}}} #: ''{{{2|<!-- example sentence -->}}}''
#:* මොහොට්ටි දොණු දේවිදු, ''[https://www.ahubudu.lk/assets/pdf/EDIYA_Veluma5_Kalaba1.pdf මගේ බලපිටි සමය]'', 2507 බක් . 1964 අප්රේල්
#:*: ''එ දා මේ පිරික්සුමට ඉදිරිපත් වූ ගුරු මහතුන් ගෙන් කිහිප දෙනෙක් සිටිය හ කොංඩය '''බැඳි'''.''
====ව්යුත්පන්න පද====
{{top4}}
* {{l|si|විබඳී#ක්රියා පද}}
* {{l|si|පබඳී#ක්රියා පද}}
{{bottom}}
====ආශ්රිත පද====
{{top4}}
* {{l|si|බැඳුම්}}
* {{l|si|බැඳුම}}
* {{l|si|බඳින}}
{{bottom}}
==== පරිවර්තන ====
''පරිවර්තන සඳහා අනාගත කාලය සලකා නැත.''
{{trans-top|බඳී}}
* ඉංග්රීසි: {{t|en|ties}}
{{trans-bottom}}
=== අමතර අවධානයට ===
{{top4}}
* {{l|si|අමුණයි}}
* {{l|si|පුරුද්දයි}}
* {{l|si|ආඳයි}}
* {{l|si|දෑඳයි}}
{{bottom}}
=== මූලාශ්ර ===
<references/>
* "බඳ [https://tipitaka.lk/library/963]", කුමාරණතුංග මුනිදාස, '''''ක්රියා විවරණය''''', — පිටුව 174, 2025-01-18
* "බඳ [https://tipitaka.lk/library/955]", වැලිවිටියේ සෝරත හිමි, '''''ශ්රී සුමංගල සිංහල ශබ්දකෝෂය 2 ප-ළ 1956''''', — 675 පිටුව
* "බඳී [https://www.ahubudu.lk/assets/pdf/EDIYA_Veluma6,Kalaba4.pdf]", Munidasa Cumaratunga, ''Sinhalese Through English'' — එඩිය, 6 වෙළුම, 4 කලබ, 118 පිටුව
[[ප්රවර්ගය: සිංහල ආඛ්යාත ක්රියා පද]]
gphxip0f93t1qbxpj5i91yigkjatsya
තරමි
0
138364
234036
225627
2026-05-14T17:31:20Z
WrdSrchSi
3305
+ si-adv + definition + quote with link
234036
wikitext
text/x-wiki
== සිංහල ==
===උච්චාරණය===
* {{IPA|si|/ˈtarəmi/}}
===ක්රියා පද===
{{head|si|verb forms|head=තරමි|අතීත-සකර්මක උත්තම ඒකවචන|තිරීමි|අනතීත-කර්ම කාරක උත්තම ඒකවචන|තැරෙමි|අතීත-කර්ම කාරක උත්තම ඒකවචන|තැරිණිමි}}
# {{lb|si|සකර්මක}} {{infl of|si|තරයි||අනතීත|උත්තම පුරුෂ|ඒකවචන|ආඛ්යාත ක්රියා}}
===ක්රියා විශේෂණ පද?===
{{si-adv|-}}
# තරම් + යි ?
#:* කුමරසිහි කිත්සිරි, ''[https://www.ahubudu.lk/assets/pdf/EDIYA_Veluma4_Kalaba5.pdf සුනිල්සාන්තයන් හා හෙළ මියැසිය]'', 2507 නිකිණි 1963 අගෝස්තු
#:*: ''ගුරුදෙවි මුනිදසුන් ගේ අතින් පැබැඳී සුනිලුන් ගේ මුවින් ගැයී හෙළය පුරා පතළ-වැ ගිය පුබුදුව ගීය වැනි ගී මේ හෙළයේ මෙ තෙක් බිහි වූයේ වත් බිහි වන්නේ වත් නැති '''තරමි'''.''
[[ප්රවර්ගය: සිංහල ආඛ්යාත ක්රියා පද]]
eycxgb83r1ulogudvbaa83chtf4nokn
අනුගති
0
138633
234023
224233
2026-05-14T14:56:54Z
WrdSrchSi
3305
+ වෙනත් ආකාර
234023
wikitext
text/x-wiki
== සිංහල ==
===වෙනත් ආකාර===
* {{l|si|අනුගත්#ක්රියා පද|අනුගත්}}
* {{l|si|අනුගත#ක්රියා පදඅනුගත}}
=== නිරුක්තිය ===
{{etymon|si|id=අනු-ගන් ඉ|af|si>අනු-ගන්#ධාතු ප්රකෘතිය>ප්රකෘතිය|si>-ඉ>ප්රත්ය|tree=1}}
''[[අනු-ගන්#ධාතු ප්රකෘතිය|අනු-ගන්]] (ප්රකෘතිය) + [[-ඉ]] (ප්රත්ය) > අනුග - '''න්''' + '''ත්''' (ව්යඤ්ජන ආදේශය) + -ඉ >'' [[අනුගති]]
===උච්චාරණය===
* {{IPA|si|/ˈanuɡati/}}
===ක්රියා පද===
{{head|si|verb forms}}
# {{lb|si|සකර්මක}} {{infl of|si|අනුගනී#ක්රියා පද||අතීත|අන්ය පුරුෂ|ඒකවචන|ආඛ්යාත ක්රියා}}
[[ප්රවර්ගය: සිංහල ආඛ්යාත ක්රියා පද]]
28xa45omsvlz3ckgmhzxaev0nk3db6u
ගැයී
0
139474
234034
225775
2026-05-14T17:23:48Z
WrdSrchSi
3305
+ head|si|verb forms + infl of|si (ක්රියා පද 2) + ප්රවර්ගය
234034
wikitext
text/x-wiki
==සිංහල==
=== නිරුක්තිය ===
{{etymon|si|id=ගය ඊ|af|si>ගය#ධාතු ප්රකෘතිය>ප්රකෘතිය|si>-ඊ>ප්රත්ය|tree=1}}
''[[ගය#ධාතු ප්රකෘතිය|ගය]] (ප්රකෘතිය) + [[-ඊ]] (ප්රත්ය) >'' [[ගැයී]]
===උච්චාරණය===
* {{IPA|si|/ˈɡæjiː/}}
===ක්රියා පද 1===
{{head|si|verb forms}}
# {{lb|si|සකර්මක}} {{infl of|si|ගයයි#ක්රියා පද||අතීත|අන්ය පුරුෂ|ඒකවචන|ආඛ්යාත ක්රියා}}
===ක්රියා පද 2===
{{head|si|verb forms|සකර්මක අතීත-නිපාත|ගයා#ක්රියා පද|අනතීත-කර්ම කාරක අන්ය පුරුෂ ඒකවචන ආඛ්යාත|ගැයේ#ක්රියා පද}}
# {{infl of|si|ගයයි#ක්රියා පද||කර්ම කාරක|අතීත|නිපාත ක්රියා}}
[[ප්රවර්ගය: සිංහල ආඛ්යාත ක්රියා පද]] [[ප්රවර්ගය: සිංහල නිපාත ක්රියා පද]]
nxxz2ojycsb2yffcoa4b6lbx5z89bkd
ලියූ
0
140884
234016
230955
2026-05-14T12:35:59Z
WrdSrchSi
3305
+ IPA|si + si-adj + definition + මූලාශ්ර
234016
wikitext
text/x-wiki
== සිංහල ==
===උච්චාරණය===
* {{IPA|si|/ˈliju/}}
=== ක්රියා පද ===
{{head|si|verb form}}
# {{{1|{{rfdef|si}}}}} #: ''{{{2|<!-- example sentence -->}}}''
=== මූලාශ්ර ===
<references/>
* කුමාරණතුංග මුනිදාස, ''[https://tipitaka.lk/library/963 ක්රියා විවරණය]'', — 22 පිටුව
=== නාම විශේෂණ පදය ===
{{si-adj}}
# [[ලියයි#ක්රියා පද|ලියන]] ලද
=== මූලාශ්ර ===
<references/>
* "[https://tipitaka.lk/library/955 ලියූ]", වැලිවිටියේ සෝරත හිමි, '''''ශ්රී සුමංගල සිංහල ශබ්දකෝෂය 2 ප-ළ 1956''''', — පිටුව 871
mbm1yibmwhl5o0x8gtenupl5ba2ytox
Module:category tree/fam/jpx
828
140957
234054
233705
2026-05-15T02:59:11Z
en>Shlyst
0
add template use explanation to [[Category:Japanese terms with Odaka pitch accent not deaccented before の (Tōkyō)]] and [[Category:Japanese terms with Nakadaka pitch accent deaccented before の (Tōkyō)]]
234054
Scribunto
text/plain
local labels = {}
local handlers = {}
local m_str_utils = require("Module:string utilities")
local concat = table.concat
local full_link = require("Module:links").full_link
local insert = table.insert
local Hani_sort = require("Module:Hani-sortkey").makeSortKey
local match = m_str_utils.match
local sort = table.sort
local tag_text = require("Module:script_utilities").tag_text
local ucfirst = m_str_utils.ucfirst
local Hira = require("Module:scripts").getByCode("Hira")
local Jpan = require("Module:scripts").getByCode("Jpan")
local kana_to_romaji = require("Module:Hrkt-translit").tr
local m_numeric = require("Module:ConvertNumeric")
local kana_capture = "([-" .. require("Module:ja/data/range").kana .. "・]+)"
local yomi_data = require("Module:kanjitab/data")
labels["adnominals"] = {
description = "{{{langname}}} adnominals, or {{ja-r|連%体%詞|れん%たい%し}}, which modify nouns, and do not conjugate or [[predicate#Verb|predicate]].",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["hiragana"] = {
description = "{{{langname}}} terms with hiragana {{mdash}} {{ja-r|平%仮%名|ひら%が%な}} {{mdash}} forms, sorted by conventional hiragana sequence. The hiragana form is a [[phonetic]] representation of that word. " ..
"Wiktionary represents {{{langname}}}-language segments in three ways: in normal form (with [[kanji]], if appropriate), in [[hiragana]] " ..
"form (this differs from kanji form only when the segment contains kanji), and in [[romaji]] form.",
additional = "''See also'' [[:Category:{{{langname}}} katakana]]",
toc_template = "Hira-categoryTOC",
toc_template_full = "Hira-categoryTOC/full",
parents = {
{name = "{{{langcat}}}", raw = true},
"Category:Hiragana script characters",
}
}
labels["historical hiragana"] = {
description = "{{{langname}}} historical [[hiragana]].",
additional = "''See also'' [[:Category:{{{langname}}} historical katakana]].",
toc_template = "Hira-categoryTOC",
toc_template_full = "Hira-categoryTOC/full",
parents = {
"hiragana",
{name = "{{{langcat}}}", raw = true},
"Category:Hiragana script characters",
}
}
labels["katakana"] = {
description = "{{{langname}}} terms with katakana {{mdash}} {{ja-r|片%仮%名|かた%か%な}} {{mdash}} forms, sorted by conventional katakana sequence. Katakana is used primarily for transliterations of foreign words, including old Chinese hanzi not used in [[shinjitai]].",
additional = "''See also'' [[:Category:{{{langname}}} hiragana]]",
toc_template = "Kana-categoryTOC",
toc_template_full = "Kana-categoryTOC/full",
parents = {
{name = "{{{langcat}}}", raw = true},
"Category:Katakana script characters",
}
}
labels["historical katakana"] = {
description = "{{{langname}}} historical [[katakana]].",
additional = "''See also'' [[:Category:{{{langname}}} historical hiragana]].",
toc_template = "Kana-categoryTOC",
toc_template_full = "Kana-categoryTOC/full",
parents = {
"katakana",
{name = "{{{langcat}}}", raw = true},
"Category:Katakana script characters",
}
}
labels["terms spelled with mixed kana"] = {
description = "{{{langname}}} terms which combine [[hiragana]] and [[katakana]] characters, potentially with [[kanji]] too.",
parents = {
{name = "{{{langcat}}}", raw = true},
"hiragana",
"katakana",
},
}
labels["kanji"] = {
topright = "{{wp|Kanji}}",
description = "{{{langname}}} symbols of the Han logographic script, which can represent sounds or convey meanings directly.",
toc_template = "Hani-categoryTOC",
umbrella = "Han characters",
parents = "logograms",
}
labels["kanji by reading"] = {
description = "{{{langname}}} kanji categorized by reading.",
parents = {{name = "kanji", sort = "reading"}},
}
labels["makurakotoba"] = {
topright = "{{wp|Makurakotoba}}",
description = "{{{langname}}} idioms used in poetry to introduce specific words.",
parents = {"idioms"},
}
labels["terms by kanji readings"] = {
description = "{{{langname}}} categories grouped with regard to the readings of the kanji with which they are spelled.",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["terms by reading pattern"] = {
description = "{{{langname}}} categories with terms grouped by their reading patterns.",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["terms by number of kanji"] = {
description = "{{{langname}}} terms categorized by number of kanji.",
parents = {"terms by orthographic property"},
}
local function handle_onyomi_list(category, category_type, cat_yomi_type)
local onyomi, seen = {}, {}
for _, yomi in pairs(yomi_data) do
if not seen[yomi] and yomi.onyomi then
local yomi_catname = yomi[category_type]
if yomi_catname ~= false then
local yomi_type = yomi.type
if yomi_type ~= "on'yomi" and yomi_type ~= cat_yomi_type then
insert(onyomi, "[[:Category:{{{langname}}} " .. category:gsub("{{{yomi_catname}}}", yomi_catname) .. "]]")
end
end
end
seen[yomi] = true
end
sort(onyomi)
return onyomi
end
local function add_yomi_category(category, category_type, parent, description)
for _, yomi in pairs(yomi_data) do
local yomi_catname = yomi[category_type]
if yomi_catname ~= false then
local yomi_type = yomi.type
local yomi_desc = yomi.link or yomi_catname
if yomi.description then
yomi_desc = yomi_desc .. "; " .. yomi.description
end
local label = {
description = description .. " " .. yomi_desc .. ".",
breadcrumb = yomi_type,
parents = {{name = parent, sort = yomi_catname}},
}
if yomi.onyomi then
local onyomi = handle_onyomi_list(category, category_type, yomi_type)
label.additional = "Categories of terms with " ..
(yomi_type == "on'yomi" and "more" or "other") ..
" specific types of on'yomi readings can be found in the following categories:\n* " .. concat(onyomi, "\n* ")
if yomi_type ~= "on'yomi" then
insert(label.parents, 1, {
name = (category:gsub("{{{yomi_catname}}}", yomi_data.on[category_type])),
sort = yomi_catname
})
end
end
labels[category:gsub("{{{yomi_catname}}}", yomi_catname)] = label
end
end
end
add_yomi_category(
"terms read with {{{yomi_catname}}}",
"reading_category",
"terms by reading pattern",
"{{{langname}}} terms read with"
)
add_yomi_category(
"terms spelled with kanji with {{{yomi_catname}}} readings",
"kanji_category",
"terms by kanji reading type",
"{{{langname}}} categories with terms that are spelled with one or more kanji read with"
)
labels["terms with missing yomi"] = {
description = "{{{langname}}} terms where at least one [[Appendix:Japanese glossary#yomi|yomi]] is missing from {{tl|{{{langcode}}}-kanjitab}}.",
hidden = true,
can_be_empty = true,
parents = {"entry maintenance"},
}
labels["terms with IPA pronunciation with pitch accent"] = {
description = "{{{langname}}} terms with pronunciations that have {{w|Japanese pitch accent|pitch accent}} specified.",
additional = "Pitch accent can be specified in {{tl|{{{langcode}}}-pron}} with the {{code|=acc=}} parameter.",
can_be_empty = true,
parents = {"entry maintenance", "pitch accent"},
}
labels["terms with IPA pronunciation missing pitch accent"] = {
description = "{{{langname}}} terms with pronunciations that do not have a {{w|Japanese pitch accent|pitch accent}} specified.",
additional = "Pitch accent can be specified in {{tl|{{{langcode}}}-pron}} with the {{code|=acc=}} parameter.",
hidden = true,
can_be_empty = true,
parents = {"entry maintenance"},
}
labels["pitch accent"] = {
description = "{{{langname}}} terms regarding {{w|Japanese pitch accent|pitch accent}} pronunciation.",
can_be_empty = true,
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["terms with Heiban pitch accent (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[平板型|Heiban]] {{w|Japanese pitch accent|pitch accent}}.",
can_be_empty = true,
parents = {"pitch accent"}
}
labels["terms with Atamadaka pitch accent (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[頭高型|Atamadaka]] {{w|Japanese pitch accent|pitch accent}}.",
can_be_empty = true,
parents = {"pitch accent"}
}
labels["terms with Nakadaka pitch accent (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[中高型|Nakadaka]] {{w|Japanese pitch accent|pitch accent}}.",
can_be_empty = true,
parents = {"pitch accent"}
}
labels["terms with Odaka pitch accent (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[尾高型|Odaka]] {{w|Japanese pitch accent|pitch accent}}.",
can_be_empty = true,
parents = {"pitch accent"}
}
labels["terms with complex pitch accent (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) complex {{w|Japanese pitch accent|pitch accent}}, as in having more than one {{m|ja|アクセント句}}.",
can_be_empty = true,
parents = {"pitch accent"}
}
labels["pitch accent deaccenting before の"] = {
description = "{{{langname}}} terms with {{w|Japanese pitch accent|pitch accent}} pronunciations that have exceptional deaccenting or lack thereof before の ({{ja-deaccenting-before-no}}).",
can_be_empty = true,
parents = {"pitch accent"}
}
labels["terms with Odaka pitch accent not deaccented before の (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[尾高型|Odaka]] {{w|Japanese pitch accent|pitch accent}} and do not become deaccented before の ({{ja-deaccenting-before-no}}).\n\nTerms are placed in this category using {{tl|ja-odaka-deaccent-exception}}.",
can_be_empty = true,
parents = {"pitch accent deaccenting before の"}
}
labels["terms with Nakadaka pitch accent deaccented before の (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[中高型|Nakadaka]] {{w|Japanese pitch accent|pitch accent}} and become deaccented before の ({{ja-deaccenting-before-no}}).\n\nTerms are placed in this category using {{tl|ja-nakadaka-deaccent}}.",
can_be_empty = true,
parents = {"pitch accent deaccenting before の"}
}
labels["terms by kanji reading type"] = {
description = "{{{langname}}} categories with terms grouped with regard to the types of readings of the kanji with which " ..
"they are spelled; broadly, those of Chinese origin, {{ja-r|音|おん}} readings, and those of non-Chinese origin, {{ja-r|訓|くん}} readings.",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["terms spelled with ateji"] = {
topright = "{{wp|Ateji}}",
description = "{{{langname}}} terms containing one or more [[Appendix:Japanese glossary#ateji|ateji]] {{mdash}} {{ja-r|当て字|あてじ}} {{mdash}} which are [[kanji]] used to represent sounds rather than meanings (though meaning may have some influence on which kanji are chosen).",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["terms spelled with daiyōji"] = {
description = "Japanese terms spelled using [[Appendix:Japanese glossary#daiyouji|daiyōji]], categorized using {{temp|ja-daiyouji}}.",
parents = {"terms by etymology"},
}
labels["terms spelled with jukujikun"] = {
description = "{{{langname}}} terms containing one or more [[Appendix:Japanese glossary#jukujikun|jukujikun]] {{mdash}} {{ja-r|熟%字%訓|じゅく%じ%くん}} {{mdash}} which are [[kanji]] used to represent meanings rather than sounds.",
parents = {{name = "{{{langcat}}}", raw = true}},
}
local function add_grade_categories(grade, desc, wp, only_one, parent, sort)
local grade_kanji = grade .. " kanji"
local topright = wp and ("{{wp|%s}}"):format(ucfirst(grade_kanji)) or nil
labels[grade_kanji] = {
topright = topright,
description = "{{{langname}}} kanji " .. desc,
toc_template = "Hani-categoryTOC",
parents = {{
name = parent and (parent .. " kanji") or "kanji",
sort = sort or grade
}},
}
labels["terms spelled with " .. grade_kanji] = {
topright = topright,
description = "{{{langname}}} terms spelled with " .. (only_one and "at least one " or "") .. "kanji " .. desc,
parents = {{
name = parent and ("terms spelled with " .. parent .. " kanji") or "terms by orthographic property",
sort = sort or grade
}},
}
end
for i = 1, 6 do
local ord = m_numeric.ones_position_ord[i]
add_grade_categories(
ord .. " grade",
"taught in the " .. ord .. " grade of elementary school, as designated by the the official list of {{ja-r|教%育 漢%字|きょう%いく かん%じ|education kanji}}.",
false,
false,
"kyōiku",
i
)
end
add_grade_categories(
"kyōiku",
"on the official list of {{ja-r|教%育 漢%字|きょう%いく かん%じ|education kanji}}.",
true,
false,
"jōyō"
)
add_grade_categories(
"secondary school",
"on the official list of {{ja-r|常%用 漢%字|じょう%よう かん%じ|regular-use characters}} that are generally taught in secondary school.",
false,
false,
"jōyō"
)
add_grade_categories(
"jōyō",
"on the official list of {{ja-r|常%用 漢%字|じょう%よう かん%じ|regular-use characters}}.",
true,
false
)
add_grade_categories(
"tōyō",
"on the official list of {{ja-r|当%用 漢%字|とう%よう かん%じ|general-use characters}}, which was used from 1946{{ndash}}1981 until the publication of the list of {{ja-r|常%用 漢%字|じょう%よう かん%じ|regular-use characters}}.",
true,
false
)
add_grade_categories(
"jinmeiyō",
"on the official list of {{ja-r|人%名%用 漢%字|じん%めい%-よう かん%じ|kanji for use in personal names}}.",
true,
true
)
add_grade_categories(
"hyōgai",
"not included on the official list of {{ja-r|常%用 漢%字|じょう%よう かん%じ|regular-use characters}} or {{ja-r|人%名%用 漢%字|じん%めい%-よう かん%じ|kanji for use in personal names}}, known as {{ja-r|表%外 漢%字|ひょう%がい かん%じ}} or {{ja-r|表%外%字|ひょう%がい%じ|unlisted characters}}.",
true,
true
)
labels["terms with multiple readings"] = {
description = "{{{langname}}} terms with multiple pronunciations (hence multiple [[kana]] spellings).",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["kanji readings by number of morae"] = {
description = "{{{langname}}} categories grouped with regard to the number of morae in their kanji readings.",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["single-kanji terms"] = {
description = "{{{langname}}} terms written as a single kanji.",
parents = {
"terms by orthographic property",
{name = "terms with 1 kanji", sort = " "},
},
}
labels["kanji with kun readings missing okurigana designation"] = {
breadcrumb = "Kanji missing okurigana designation",
description = "{{{langname}}} kanji entries in which one or more kun readings entered into {{tl|{{{langcode}}}-readings}} is missing a hyphen denoting okurigana.",
toc_template = "Hani-categoryTOC",
hidden = true,
can_be_empty = true,
parents = {"entry maintenance"},
}
labels["terms by the individual characters in their historical spellings"] = {
breadcrumb = "Historical",
description = "{{{langname}}} terms categorized by whether their spellings in the {{w|historical kana orthography}} included certain individual characters.",
parents = {{name = "terms by their individual characters", sort = " "}},
}
labels["verbs without transitivity"] = {
description = "{{{langname}}} verbs missing the {{code|=tr=}} parameter from their headword templates.",
hidden = true,
can_be_empty = true,
parents = {"entry maintenance"},
}
labels["yojijukugo"] = {
topright = "{{wp|Yojijukugo}}",
description = "{{{langname}}} four-[[kanji]] compound terms, {{ja-r|四%字 熟%語|よ%じ じゅく%ご}}, with idiomatic meanings; typically derived from Classical Chinese, Buddhist scripture or traditional Japanese proverbs.",
additional = "Compare Chinese {{w|chengyu}} and Korean {{w|sajaseong-eo}}.",
umbrella = "four-character idioms",
parents = {"idioms"},
}
-- FIXME: Only works for 0 through 19.
local word_to_number = {}
for k, v in pairs(m_numeric.ones_position) do
word_to_number[v] = k
end
local periods = {
historical = true,
ancient = true,
}
local function get_period_text_and_reading_type_link(period, reading_type)
if period and not periods[period] then
return nil
end
local period_text = period and period .. " " or nil
-- Allow periods (historical or ancient) by themselves; they will parse as reading types.
if not period and periods[reading_type] then
return nil, reading_type
end
local reading_type_link = "[[Appendix:Japanese glossary#" .. reading_type .. "|" .. reading_type .. "]]"
return period_text, reading_type_link
end
local function get_sc(str)
return match(str:gsub("[%s%p]+", ""), "[^" .. Hira:getCharacters() .. "]") and Jpan or Hira
end
local function get_tagged_reading(reading, lang)
return tag_text(reading, lang, get_sc(reading))
end
local function get_reading_link(reading, lang, period, link)
local hist = periods[period]
reading = reading:gsub("[%.%-%s]+", "")
return full_link({
lang = lang,
sc = get_sc(reading),
term = link or reading:gsub("・", ""),
-- If we have okurigana, demarcate furigana.
alt = reading:gsub("^(.-)・", "<span style=\"border-top:1px solid;position:relative;padding:1px;\">%1<span style=\"position:absolute;top:0;bottom:67%%;right:0%%;border-right:1px solid;\"></span></span>"),
tr = kana_to_romaji((reading:gsub("・", ".")), lang:getCode(), nil, {keep_dot = true, hist = hist})
:gsub("^(.-)%.", "<u>%1</u>"),
pos = reading:find("・", 1, true) and get_tagged_reading((reading:gsub("^.-・", "~")), lang) or nil
}, "term")
end
local function is_on_subtype(reading_type)
return reading_type:find(".on$")
end
insert(handlers, function(data)
local n =data.label:match("^terms with ([1-9]%d*) kanji$")
if not n then
return
end
local sortkey = require("Module:category tree").numeral_sortkey(n, 2097152)
return {
breadcrumb = n,
description = ("{{{langname}}} terms containing exactly %d kanji."):format(n),
-- TODO: implement this using the same mechanism used to implement parents (i.e. avoiding the need for raw categories).
-- umbrella = {
-- breadcrumb = ("%d kanji"):format(n),
-- parents = {{name = "terms by number of kanji subcategories by language", sort = sortkey}},
-- },
parents = {{name = ("terms by number of kanji"), sort = sortkey}}
}
end)
insert(handlers, function(data)
local label_pref, kana = data.label:match("^(terms historically spelled with )" .. kana_capture .. "$")
if not kana then
return
end
local lang = data.lang
return {
description = "{{{langname}}} terms spelled with " .. get_reading_link(kana, lang, "historical") .. " in the {{w|historical kana orthography}}.",
displaytitle = "{{{langname}}} " .. label_pref .. get_tagged_reading(kana, lang),
breadcrumb = "historical",
parents = {
{name = "terms spelled with " .. kana, sort = " "},
{name = "terms by the individual characters in their historical spellings", sort = lang:makeSortKey(kana)}
},
umbrella = false,
}
end)
insert(handlers, function(data)
local count, plural = data.label:match("^kanji readings with (.+) mora(e?)$")
-- Make sure 'one' goes with singular and other numbers with plural.
if not count or (count == "one") ~= (plural == "") then
return
end
local num = word_to_number[count]
if not num then
return nil
end
return {
description = "{{{langname}}} kanji readings containing " .. count .. " mora" .. plural .. ".",
breadcrumb = num,
parents = {{name = "kanji readings by number of morae", sort = num}},
umbrella = false,
}
end)
insert(handlers, function(data)
local label_pref, period, reading_type, reading = match(data.label, "^(kanji with ([a-z]-) ?([%a']+) reading )" .. kana_capture .. "$")
if not period then
return
end
period = period ~= "" and period or nil
local period_text, reading_type_link = get_period_text_and_reading_type_link(period, reading_type)
if not reading_type_link then
return
end
local lang = data.lang
-- Compute parents.
local parents, breadcrumb = {}
if reading:find("・", 1, true) then
local okurigana = reading:match("・(.*)")
insert(parents, {
name = "kanji with " .. (period_text or "") .. reading_type .. " reading " .. reading:match("(.-)・"),
-- Sort by okurigana, since all coordinate categories will have the same furigana.
sort = (lang:makeSortKey(okurigana))
})
breadcrumb = "~" .. okurigana
else
insert(parents, {
name = "kanji by " .. (period_text or "") .. reading_type .. " reading",
sort = (lang:makeSortKey(reading))
})
breadcrumb = reading
end
if is_on_subtype(reading_type) then
insert(parents, {name = "kanji with " .. (period_text or "") .. "on reading " .. reading, sort = reading_type})
elseif period_text then
insert(parents, {name = "kanji with " .. period_text .. "reading " .. reading, sort = reading_type})
end
if not period_text then
insert(parents, {name = "kanji read as " .. reading, sort = reading_type})
end
return {
description = "{{{langname}}} [[kanji]] with the " .. (period_text or "") .. reading_type_link .. " reading " ..
get_reading_link(reading, lang, period or reading_type) .. ".",
displaytitle = "{{{langname}}} " .. label_pref .. get_tagged_reading(reading, lang),
breadcrumb = get_tagged_reading(breadcrumb, lang),
parents = parents,
umbrella = false,
}
end)
insert(handlers, function(data)
local period, reading_type = match(data.label, "^kanji by ([a-z]-) ?([%a']+) reading$")
if not period then
return
end
period = period ~= "" and period or nil
local period_text, reading_type_link = get_period_text_and_reading_type_link(period, reading_type)
if not reading_type_link then
return nil
end
-- Compute parents.
local parents = {
is_on_subtype(reading_type) and {name = "kanji by " .. (period_text or "") .. "on reading", sort = reading_type} or
period_text and {name = "kanji by " .. reading_type .. " reading", sort = period} or
{name = "kanji by reading", sort = reading_type}
}
if period_text then
insert(parents, {name = "kanji by " .. period_text .. "reading", sort = reading_type})
end
-- Compute description.
local description = "{{{langname}}} [[kanji]] categorized by " .. (period_text or "") .. reading_type_link .. " reading."
return {
description = description,
breadcrumb = (period_text or "") .. reading_type,
parents = parents,
umbrella = false,
}
end)
insert(handlers, function(data)
local label_pref, reading = match(data.label, "^(kanji read as )" .. kana_capture .. "$")
if not reading then
return
end
local args = require("Module:parameters").process(data.args, {
["histconsol"] = true,
})
local lang = data.lang
local parents, breadcrumb = {}
if reading:find("・", 1, true) then
local okurigana = reading:match("・(.*)")
insert(parents, {
name = "kanji read as " .. reading:match("(.-)・"),
-- Sort by okurigana, since all coordinate categories will have the same furigana.
sort = (lang:makeSortKey(okurigana))
})
breadcrumb = "~" .. okurigana
else
insert(parents, {
name = "kanji by reading",
sort = (lang:makeSortKey(reading))
})
breadcrumb = reading
end
local addl
local period_text
if args.histconsol then
period_text = "historical"
addl = ("This is a [[Wikipedia:Historical kana orthography|historical]] [[Wikipedia:Kanazukai|reading]], now " ..
"consolidated with the [[Wikipedia:Modern kana usage|modern reading]] of " ..
get_reading_link(args.histconsol, lang, nil, ("Category:Japanese kanji read as %s"):format(args.histconsol)) .. ".")
end
return {
description = "{{{langname}}} [[kanji]] read as " .. get_reading_link(reading, lang, period_text) .. ".",
additional = addl,
displaytitle = "{{{langname}}} " .. label_pref .. get_tagged_reading(reading, lang),
breadcrumb = get_tagged_reading(breadcrumb, lang),
parents = parents,
umbrella = false,
}, true
end)
insert(handlers, function(data)
local label_pref, reading = match(data.label, "^(terms spelled with kanji read as )" .. kana_capture .. "$")
if not reading then
return
end
-- Compute parents.
local lang = data.lang
local sort_key = (lang:makeSortKey(reading))
local mora_count = require("Module:ja").count_morae(reading)
local mora_count_words = m_numeric.spell_number(tostring(mora_count))
local parents = {
{name = "terms by kanji readings", sort = sort_key},
{name = "kanji readings with " .. mora_count_words .. " mora" .. (mora_count > 1 and "e" or ""), sort = sort_key},
{name = "kanji read as " .. reading, sort = " "},
}
local tagged_reading = get_tagged_reading(reading, lang)
return {
description = "{{{langname}}} terms that contain kanji that exhibit a reading of " .. get_reading_link(reading, lang) ..
" in those terms prior to any sound changes.",
displaytitle = "{{{langname}}} " .. label_pref .. tagged_reading,
breadcrumb = tagged_reading,
parents = parents,
umbrella = false,
}
end)
insert(handlers, function(data)
local kanji, reading = match(data.label, "^terms spelled with (.) read as " .. kana_capture .. "$")
if not kanji then
return nil
end
local args = require("Module:parameters").process(data.args, {
[1] = {list = true},
})
local lang = data.lang
if #args[1] == 0 then
error("For categories of the form \"" .. lang:getCanonicalName() ..
" terms spelled with KANJI read as READING\", at least one reading type (e.g. <code>kun</code> or <code>on</code>) must be specified using <code>1=</code>, <code>2=</code>, <code>3=</code>, etc.")
end
local yomi_types, parents = {}, {}
for _, yomi, category in ipairs(args[1]) do
local yomi_data = yomi_data[yomi]
if not yomi_data then
error("The yomi type \"" .. yomi .. "\" is not recognized.")
end
category = yomi_data.kanji_category
if not category then
error("The yomi type \"" .. yomi .. "\" is not valid for this type of category.")
end
insert(yomi_types, yomi_data.link)
insert(parents, {
name = "terms spelled with kanji with " .. category .. " readings",
sort = (lang:makeSortKey(reading))
})
end
insert(parents, 1, {name = "terms spelled with " .. kanji, sort = (lang:makeSortKey(reading))})
insert(parents, 2, {name = "terms spelled with kanji read as " .. reading, sort = Hani_sort(kanji)})
yomi_types = (#yomi_types > 1 and "one of " or "") .. "its " ..
require("Module:table").serialCommaJoin(yomi_types, {conj = "or"}) ..
" reading" .. (#yomi_types > 1 and "s" or "")
local tagged_kanji = get_tagged_reading(kanji, lang)
local tagged_reading = get_tagged_reading(reading, lang)
return {
description = "{{{langname}}} terms spelled with {{l|{{{langcode}}}|" .. kanji .. "}} with " ..
yomi_types .. " of " .. get_reading_link(reading, lang) .. ".",
displaytitle = "{{{langname}}} terms spelled with " .. tagged_kanji .. " read as " .. tagged_reading,
breadcrumb = "read as " .. tagged_reading,
parents = parents,
umbrella = false,
}, true
end)
insert(handlers, function(data)
local affix, kanji, reading = data.label:match("^terms ([a-z]+fix)ed with (.+) read as " .. kana_capture .. "$")
if not affix or not kanji or not reading then
return nil
end
local args = require("Module:parameters").process(data.args, {
[1] = {list = true},
})
local lang = data.lang
if #args[1] == 0 then
error("For categories of the form \"" .. lang:getCanonicalName() ..
" terms AFFIXed with KANJI read as READING\", at least one reading type (e.g. <code>kun</code> or <code>on</code>) must be specified using <code>1=</code>, <code>2=</code>, <code>3=</code>, etc.")
end
local yomi_types = {}
for _, yomi, category in ipairs(args[1]) do
local yomi_data = yomi_data[yomi]
if not yomi_data then
error("The yomi type \"" .. yomi .. "\" is not recognized.")
end
category = yomi_data.kanji_category
if not category then
error("The yomi type \"" .. yomi .. "\" is not valid for this type of category.")
end
insert(yomi_types, yomi_data.link)
end
yomi_types = (#yomi_types > 1 and "one of " or "") .. "its " ..
require("Module:table").serialCommaJoin(yomi_types, {conj = "or"}) ..
" reading" .. (#yomi_types > 1 and "s" or "")
local description = "{{{langname}}} terms " .. affix .. "ed with {{l|{{{langcode}}}|" .. kanji .. "}} with " ..
yomi_types .. " of " .. get_reading_link(reading, lang) .. "."
local what_categorizes_msg =
require("Module:category tree/fam/jpx/what-categorizes-msg")
.get_what_categorizes_msg(kanji, reading, affix)
if what_categorizes_msg then
description = description .. "\n\n" .. what_categorizes_msg
end
local parents = {}
table.insert(parents, {name = "terms " .. affix .. "ed with " .. kanji, sort = (lang:makeSortKey(reading))})
if mw.title.new("Category:" .. lang:getCanonicalName() .. " terms spelled with " .. kanji .. " read as " .. reading).exists then
table.insert(parents, {name = "terms spelled with " .. kanji .. " read as " .. reading, sort = (lang:makeSortKey(reading)), args=data.args})
end
local tagged_kanji = get_tagged_reading(kanji, lang)
local tagged_reading = get_tagged_reading(reading, lang)
return {
description = description,
displaytitle = "{{{langname}}} terms " .. affix .. "ed with " .. tagged_kanji .. " read as " .. tagged_reading,
breadcrumb = "read as " .. reading,
parents = parents,
umbrella = false,
}, true
end)
insert(handlers, function(data)
local kanji, daiyoji = match(data.label, "^terms with (.) replaced by daiyōji (.)$")
if not kanji then
return nil
end
local args = require("Module:parameters").process(data.args, {
["sort"] = true,
})
local lang = data.lang
if not args.sort then
error("For categories of the form \"" .. lang:getCanonicalName() ..
" terms with KANJI replaced by daiyōji DAIYOJI\", the sort key must be specified using sort=")
end
local tagged_kanji = get_tagged_reading(kanji, lang)
local tagged_daiyoji = get_tagged_reading(daiyoji, lang)
return {
description = "{{{langname}}} terms with {{l|{{{langcode}}}|" .. kanji .. "}} replaced by [[Appendix:Japanese glossary#daiyouji|daiyōji]] {{l|{{{langcode}}}|" .. daiyoji .. "}}.",
displaytitle = "{{{langname}}} terms with " .. tagged_kanji .. " replaced by daiyōji " .. tagged_daiyoji,
breadcrumb = tagged_kanji .. " replaced by daiyōji " .. tagged_daiyoji,
parents = {{name = "terms spelled with daiyōji", sort = args.sort}},
umbrella = false,
}, true
end)
return {LABELS = labels, HANDLERS = handlers}
ea2zmcmhguqw3ivdjan9pb199sxgqx3
234055
234054
2026-05-15T06:49:54Z
Lee
19
[[:en:Module:category_tree/fam/jpx]] වෙතින් එක් සංශෝධනයක්
234054
Scribunto
text/plain
local labels = {}
local handlers = {}
local m_str_utils = require("Module:string utilities")
local concat = table.concat
local full_link = require("Module:links").full_link
local insert = table.insert
local Hani_sort = require("Module:Hani-sortkey").makeSortKey
local match = m_str_utils.match
local sort = table.sort
local tag_text = require("Module:script_utilities").tag_text
local ucfirst = m_str_utils.ucfirst
local Hira = require("Module:scripts").getByCode("Hira")
local Jpan = require("Module:scripts").getByCode("Jpan")
local kana_to_romaji = require("Module:Hrkt-translit").tr
local m_numeric = require("Module:ConvertNumeric")
local kana_capture = "([-" .. require("Module:ja/data/range").kana .. "・]+)"
local yomi_data = require("Module:kanjitab/data")
labels["adnominals"] = {
description = "{{{langname}}} adnominals, or {{ja-r|連%体%詞|れん%たい%し}}, which modify nouns, and do not conjugate or [[predicate#Verb|predicate]].",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["hiragana"] = {
description = "{{{langname}}} terms with hiragana {{mdash}} {{ja-r|平%仮%名|ひら%が%な}} {{mdash}} forms, sorted by conventional hiragana sequence. The hiragana form is a [[phonetic]] representation of that word. " ..
"Wiktionary represents {{{langname}}}-language segments in three ways: in normal form (with [[kanji]], if appropriate), in [[hiragana]] " ..
"form (this differs from kanji form only when the segment contains kanji), and in [[romaji]] form.",
additional = "''See also'' [[:Category:{{{langname}}} katakana]]",
toc_template = "Hira-categoryTOC",
toc_template_full = "Hira-categoryTOC/full",
parents = {
{name = "{{{langcat}}}", raw = true},
"Category:Hiragana script characters",
}
}
labels["historical hiragana"] = {
description = "{{{langname}}} historical [[hiragana]].",
additional = "''See also'' [[:Category:{{{langname}}} historical katakana]].",
toc_template = "Hira-categoryTOC",
toc_template_full = "Hira-categoryTOC/full",
parents = {
"hiragana",
{name = "{{{langcat}}}", raw = true},
"Category:Hiragana script characters",
}
}
labels["katakana"] = {
description = "{{{langname}}} terms with katakana {{mdash}} {{ja-r|片%仮%名|かた%か%な}} {{mdash}} forms, sorted by conventional katakana sequence. Katakana is used primarily for transliterations of foreign words, including old Chinese hanzi not used in [[shinjitai]].",
additional = "''See also'' [[:Category:{{{langname}}} hiragana]]",
toc_template = "Kana-categoryTOC",
toc_template_full = "Kana-categoryTOC/full",
parents = {
{name = "{{{langcat}}}", raw = true},
"Category:Katakana script characters",
}
}
labels["historical katakana"] = {
description = "{{{langname}}} historical [[katakana]].",
additional = "''See also'' [[:Category:{{{langname}}} historical hiragana]].",
toc_template = "Kana-categoryTOC",
toc_template_full = "Kana-categoryTOC/full",
parents = {
"katakana",
{name = "{{{langcat}}}", raw = true},
"Category:Katakana script characters",
}
}
labels["terms spelled with mixed kana"] = {
description = "{{{langname}}} terms which combine [[hiragana]] and [[katakana]] characters, potentially with [[kanji]] too.",
parents = {
{name = "{{{langcat}}}", raw = true},
"hiragana",
"katakana",
},
}
labels["kanji"] = {
topright = "{{wp|Kanji}}",
description = "{{{langname}}} symbols of the Han logographic script, which can represent sounds or convey meanings directly.",
toc_template = "Hani-categoryTOC",
umbrella = "Han characters",
parents = "logograms",
}
labels["kanji by reading"] = {
description = "{{{langname}}} kanji categorized by reading.",
parents = {{name = "kanji", sort = "reading"}},
}
labels["makurakotoba"] = {
topright = "{{wp|Makurakotoba}}",
description = "{{{langname}}} idioms used in poetry to introduce specific words.",
parents = {"idioms"},
}
labels["terms by kanji readings"] = {
description = "{{{langname}}} categories grouped with regard to the readings of the kanji with which they are spelled.",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["terms by reading pattern"] = {
description = "{{{langname}}} categories with terms grouped by their reading patterns.",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["terms by number of kanji"] = {
description = "{{{langname}}} terms categorized by number of kanji.",
parents = {"terms by orthographic property"},
}
local function handle_onyomi_list(category, category_type, cat_yomi_type)
local onyomi, seen = {}, {}
for _, yomi in pairs(yomi_data) do
if not seen[yomi] and yomi.onyomi then
local yomi_catname = yomi[category_type]
if yomi_catname ~= false then
local yomi_type = yomi.type
if yomi_type ~= "on'yomi" and yomi_type ~= cat_yomi_type then
insert(onyomi, "[[:Category:{{{langname}}} " .. category:gsub("{{{yomi_catname}}}", yomi_catname) .. "]]")
end
end
end
seen[yomi] = true
end
sort(onyomi)
return onyomi
end
local function add_yomi_category(category, category_type, parent, description)
for _, yomi in pairs(yomi_data) do
local yomi_catname = yomi[category_type]
if yomi_catname ~= false then
local yomi_type = yomi.type
local yomi_desc = yomi.link or yomi_catname
if yomi.description then
yomi_desc = yomi_desc .. "; " .. yomi.description
end
local label = {
description = description .. " " .. yomi_desc .. ".",
breadcrumb = yomi_type,
parents = {{name = parent, sort = yomi_catname}},
}
if yomi.onyomi then
local onyomi = handle_onyomi_list(category, category_type, yomi_type)
label.additional = "Categories of terms with " ..
(yomi_type == "on'yomi" and "more" or "other") ..
" specific types of on'yomi readings can be found in the following categories:\n* " .. concat(onyomi, "\n* ")
if yomi_type ~= "on'yomi" then
insert(label.parents, 1, {
name = (category:gsub("{{{yomi_catname}}}", yomi_data.on[category_type])),
sort = yomi_catname
})
end
end
labels[category:gsub("{{{yomi_catname}}}", yomi_catname)] = label
end
end
end
add_yomi_category(
"terms read with {{{yomi_catname}}}",
"reading_category",
"terms by reading pattern",
"{{{langname}}} terms read with"
)
add_yomi_category(
"terms spelled with kanji with {{{yomi_catname}}} readings",
"kanji_category",
"terms by kanji reading type",
"{{{langname}}} categories with terms that are spelled with one or more kanji read with"
)
labels["terms with missing yomi"] = {
description = "{{{langname}}} terms where at least one [[Appendix:Japanese glossary#yomi|yomi]] is missing from {{tl|{{{langcode}}}-kanjitab}}.",
hidden = true,
can_be_empty = true,
parents = {"entry maintenance"},
}
labels["terms with IPA pronunciation with pitch accent"] = {
description = "{{{langname}}} terms with pronunciations that have {{w|Japanese pitch accent|pitch accent}} specified.",
additional = "Pitch accent can be specified in {{tl|{{{langcode}}}-pron}} with the {{code|=acc=}} parameter.",
can_be_empty = true,
parents = {"entry maintenance", "pitch accent"},
}
labels["terms with IPA pronunciation missing pitch accent"] = {
description = "{{{langname}}} terms with pronunciations that do not have a {{w|Japanese pitch accent|pitch accent}} specified.",
additional = "Pitch accent can be specified in {{tl|{{{langcode}}}-pron}} with the {{code|=acc=}} parameter.",
hidden = true,
can_be_empty = true,
parents = {"entry maintenance"},
}
labels["pitch accent"] = {
description = "{{{langname}}} terms regarding {{w|Japanese pitch accent|pitch accent}} pronunciation.",
can_be_empty = true,
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["terms with Heiban pitch accent (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[平板型|Heiban]] {{w|Japanese pitch accent|pitch accent}}.",
can_be_empty = true,
parents = {"pitch accent"}
}
labels["terms with Atamadaka pitch accent (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[頭高型|Atamadaka]] {{w|Japanese pitch accent|pitch accent}}.",
can_be_empty = true,
parents = {"pitch accent"}
}
labels["terms with Nakadaka pitch accent (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[中高型|Nakadaka]] {{w|Japanese pitch accent|pitch accent}}.",
can_be_empty = true,
parents = {"pitch accent"}
}
labels["terms with Odaka pitch accent (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[尾高型|Odaka]] {{w|Japanese pitch accent|pitch accent}}.",
can_be_empty = true,
parents = {"pitch accent"}
}
labels["terms with complex pitch accent (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) complex {{w|Japanese pitch accent|pitch accent}}, as in having more than one {{m|ja|アクセント句}}.",
can_be_empty = true,
parents = {"pitch accent"}
}
labels["pitch accent deaccenting before の"] = {
description = "{{{langname}}} terms with {{w|Japanese pitch accent|pitch accent}} pronunciations that have exceptional deaccenting or lack thereof before の ({{ja-deaccenting-before-no}}).",
can_be_empty = true,
parents = {"pitch accent"}
}
labels["terms with Odaka pitch accent not deaccented before の (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[尾高型|Odaka]] {{w|Japanese pitch accent|pitch accent}} and do not become deaccented before の ({{ja-deaccenting-before-no}}).\n\nTerms are placed in this category using {{tl|ja-odaka-deaccent-exception}}.",
can_be_empty = true,
parents = {"pitch accent deaccenting before の"}
}
labels["terms with Nakadaka pitch accent deaccented before の (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[中高型|Nakadaka]] {{w|Japanese pitch accent|pitch accent}} and become deaccented before の ({{ja-deaccenting-before-no}}).\n\nTerms are placed in this category using {{tl|ja-nakadaka-deaccent}}.",
can_be_empty = true,
parents = {"pitch accent deaccenting before の"}
}
labels["terms by kanji reading type"] = {
description = "{{{langname}}} categories with terms grouped with regard to the types of readings of the kanji with which " ..
"they are spelled; broadly, those of Chinese origin, {{ja-r|音|おん}} readings, and those of non-Chinese origin, {{ja-r|訓|くん}} readings.",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["terms spelled with ateji"] = {
topright = "{{wp|Ateji}}",
description = "{{{langname}}} terms containing one or more [[Appendix:Japanese glossary#ateji|ateji]] {{mdash}} {{ja-r|当て字|あてじ}} {{mdash}} which are [[kanji]] used to represent sounds rather than meanings (though meaning may have some influence on which kanji are chosen).",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["terms spelled with daiyōji"] = {
description = "Japanese terms spelled using [[Appendix:Japanese glossary#daiyouji|daiyōji]], categorized using {{temp|ja-daiyouji}}.",
parents = {"terms by etymology"},
}
labels["terms spelled with jukujikun"] = {
description = "{{{langname}}} terms containing one or more [[Appendix:Japanese glossary#jukujikun|jukujikun]] {{mdash}} {{ja-r|熟%字%訓|じゅく%じ%くん}} {{mdash}} which are [[kanji]] used to represent meanings rather than sounds.",
parents = {{name = "{{{langcat}}}", raw = true}},
}
local function add_grade_categories(grade, desc, wp, only_one, parent, sort)
local grade_kanji = grade .. " kanji"
local topright = wp and ("{{wp|%s}}"):format(ucfirst(grade_kanji)) or nil
labels[grade_kanji] = {
topright = topright,
description = "{{{langname}}} kanji " .. desc,
toc_template = "Hani-categoryTOC",
parents = {{
name = parent and (parent .. " kanji") or "kanji",
sort = sort or grade
}},
}
labels["terms spelled with " .. grade_kanji] = {
topright = topright,
description = "{{{langname}}} terms spelled with " .. (only_one and "at least one " or "") .. "kanji " .. desc,
parents = {{
name = parent and ("terms spelled with " .. parent .. " kanji") or "terms by orthographic property",
sort = sort or grade
}},
}
end
for i = 1, 6 do
local ord = m_numeric.ones_position_ord[i]
add_grade_categories(
ord .. " grade",
"taught in the " .. ord .. " grade of elementary school, as designated by the the official list of {{ja-r|教%育 漢%字|きょう%いく かん%じ|education kanji}}.",
false,
false,
"kyōiku",
i
)
end
add_grade_categories(
"kyōiku",
"on the official list of {{ja-r|教%育 漢%字|きょう%いく かん%じ|education kanji}}.",
true,
false,
"jōyō"
)
add_grade_categories(
"secondary school",
"on the official list of {{ja-r|常%用 漢%字|じょう%よう かん%じ|regular-use characters}} that are generally taught in secondary school.",
false,
false,
"jōyō"
)
add_grade_categories(
"jōyō",
"on the official list of {{ja-r|常%用 漢%字|じょう%よう かん%じ|regular-use characters}}.",
true,
false
)
add_grade_categories(
"tōyō",
"on the official list of {{ja-r|当%用 漢%字|とう%よう かん%じ|general-use characters}}, which was used from 1946{{ndash}}1981 until the publication of the list of {{ja-r|常%用 漢%字|じょう%よう かん%じ|regular-use characters}}.",
true,
false
)
add_grade_categories(
"jinmeiyō",
"on the official list of {{ja-r|人%名%用 漢%字|じん%めい%-よう かん%じ|kanji for use in personal names}}.",
true,
true
)
add_grade_categories(
"hyōgai",
"not included on the official list of {{ja-r|常%用 漢%字|じょう%よう かん%じ|regular-use characters}} or {{ja-r|人%名%用 漢%字|じん%めい%-よう かん%じ|kanji for use in personal names}}, known as {{ja-r|表%外 漢%字|ひょう%がい かん%じ}} or {{ja-r|表%外%字|ひょう%がい%じ|unlisted characters}}.",
true,
true
)
labels["terms with multiple readings"] = {
description = "{{{langname}}} terms with multiple pronunciations (hence multiple [[kana]] spellings).",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["kanji readings by number of morae"] = {
description = "{{{langname}}} categories grouped with regard to the number of morae in their kanji readings.",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["single-kanji terms"] = {
description = "{{{langname}}} terms written as a single kanji.",
parents = {
"terms by orthographic property",
{name = "terms with 1 kanji", sort = " "},
},
}
labels["kanji with kun readings missing okurigana designation"] = {
breadcrumb = "Kanji missing okurigana designation",
description = "{{{langname}}} kanji entries in which one or more kun readings entered into {{tl|{{{langcode}}}-readings}} is missing a hyphen denoting okurigana.",
toc_template = "Hani-categoryTOC",
hidden = true,
can_be_empty = true,
parents = {"entry maintenance"},
}
labels["terms by the individual characters in their historical spellings"] = {
breadcrumb = "Historical",
description = "{{{langname}}} terms categorized by whether their spellings in the {{w|historical kana orthography}} included certain individual characters.",
parents = {{name = "terms by their individual characters", sort = " "}},
}
labels["verbs without transitivity"] = {
description = "{{{langname}}} verbs missing the {{code|=tr=}} parameter from their headword templates.",
hidden = true,
can_be_empty = true,
parents = {"entry maintenance"},
}
labels["yojijukugo"] = {
topright = "{{wp|Yojijukugo}}",
description = "{{{langname}}} four-[[kanji]] compound terms, {{ja-r|四%字 熟%語|よ%じ じゅく%ご}}, with idiomatic meanings; typically derived from Classical Chinese, Buddhist scripture or traditional Japanese proverbs.",
additional = "Compare Chinese {{w|chengyu}} and Korean {{w|sajaseong-eo}}.",
umbrella = "four-character idioms",
parents = {"idioms"},
}
-- FIXME: Only works for 0 through 19.
local word_to_number = {}
for k, v in pairs(m_numeric.ones_position) do
word_to_number[v] = k
end
local periods = {
historical = true,
ancient = true,
}
local function get_period_text_and_reading_type_link(period, reading_type)
if period and not periods[period] then
return nil
end
local period_text = period and period .. " " or nil
-- Allow periods (historical or ancient) by themselves; they will parse as reading types.
if not period and periods[reading_type] then
return nil, reading_type
end
local reading_type_link = "[[Appendix:Japanese glossary#" .. reading_type .. "|" .. reading_type .. "]]"
return period_text, reading_type_link
end
local function get_sc(str)
return match(str:gsub("[%s%p]+", ""), "[^" .. Hira:getCharacters() .. "]") and Jpan or Hira
end
local function get_tagged_reading(reading, lang)
return tag_text(reading, lang, get_sc(reading))
end
local function get_reading_link(reading, lang, period, link)
local hist = periods[period]
reading = reading:gsub("[%.%-%s]+", "")
return full_link({
lang = lang,
sc = get_sc(reading),
term = link or reading:gsub("・", ""),
-- If we have okurigana, demarcate furigana.
alt = reading:gsub("^(.-)・", "<span style=\"border-top:1px solid;position:relative;padding:1px;\">%1<span style=\"position:absolute;top:0;bottom:67%%;right:0%%;border-right:1px solid;\"></span></span>"),
tr = kana_to_romaji((reading:gsub("・", ".")), lang:getCode(), nil, {keep_dot = true, hist = hist})
:gsub("^(.-)%.", "<u>%1</u>"),
pos = reading:find("・", 1, true) and get_tagged_reading((reading:gsub("^.-・", "~")), lang) or nil
}, "term")
end
local function is_on_subtype(reading_type)
return reading_type:find(".on$")
end
insert(handlers, function(data)
local n =data.label:match("^terms with ([1-9]%d*) kanji$")
if not n then
return
end
local sortkey = require("Module:category tree").numeral_sortkey(n, 2097152)
return {
breadcrumb = n,
description = ("{{{langname}}} terms containing exactly %d kanji."):format(n),
-- TODO: implement this using the same mechanism used to implement parents (i.e. avoiding the need for raw categories).
-- umbrella = {
-- breadcrumb = ("%d kanji"):format(n),
-- parents = {{name = "terms by number of kanji subcategories by language", sort = sortkey}},
-- },
parents = {{name = ("terms by number of kanji"), sort = sortkey}}
}
end)
insert(handlers, function(data)
local label_pref, kana = data.label:match("^(terms historically spelled with )" .. kana_capture .. "$")
if not kana then
return
end
local lang = data.lang
return {
description = "{{{langname}}} terms spelled with " .. get_reading_link(kana, lang, "historical") .. " in the {{w|historical kana orthography}}.",
displaytitle = "{{{langname}}} " .. label_pref .. get_tagged_reading(kana, lang),
breadcrumb = "historical",
parents = {
{name = "terms spelled with " .. kana, sort = " "},
{name = "terms by the individual characters in their historical spellings", sort = lang:makeSortKey(kana)}
},
umbrella = false,
}
end)
insert(handlers, function(data)
local count, plural = data.label:match("^kanji readings with (.+) mora(e?)$")
-- Make sure 'one' goes with singular and other numbers with plural.
if not count or (count == "one") ~= (plural == "") then
return
end
local num = word_to_number[count]
if not num then
return nil
end
return {
description = "{{{langname}}} kanji readings containing " .. count .. " mora" .. plural .. ".",
breadcrumb = num,
parents = {{name = "kanji readings by number of morae", sort = num}},
umbrella = false,
}
end)
insert(handlers, function(data)
local label_pref, period, reading_type, reading = match(data.label, "^(kanji with ([a-z]-) ?([%a']+) reading )" .. kana_capture .. "$")
if not period then
return
end
period = period ~= "" and period or nil
local period_text, reading_type_link = get_period_text_and_reading_type_link(period, reading_type)
if not reading_type_link then
return
end
local lang = data.lang
-- Compute parents.
local parents, breadcrumb = {}
if reading:find("・", 1, true) then
local okurigana = reading:match("・(.*)")
insert(parents, {
name = "kanji with " .. (period_text or "") .. reading_type .. " reading " .. reading:match("(.-)・"),
-- Sort by okurigana, since all coordinate categories will have the same furigana.
sort = (lang:makeSortKey(okurigana))
})
breadcrumb = "~" .. okurigana
else
insert(parents, {
name = "kanji by " .. (period_text or "") .. reading_type .. " reading",
sort = (lang:makeSortKey(reading))
})
breadcrumb = reading
end
if is_on_subtype(reading_type) then
insert(parents, {name = "kanji with " .. (period_text or "") .. "on reading " .. reading, sort = reading_type})
elseif period_text then
insert(parents, {name = "kanji with " .. period_text .. "reading " .. reading, sort = reading_type})
end
if not period_text then
insert(parents, {name = "kanji read as " .. reading, sort = reading_type})
end
return {
description = "{{{langname}}} [[kanji]] with the " .. (period_text or "") .. reading_type_link .. " reading " ..
get_reading_link(reading, lang, period or reading_type) .. ".",
displaytitle = "{{{langname}}} " .. label_pref .. get_tagged_reading(reading, lang),
breadcrumb = get_tagged_reading(breadcrumb, lang),
parents = parents,
umbrella = false,
}
end)
insert(handlers, function(data)
local period, reading_type = match(data.label, "^kanji by ([a-z]-) ?([%a']+) reading$")
if not period then
return
end
period = period ~= "" and period or nil
local period_text, reading_type_link = get_period_text_and_reading_type_link(period, reading_type)
if not reading_type_link then
return nil
end
-- Compute parents.
local parents = {
is_on_subtype(reading_type) and {name = "kanji by " .. (period_text or "") .. "on reading", sort = reading_type} or
period_text and {name = "kanji by " .. reading_type .. " reading", sort = period} or
{name = "kanji by reading", sort = reading_type}
}
if period_text then
insert(parents, {name = "kanji by " .. period_text .. "reading", sort = reading_type})
end
-- Compute description.
local description = "{{{langname}}} [[kanji]] categorized by " .. (period_text or "") .. reading_type_link .. " reading."
return {
description = description,
breadcrumb = (period_text or "") .. reading_type,
parents = parents,
umbrella = false,
}
end)
insert(handlers, function(data)
local label_pref, reading = match(data.label, "^(kanji read as )" .. kana_capture .. "$")
if not reading then
return
end
local args = require("Module:parameters").process(data.args, {
["histconsol"] = true,
})
local lang = data.lang
local parents, breadcrumb = {}
if reading:find("・", 1, true) then
local okurigana = reading:match("・(.*)")
insert(parents, {
name = "kanji read as " .. reading:match("(.-)・"),
-- Sort by okurigana, since all coordinate categories will have the same furigana.
sort = (lang:makeSortKey(okurigana))
})
breadcrumb = "~" .. okurigana
else
insert(parents, {
name = "kanji by reading",
sort = (lang:makeSortKey(reading))
})
breadcrumb = reading
end
local addl
local period_text
if args.histconsol then
period_text = "historical"
addl = ("This is a [[Wikipedia:Historical kana orthography|historical]] [[Wikipedia:Kanazukai|reading]], now " ..
"consolidated with the [[Wikipedia:Modern kana usage|modern reading]] of " ..
get_reading_link(args.histconsol, lang, nil, ("Category:Japanese kanji read as %s"):format(args.histconsol)) .. ".")
end
return {
description = "{{{langname}}} [[kanji]] read as " .. get_reading_link(reading, lang, period_text) .. ".",
additional = addl,
displaytitle = "{{{langname}}} " .. label_pref .. get_tagged_reading(reading, lang),
breadcrumb = get_tagged_reading(breadcrumb, lang),
parents = parents,
umbrella = false,
}, true
end)
insert(handlers, function(data)
local label_pref, reading = match(data.label, "^(terms spelled with kanji read as )" .. kana_capture .. "$")
if not reading then
return
end
-- Compute parents.
local lang = data.lang
local sort_key = (lang:makeSortKey(reading))
local mora_count = require("Module:ja").count_morae(reading)
local mora_count_words = m_numeric.spell_number(tostring(mora_count))
local parents = {
{name = "terms by kanji readings", sort = sort_key},
{name = "kanji readings with " .. mora_count_words .. " mora" .. (mora_count > 1 and "e" or ""), sort = sort_key},
{name = "kanji read as " .. reading, sort = " "},
}
local tagged_reading = get_tagged_reading(reading, lang)
return {
description = "{{{langname}}} terms that contain kanji that exhibit a reading of " .. get_reading_link(reading, lang) ..
" in those terms prior to any sound changes.",
displaytitle = "{{{langname}}} " .. label_pref .. tagged_reading,
breadcrumb = tagged_reading,
parents = parents,
umbrella = false,
}
end)
insert(handlers, function(data)
local kanji, reading = match(data.label, "^terms spelled with (.) read as " .. kana_capture .. "$")
if not kanji then
return nil
end
local args = require("Module:parameters").process(data.args, {
[1] = {list = true},
})
local lang = data.lang
if #args[1] == 0 then
error("For categories of the form \"" .. lang:getCanonicalName() ..
" terms spelled with KANJI read as READING\", at least one reading type (e.g. <code>kun</code> or <code>on</code>) must be specified using <code>1=</code>, <code>2=</code>, <code>3=</code>, etc.")
end
local yomi_types, parents = {}, {}
for _, yomi, category in ipairs(args[1]) do
local yomi_data = yomi_data[yomi]
if not yomi_data then
error("The yomi type \"" .. yomi .. "\" is not recognized.")
end
category = yomi_data.kanji_category
if not category then
error("The yomi type \"" .. yomi .. "\" is not valid for this type of category.")
end
insert(yomi_types, yomi_data.link)
insert(parents, {
name = "terms spelled with kanji with " .. category .. " readings",
sort = (lang:makeSortKey(reading))
})
end
insert(parents, 1, {name = "terms spelled with " .. kanji, sort = (lang:makeSortKey(reading))})
insert(parents, 2, {name = "terms spelled with kanji read as " .. reading, sort = Hani_sort(kanji)})
yomi_types = (#yomi_types > 1 and "one of " or "") .. "its " ..
require("Module:table").serialCommaJoin(yomi_types, {conj = "or"}) ..
" reading" .. (#yomi_types > 1 and "s" or "")
local tagged_kanji = get_tagged_reading(kanji, lang)
local tagged_reading = get_tagged_reading(reading, lang)
return {
description = "{{{langname}}} terms spelled with {{l|{{{langcode}}}|" .. kanji .. "}} with " ..
yomi_types .. " of " .. get_reading_link(reading, lang) .. ".",
displaytitle = "{{{langname}}} terms spelled with " .. tagged_kanji .. " read as " .. tagged_reading,
breadcrumb = "read as " .. tagged_reading,
parents = parents,
umbrella = false,
}, true
end)
insert(handlers, function(data)
local affix, kanji, reading = data.label:match("^terms ([a-z]+fix)ed with (.+) read as " .. kana_capture .. "$")
if not affix or not kanji or not reading then
return nil
end
local args = require("Module:parameters").process(data.args, {
[1] = {list = true},
})
local lang = data.lang
if #args[1] == 0 then
error("For categories of the form \"" .. lang:getCanonicalName() ..
" terms AFFIXed with KANJI read as READING\", at least one reading type (e.g. <code>kun</code> or <code>on</code>) must be specified using <code>1=</code>, <code>2=</code>, <code>3=</code>, etc.")
end
local yomi_types = {}
for _, yomi, category in ipairs(args[1]) do
local yomi_data = yomi_data[yomi]
if not yomi_data then
error("The yomi type \"" .. yomi .. "\" is not recognized.")
end
category = yomi_data.kanji_category
if not category then
error("The yomi type \"" .. yomi .. "\" is not valid for this type of category.")
end
insert(yomi_types, yomi_data.link)
end
yomi_types = (#yomi_types > 1 and "one of " or "") .. "its " ..
require("Module:table").serialCommaJoin(yomi_types, {conj = "or"}) ..
" reading" .. (#yomi_types > 1 and "s" or "")
local description = "{{{langname}}} terms " .. affix .. "ed with {{l|{{{langcode}}}|" .. kanji .. "}} with " ..
yomi_types .. " of " .. get_reading_link(reading, lang) .. "."
local what_categorizes_msg =
require("Module:category tree/fam/jpx/what-categorizes-msg")
.get_what_categorizes_msg(kanji, reading, affix)
if what_categorizes_msg then
description = description .. "\n\n" .. what_categorizes_msg
end
local parents = {}
table.insert(parents, {name = "terms " .. affix .. "ed with " .. kanji, sort = (lang:makeSortKey(reading))})
if mw.title.new("Category:" .. lang:getCanonicalName() .. " terms spelled with " .. kanji .. " read as " .. reading).exists then
table.insert(parents, {name = "terms spelled with " .. kanji .. " read as " .. reading, sort = (lang:makeSortKey(reading)), args=data.args})
end
local tagged_kanji = get_tagged_reading(kanji, lang)
local tagged_reading = get_tagged_reading(reading, lang)
return {
description = description,
displaytitle = "{{{langname}}} terms " .. affix .. "ed with " .. tagged_kanji .. " read as " .. tagged_reading,
breadcrumb = "read as " .. reading,
parents = parents,
umbrella = false,
}, true
end)
insert(handlers, function(data)
local kanji, daiyoji = match(data.label, "^terms with (.) replaced by daiyōji (.)$")
if not kanji then
return nil
end
local args = require("Module:parameters").process(data.args, {
["sort"] = true,
})
local lang = data.lang
if not args.sort then
error("For categories of the form \"" .. lang:getCanonicalName() ..
" terms with KANJI replaced by daiyōji DAIYOJI\", the sort key must be specified using sort=")
end
local tagged_kanji = get_tagged_reading(kanji, lang)
local tagged_daiyoji = get_tagged_reading(daiyoji, lang)
return {
description = "{{{langname}}} terms with {{l|{{{langcode}}}|" .. kanji .. "}} replaced by [[Appendix:Japanese glossary#daiyouji|daiyōji]] {{l|{{{langcode}}}|" .. daiyoji .. "}}.",
displaytitle = "{{{langname}}} terms with " .. tagged_kanji .. " replaced by daiyōji " .. tagged_daiyoji,
breadcrumb = tagged_kanji .. " replaced by daiyōji " .. tagged_daiyoji,
parents = {{name = "terms spelled with daiyōji", sort = args.sort}},
umbrella = false,
}, true
end)
return {LABELS = labels, HANDLERS = handlers}
ea2zmcmhguqw3ivdjan9pb199sxgqx3
234056
234055
2026-05-15T06:50:49Z
Lee
19
පැරණි සංස්කරණයකින් ගත් කොටස්...
234056
Scribunto
text/plain
local labels = {}
local handlers = {}
local m_str_utils = require("Module:string utilities")
local concat = table.concat
local full_link = require("Module:links").full_link
local insert = table.insert
local Hani_sort = require("Module:Hani-sortkey").makeSortKey
local match = m_str_utils.match
local sort = table.sort
local tag_text = require("Module:script_utilities").tag_text
local ucfirst = m_str_utils.ucfirst
local Hira = require("Module:scripts").getByCode("Hira")
local Jpan = require("Module:scripts").getByCode("Jpan")
local kana_to_romaji = require("Module:Hrkt-translit").tr
local m_numeric = require("Module:ConvertNumeric")
local kana_capture = "([-" .. require("Module:ja/data/range").kana .. "・]+)"
local yomi_data = require("Module:kanjitab/data")
labels["adnominals"] = {
description = "{{{langname}}} adnominals, or {{ja-r|連%体%詞|れん%たい%し}}, which modify nouns, and do not conjugate or [[predicate#Verb|predicate]].",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["hiragana"] = {
description = "{{{langname}}} terms with hiragana {{mdash}} {{ja-r|平%仮%名|ひら%が%な}} {{mdash}} forms, sorted by conventional hiragana sequence. The hiragana form is a [[phonetic]] representation of that word. " ..
"Wiktionary represents {{{langname}}}-language segments in three ways: in normal form (with [[kanji]], if appropriate), in [[hiragana]] " ..
"form (this differs from kanji form only when the segment contains kanji), and in [[romaji]] form.",
additional = "''See also'' [[:Category:{{{langname}}} katakana]]",
toc_template = "Hira-categoryTOC",
toc_template_full = "Hira-categoryTOC/full",
parents = {
{name = "{{{langcat}}}", raw = true},
"ප්රවර්ගය:හිරගනා අක්ෂරක්රමය තුළ භාවිතා වන අනුලක්ෂණ",
}
}
labels["historical hiragana"] = {
description = "{{{langname}}} historical [[hiragana]].",
additional = "''See also'' [[:Category:{{{langname}}} historical katakana]].",
toc_template = "Hira-categoryTOC",
toc_template_full = "Hira-categoryTOC/full",
parents = {
"hiragana",
{name = "{{{langcat}}}", raw = true},
"ප්රවර්ගය:හිරගනා අක්ෂරක්රමය තුළ භාවිතා වන අනුලක්ෂණ",
}
}
labels["katakana"] = {
description = "{{{langname}}} terms with katakana {{mdash}} {{ja-r|片%仮%名|かた%か%な}} {{mdash}} forms, sorted by conventional katakana sequence. Katakana is used primarily for transliterations of foreign words, including old Chinese hanzi not used in [[shinjitai]].",
additional = "''See also'' [[:Category:{{{langname}}} hiragana]]",
toc_template = "Kana-categoryTOC",
toc_template_full = "Kana-categoryTOC/full",
parents = {
{name = "{{{langcat}}}", raw = true},
"Category:Katakana script characters",
}
}
labels["historical katakana"] = {
description = "{{{langname}}} historical [[katakana]].",
additional = "''See also'' [[:Category:{{{langname}}} historical hiragana]].",
toc_template = "Kana-categoryTOC",
toc_template_full = "Kana-categoryTOC/full",
parents = {
"katakana",
{name = "{{{langcat}}}", raw = true},
"Category:Katakana script characters",
}
}
labels["terms spelled with mixed kana"] = {
description = "{{{langname}}} terms which combine [[hiragana]] and [[katakana]] characters, potentially with [[kanji]] too.",
parents = {
{name = "{{{langcat}}}", raw = true},
"hiragana",
"katakana",
},
}
labels["kanji"] = {
topright = "{{wp|Kanji}}",
description = "{{{langname}}} symbols of the Han logographic script, which can represent sounds or convey meanings directly.",
toc_template = "Hani-categoryTOC",
umbrella = "Han characters",
parents = "ලෝගෝග්රෑම",
}
labels["kanji by reading"] = {
description = "{{{langname}}} kanji categorized by reading.",
parents = {{name = "kanji", sort = "reading"}},
}
labels["makurakotoba"] = {
topright = "{{wp|Makurakotoba}}",
description = "{{{langname}}} idioms used in poetry to introduce specific words.",
parents = {"idioms"},
}
labels["terms by kanji readings"] = {
description = "{{{langname}}} categories grouped with regard to the readings of the kanji with which they are spelled.",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["terms by reading pattern"] = {
description = "{{{langname}}} categories with terms grouped by their reading patterns.",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["terms by number of kanji"] = {
description = "{{{langname}}} terms categorized by number of kanji.",
parents = {"terms by orthographic property"},
}
local function handle_onyomi_list(category, category_type, cat_yomi_type)
local onyomi, seen = {}, {}
for _, yomi in pairs(yomi_data) do
if not seen[yomi] and yomi.onyomi then
local yomi_catname = yomi[category_type]
if yomi_catname ~= false then
local yomi_type = yomi.type
if yomi_type ~= "on'yomi" and yomi_type ~= cat_yomi_type then
insert(onyomi, "[[:Category:{{{langname}}} " .. category:gsub("{{{yomi_catname}}}", yomi_catname) .. "]]")
end
end
end
seen[yomi] = true
end
sort(onyomi)
return onyomi
end
local function add_yomi_category(category, category_type, parent, description)
for _, yomi in pairs(yomi_data) do
local yomi_catname = yomi[category_type]
if yomi_catname ~= false then
local yomi_type = yomi.type
local yomi_desc = yomi.link or yomi_catname
if yomi.description then
yomi_desc = yomi_desc .. "; " .. yomi.description
end
local label = {
description = description .. " " .. yomi_desc .. ".",
breadcrumb = yomi_type,
parents = {{name = parent, sort = yomi_catname}},
}
if yomi.onyomi then
local onyomi = handle_onyomi_list(category, category_type, yomi_type)
label.additional = "Categories of terms with " ..
(yomi_type == "on'yomi" and "more" or "other") ..
" specific types of on'yomi readings can be found in the following categories:\n* " .. concat(onyomi, "\n* ")
if yomi_type ~= "on'yomi" then
insert(label.parents, 1, {
name = (category:gsub("{{{yomi_catname}}}", yomi_data.on[category_type])),
sort = yomi_catname
})
end
end
labels[category:gsub("{{{yomi_catname}}}", yomi_catname)] = label
end
end
end
add_yomi_category(
"terms read with {{{yomi_catname}}}",
"reading_category",
"terms by reading pattern",
"{{{langname}}} terms read with"
)
add_yomi_category(
"terms spelled with kanji with {{{yomi_catname}}} readings",
"kanji_category",
"terms by kanji reading type",
"{{{langname}}} categories with terms that are spelled with one or more kanji read with"
)
labels["terms with missing yomi"] = {
description = "{{{langname}}} terms where at least one [[Appendix:Japanese glossary#yomi|yomi]] is missing from {{tl|{{{langcode}}}-kanjitab}}.",
hidden = true,
can_be_empty = true,
parents = {"entry maintenance"},
}
labels["terms with IPA pronunciation with pitch accent"] = {
description = "{{{langname}}} terms with pronunciations that have {{w|Japanese pitch accent|pitch accent}} specified.",
additional = "Pitch accent can be specified in {{tl|{{{langcode}}}-pron}} with the {{code|=acc=}} parameter.",
can_be_empty = true,
parents = {"entry maintenance", "pitch accent"},
}
labels["terms with IPA pronunciation missing pitch accent"] = {
description = "{{{langname}}} terms with pronunciations that do not have a {{w|Japanese pitch accent|pitch accent}} specified.",
additional = "Pitch accent can be specified in {{tl|{{{langcode}}}-pron}} with the {{code|=acc=}} parameter.",
hidden = true,
can_be_empty = true,
parents = {"entry maintenance"},
}
labels["pitch accent"] = {
description = "{{{langname}}} terms regarding {{w|Japanese pitch accent|pitch accent}} pronunciation.",
can_be_empty = true,
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["terms with Heiban pitch accent (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[平板型|Heiban]] {{w|Japanese pitch accent|pitch accent}}.",
can_be_empty = true,
parents = {"pitch accent"}
}
labels["terms with Atamadaka pitch accent (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[頭高型|Atamadaka]] {{w|Japanese pitch accent|pitch accent}}.",
can_be_empty = true,
parents = {"pitch accent"}
}
labels["terms with Nakadaka pitch accent (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[中高型|Nakadaka]] {{w|Japanese pitch accent|pitch accent}}.",
can_be_empty = true,
parents = {"pitch accent"}
}
labels["terms with Odaka pitch accent (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[尾高型|Odaka]] {{w|Japanese pitch accent|pitch accent}}.",
can_be_empty = true,
parents = {"pitch accent"}
}
labels["terms with complex pitch accent (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) complex {{w|Japanese pitch accent|pitch accent}}, as in having more than one {{m|ja|アクセント句}}.",
can_be_empty = true,
parents = {"pitch accent"}
}
labels["pitch accent deaccenting before の"] = {
description = "{{{langname}}} terms with {{w|Japanese pitch accent|pitch accent}} pronunciations that have exceptional deaccenting or lack thereof before の ({{ja-deaccenting-before-no}}).",
can_be_empty = true,
parents = {"pitch accent"}
}
labels["terms with Odaka pitch accent not deaccented before の (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[尾高型|Odaka]] {{w|Japanese pitch accent|pitch accent}} and do not become deaccented before の ({{ja-deaccenting-before-no}}).\n\nTerms are placed in this category using {{tl|ja-odaka-deaccent-exception}}.",
can_be_empty = true,
parents = {"pitch accent deaccenting before の"}
}
labels["terms with Nakadaka pitch accent deaccented before の (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[中高型|Nakadaka]] {{w|Japanese pitch accent|pitch accent}} and become deaccented before の ({{ja-deaccenting-before-no}}).\n\nTerms are placed in this category using {{tl|ja-nakadaka-deaccent}}.",
can_be_empty = true,
parents = {"pitch accent deaccenting before の"}
}
labels["terms by kanji reading type"] = {
description = "{{{langname}}} categories with terms grouped with regard to the types of readings of the kanji with which " ..
"they are spelled; broadly, those of Chinese origin, {{ja-r|音|おん}} readings, and those of non-Chinese origin, {{ja-r|訓|くん}} readings.",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["terms spelled with ateji"] = {
topright = "{{wp|Ateji}}",
description = "{{{langname}}} terms containing one or more [[Appendix:Japanese glossary#ateji|ateji]] {{mdash}} {{ja-r|当て字|あてじ}} {{mdash}} which are [[kanji]] used to represent sounds rather than meanings (though meaning may have some influence on which kanji are chosen).",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["terms spelled with daiyōji"] = {
description = "Japanese terms spelled using [[Appendix:Japanese glossary#daiyouji|daiyōji]], categorized using {{temp|ja-daiyouji}}.",
parents = {"terms by etymology"},
}
labels["terms spelled with jukujikun"] = {
description = "{{{langname}}} terms containing one or more [[Appendix:Japanese glossary#jukujikun|jukujikun]] {{mdash}} {{ja-r|熟%字%訓|じゅく%じ%くん}} {{mdash}} which are [[kanji]] used to represent meanings rather than sounds.",
parents = {{name = "{{{langcat}}}", raw = true}},
}
local function add_grade_categories(grade, desc, wp, only_one, parent, sort)
local grade_kanji = grade .. " kanji"
local topright = wp and ("{{wp|%s}}"):format(ucfirst(grade_kanji)) or nil
labels[grade_kanji] = {
topright = topright,
description = "{{{langname}}} kanji " .. desc,
toc_template = "Hani-categoryTOC",
parents = {{
name = parent and (parent .. " kanji") or "kanji",
sort = sort or grade
}},
}
labels["terms spelled with " .. grade_kanji] = {
topright = topright,
description = "{{{langname}}} terms spelled with " .. (only_one and "at least one " or "") .. "kanji " .. desc,
parents = {{
name = parent and ("terms spelled with " .. parent .. " kanji") or "terms by orthographic property",
sort = sort or grade
}},
}
end
for i = 1, 6 do
local ord = m_numeric.ones_position_ord[i]
add_grade_categories(
ord .. " grade",
"taught in the " .. ord .. " grade of elementary school, as designated by the the official list of {{ja-r|教%育 漢%字|きょう%いく かん%じ|education kanji}}.",
false,
false,
"kyōiku",
i
)
end
add_grade_categories(
"kyōiku",
"on the official list of {{ja-r|教%育 漢%字|きょう%いく かん%じ|education kanji}}.",
true,
false,
"jōyō"
)
add_grade_categories(
"secondary school",
"on the official list of {{ja-r|常%用 漢%字|じょう%よう かん%じ|regular-use characters}} that are generally taught in secondary school.",
false,
false,
"jōyō"
)
add_grade_categories(
"jōyō",
"on the official list of {{ja-r|常%用 漢%字|じょう%よう かん%じ|regular-use characters}}.",
true,
false
)
add_grade_categories(
"tōyō",
"on the official list of {{ja-r|当%用 漢%字|とう%よう かん%じ|general-use characters}}, which was used from 1946{{ndash}}1981 until the publication of the list of {{ja-r|常%用 漢%字|じょう%よう かん%じ|regular-use characters}}.",
true,
false
)
add_grade_categories(
"jinmeiyō",
"on the official list of {{ja-r|人%名%用 漢%字|じん%めい%-よう かん%じ|kanji for use in personal names}}.",
true,
true
)
add_grade_categories(
"hyōgai",
"not included on the official list of {{ja-r|常%用 漢%字|じょう%よう かん%じ|regular-use characters}} or {{ja-r|人%名%用 漢%字|じん%めい%-よう かん%じ|kanji for use in personal names}}, known as {{ja-r|表%外 漢%字|ひょう%がい かん%じ}} or {{ja-r|表%外%字|ひょう%がい%じ|unlisted characters}}.",
true,
true
)
labels["terms with multiple readings"] = {
description = "{{{langname}}} terms with multiple pronunciations (hence multiple [[kana]] spellings).",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["kanji readings by number of morae"] = {
description = "{{{langname}}} categories grouped with regard to the number of morae in their kanji readings.",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["single-kanji terms"] = {
description = "{{{langname}}} terms written as a single kanji.",
parents = {
"terms by orthographic property",
{name = "terms with 1 kanji", sort = " "},
},
}
labels["kanji with kun readings missing okurigana designation"] = {
breadcrumb = "Kanji missing okurigana designation",
description = "{{{langname}}} kanji entries in which one or more kun readings entered into {{tl|{{{langcode}}}-readings}} is missing a hyphen denoting okurigana.",
toc_template = "Hani-categoryTOC",
hidden = true,
can_be_empty = true,
parents = {"entry maintenance"},
}
labels["terms by the individual characters in their historical spellings"] = {
breadcrumb = "Historical",
description = "{{{langname}}} terms categorized by whether their spellings in the {{w|historical kana orthography}} included certain individual characters.",
parents = {{name = "terms by their individual characters", sort = " "}},
}
labels["verbs without transitivity"] = {
description = "{{{langname}}} verbs missing the {{code|=tr=}} parameter from their headword templates.",
hidden = true,
can_be_empty = true,
parents = {"entry maintenance"},
}
labels["yojijukugo"] = {
topright = "{{wp|Yojijukugo}}",
description = "{{{langname}}} four-[[kanji]] compound terms, {{ja-r|四%字 熟%語|よ%じ じゅく%ご}}, with idiomatic meanings; typically derived from Classical Chinese, Buddhist scripture or traditional Japanese proverbs.",
additional = "Compare Chinese {{w|chengyu}} and Korean {{w|sajaseong-eo}}.",
umbrella = "four-character idioms",
parents = {"idioms"},
}
-- FIXME: Only works for 0 through 19.
local word_to_number = {}
for k, v in pairs(m_numeric.ones_position) do
word_to_number[v] = k
end
local periods = {
historical = true,
ancient = true,
}
local function get_period_text_and_reading_type_link(period, reading_type)
if period and not periods[period] then
return nil
end
local period_text = period and period .. " " or nil
-- Allow periods (historical or ancient) by themselves; they will parse as reading types.
if not period and periods[reading_type] then
return nil, reading_type
end
local reading_type_link = "[[Appendix:Japanese glossary#" .. reading_type .. "|" .. reading_type .. "]]"
return period_text, reading_type_link
end
local function get_sc(str)
return match(str:gsub("[%s%p]+", ""), "[^" .. Hira:getCharacters() .. "]") and Jpan or Hira
end
local function get_tagged_reading(reading, lang)
return tag_text(reading, lang, get_sc(reading))
end
local function get_reading_link(reading, lang, period, link)
local hist = periods[period]
reading = reading:gsub("[%.%-%s]+", "")
return full_link({
lang = lang,
sc = get_sc(reading),
term = link or reading:gsub("・", ""),
-- If we have okurigana, demarcate furigana.
alt = reading:gsub("^(.-)・", "<span style=\"border-top:1px solid;position:relative;padding:1px;\">%1<span style=\"position:absolute;top:0;bottom:67%%;right:0%%;border-right:1px solid;\"></span></span>"),
tr = kana_to_romaji((reading:gsub("・", ".")), lang:getCode(), nil, {keep_dot = true, hist = hist})
:gsub("^(.-)%.", "<u>%1</u>"),
pos = reading:find("・", 1, true) and get_tagged_reading((reading:gsub("^.-・", "~")), lang) or nil
}, "term")
end
local function is_on_subtype(reading_type)
return reading_type:find(".on$")
end
insert(handlers, function(data)
local n =data.label:match("^terms with ([1-9]%d*) kanji$")
if not n then
return
end
local sortkey = require("Module:category tree").numeral_sortkey(n, 2097152)
return {
breadcrumb = n,
description = ("{{{langname}}} terms containing exactly %d kanji."):format(n),
-- TODO: implement this using the same mechanism used to implement parents (i.e. avoiding the need for raw categories).
-- umbrella = {
-- breadcrumb = ("%d kanji"):format(n),
-- parents = {{name = "terms by number of kanji subcategories by language", sort = sortkey}},
-- },
parents = {{name = ("terms by number of kanji"), sort = sortkey}}
}
end)
insert(handlers, function(data)
local label_pref, kana = data.label:match("^(terms historically spelled with )" .. kana_capture .. "$")
if not kana then
return
end
local lang = data.lang
return {
description = "{{{langname}}} terms spelled with " .. get_reading_link(kana, lang, "historical") .. " in the {{w|historical kana orthography}}.",
displaytitle = "{{{langname}}} " .. label_pref .. get_tagged_reading(kana, lang),
breadcrumb = "historical",
parents = {
{name = "terms spelled with " .. kana, sort = " "},
{name = "terms by the individual characters in their historical spellings", sort = lang:makeSortKey(kana)}
},
umbrella = false,
}
end)
insert(handlers, function(data)
local count, plural = data.label:match("^kanji readings with (.+) mora(e?)$")
-- Make sure 'one' goes with singular and other numbers with plural.
if not count or (count == "one") ~= (plural == "") then
return
end
local num = word_to_number[count]
if not num then
return nil
end
return {
description = "{{{langname}}} kanji readings containing " .. count .. " mora" .. plural .. ".",
breadcrumb = num,
parents = {{name = "kanji readings by number of morae", sort = num}},
umbrella = false,
}
end)
insert(handlers, function(data)
local label_pref, period, reading_type, reading = match(data.label, "^(kanji with ([a-z]-) ?([%a']+) reading )" .. kana_capture .. "$")
if not period then
return
end
period = period ~= "" and period or nil
local period_text, reading_type_link = get_period_text_and_reading_type_link(period, reading_type)
if not reading_type_link then
return
end
local lang = data.lang
-- Compute parents.
local parents, breadcrumb = {}
if reading:find("・", 1, true) then
local okurigana = reading:match("・(.*)")
insert(parents, {
name = "kanji with " .. (period_text or "") .. reading_type .. " reading " .. reading:match("(.-)・"),
-- Sort by okurigana, since all coordinate categories will have the same furigana.
sort = (lang:makeSortKey(okurigana))
})
breadcrumb = "~" .. okurigana
else
insert(parents, {
name = "kanji by " .. (period_text or "") .. reading_type .. " reading",
sort = (lang:makeSortKey(reading))
})
breadcrumb = reading
end
if is_on_subtype(reading_type) then
insert(parents, {name = "kanji with " .. (period_text or "") .. "on reading " .. reading, sort = reading_type})
elseif period_text then
insert(parents, {name = "kanji with " .. period_text .. "reading " .. reading, sort = reading_type})
end
if not period_text then
insert(parents, {name = "kanji read as " .. reading, sort = reading_type})
end
return {
description = "{{{langname}}} [[kanji]] with the " .. (period_text or "") .. reading_type_link .. " reading " ..
get_reading_link(reading, lang, period or reading_type) .. ".",
displaytitle = "{{{langname}}} " .. label_pref .. get_tagged_reading(reading, lang),
breadcrumb = get_tagged_reading(breadcrumb, lang),
parents = parents,
umbrella = false,
}
end)
insert(handlers, function(data)
local period, reading_type = match(data.label, "^kanji by ([a-z]-) ?([%a']+) reading$")
if not period then
return
end
period = period ~= "" and period or nil
local period_text, reading_type_link = get_period_text_and_reading_type_link(period, reading_type)
if not reading_type_link then
return nil
end
-- Compute parents.
local parents = {
is_on_subtype(reading_type) and {name = "kanji by " .. (period_text or "") .. "on reading", sort = reading_type} or
period_text and {name = "kanji by " .. reading_type .. " reading", sort = period} or
{name = "kanji by reading", sort = reading_type}
}
if period_text then
insert(parents, {name = "kanji by " .. period_text .. "reading", sort = reading_type})
end
-- Compute description.
local description = "{{{langname}}} [[kanji]] categorized by " .. (period_text or "") .. reading_type_link .. " reading."
return {
description = description,
breadcrumb = (period_text or "") .. reading_type,
parents = parents,
umbrella = false,
}
end)
insert(handlers, function(data)
local label_pref, reading = match(data.label, "^(kanji read as )" .. kana_capture .. "$")
if not reading then
return
end
local args = require("Module:parameters").process(data.args, {
["histconsol"] = true,
})
local lang = data.lang
local parents, breadcrumb = {}
if reading:find("・", 1, true) then
local okurigana = reading:match("・(.*)")
insert(parents, {
name = "kanji read as " .. reading:match("(.-)・"),
-- Sort by okurigana, since all coordinate categories will have the same furigana.
sort = (lang:makeSortKey(okurigana))
})
breadcrumb = "~" .. okurigana
else
insert(parents, {
name = "kanji by reading",
sort = (lang:makeSortKey(reading))
})
breadcrumb = reading
end
local addl
local period_text
if args.histconsol then
period_text = "historical"
addl = ("This is a [[Wikipedia:Historical kana orthography|historical]] [[Wikipedia:Kanazukai|reading]], now " ..
"consolidated with the [[Wikipedia:Modern kana usage|modern reading]] of " ..
get_reading_link(args.histconsol, lang, nil, ("Category:Japanese kanji read as %s"):format(args.histconsol)) .. ".")
end
return {
description = "{{{langname}}} [[kanji]] read as " .. get_reading_link(reading, lang, period_text) .. ".",
additional = addl,
displaytitle = "{{{langname}}} " .. label_pref .. get_tagged_reading(reading, lang),
breadcrumb = get_tagged_reading(breadcrumb, lang),
parents = parents,
umbrella = false,
}, true
end)
insert(handlers, function(data)
local label_pref, reading = match(data.label, "^(terms spelled with kanji read as )" .. kana_capture .. "$")
if not reading then
return
end
-- Compute parents.
local lang = data.lang
local sort_key = (lang:makeSortKey(reading))
local mora_count = require("Module:ja").count_morae(reading)
local mora_count_words = m_numeric.spell_number(tostring(mora_count))
local parents = {
{name = "terms by kanji readings", sort = sort_key},
{name = "kanji readings with " .. mora_count_words .. " mora" .. (mora_count > 1 and "e" or ""), sort = sort_key},
{name = "kanji read as " .. reading, sort = " "},
}
local tagged_reading = get_tagged_reading(reading, lang)
return {
description = "{{{langname}}} terms that contain kanji that exhibit a reading of " .. get_reading_link(reading, lang) ..
" in those terms prior to any sound changes.",
displaytitle = "{{{langname}}} " .. label_pref .. tagged_reading,
breadcrumb = tagged_reading,
parents = parents,
umbrella = false,
}
end)
insert(handlers, function(data)
local kanji, reading = match(data.label, "^terms spelled with (.) read as " .. kana_capture .. "$")
if not kanji then
return nil
end
local args = require("Module:parameters").process(data.args, {
[1] = {list = true},
})
local lang = data.lang
if #args[1] == 0 then
error("For categories of the form \"" .. lang:getCanonicalName() ..
" terms spelled with KANJI read as READING\", at least one reading type (e.g. <code>kun</code> or <code>on</code>) must be specified using <code>1=</code>, <code>2=</code>, <code>3=</code>, etc.")
end
local yomi_types, parents = {}, {}
for _, yomi, category in ipairs(args[1]) do
local yomi_data = yomi_data[yomi]
if not yomi_data then
error("The yomi type \"" .. yomi .. "\" is not recognized.")
end
category = yomi_data.kanji_category
if not category then
error("The yomi type \"" .. yomi .. "\" is not valid for this type of category.")
end
insert(yomi_types, yomi_data.link)
insert(parents, {
name = "terms spelled with kanji with " .. category .. " readings",
sort = (lang:makeSortKey(reading))
})
end
insert(parents, 1, {name = "terms spelled with " .. kanji, sort = (lang:makeSortKey(reading))})
insert(parents, 2, {name = "terms spelled with kanji read as " .. reading, sort = Hani_sort(kanji)})
yomi_types = (#yomi_types > 1 and "one of " or "") .. "its " ..
require("Module:table").serialCommaJoin(yomi_types, {conj = "or"}) ..
" reading" .. (#yomi_types > 1 and "s" or "")
local tagged_kanji = get_tagged_reading(kanji, lang)
local tagged_reading = get_tagged_reading(reading, lang)
return {
description = "{{{langname}}} terms spelled with {{l|{{{langcode}}}|" .. kanji .. "}} with " ..
yomi_types .. " of " .. get_reading_link(reading, lang) .. ".",
displaytitle = "{{{langname}}} terms spelled with " .. tagged_kanji .. " read as " .. tagged_reading,
breadcrumb = "read as " .. tagged_reading,
parents = parents,
umbrella = false,
}, true
end)
insert(handlers, function(data)
local affix, kanji, reading = data.label:match("^terms ([a-z]+fix)ed with (.+) read as " .. kana_capture .. "$")
if not affix or not kanji or not reading then
return nil
end
local args = require("Module:parameters").process(data.args, {
[1] = {list = true},
})
local lang = data.lang
if #args[1] == 0 then
error("For categories of the form \"" .. lang:getCanonicalName() ..
" terms AFFIXed with KANJI read as READING\", at least one reading type (e.g. <code>kun</code> or <code>on</code>) must be specified using <code>1=</code>, <code>2=</code>, <code>3=</code>, etc.")
end
local yomi_types = {}
for _, yomi, category in ipairs(args[1]) do
local yomi_data = yomi_data[yomi]
if not yomi_data then
error("The yomi type \"" .. yomi .. "\" is not recognized.")
end
category = yomi_data.kanji_category
if not category then
error("The yomi type \"" .. yomi .. "\" is not valid for this type of category.")
end
insert(yomi_types, yomi_data.link)
end
yomi_types = (#yomi_types > 1 and "one of " or "") .. "its " ..
require("Module:table").serialCommaJoin(yomi_types, {conj = "or"}) ..
" reading" .. (#yomi_types > 1 and "s" or "")
local description = "{{{langname}}} terms " .. affix .. "ed with {{l|{{{langcode}}}|" .. kanji .. "}} with " ..
yomi_types .. " of " .. get_reading_link(reading, lang) .. "."
local what_categorizes_msg =
require("Module:category tree/fam/jpx/what-categorizes-msg")
.get_what_categorizes_msg(kanji, reading, affix)
if what_categorizes_msg then
description = description .. "\n\n" .. what_categorizes_msg
end
local parents = {}
table.insert(parents, {name = "terms " .. affix .. "ed with " .. kanji, sort = (lang:makeSortKey(reading))})
if mw.title.new("Category:" .. lang:getCanonicalName() .. " terms spelled with " .. kanji .. " read as " .. reading).exists then
table.insert(parents, {name = "terms spelled with " .. kanji .. " read as " .. reading, sort = (lang:makeSortKey(reading)), args=data.args})
end
local tagged_kanji = get_tagged_reading(kanji, lang)
local tagged_reading = get_tagged_reading(reading, lang)
return {
description = description,
displaytitle = "{{{langname}}} terms " .. affix .. "ed with " .. tagged_kanji .. " read as " .. tagged_reading,
breadcrumb = "read as " .. reading,
parents = parents,
umbrella = false,
}, true
end)
insert(handlers, function(data)
local kanji, daiyoji = match(data.label, "^terms with (.) replaced by daiyōji (.)$")
if not kanji then
return nil
end
local args = require("Module:parameters").process(data.args, {
["sort"] = true,
})
local lang = data.lang
if not args.sort then
error("For categories of the form \"" .. lang:getCanonicalName() ..
" terms with KANJI replaced by daiyōji DAIYOJI\", the sort key must be specified using sort=")
end
local tagged_kanji = get_tagged_reading(kanji, lang)
local tagged_daiyoji = get_tagged_reading(daiyoji, lang)
return {
description = "{{{langname}}} terms with {{l|{{{langcode}}}|" .. kanji .. "}} replaced by [[Appendix:Japanese glossary#daiyouji|daiyōji]] {{l|{{{langcode}}}|" .. daiyoji .. "}}.",
displaytitle = "{{{langname}}} terms with " .. tagged_kanji .. " replaced by daiyōji " .. tagged_daiyoji,
breadcrumb = tagged_kanji .. " replaced by daiyōji " .. tagged_daiyoji,
parents = {{name = "terms spelled with daiyōji", sort = args.sort}},
umbrella = false,
}, true
end)
return {LABELS = labels, HANDLERS = handlers}
fu16f08et44ozlfbol8tq84ig8fraqn
234057
234056
2026-05-15T06:54:11Z
Lee
19
"entry maintenance" සිට "ප්රවේශ නඩත්තුව" වෙතට
234057
Scribunto
text/plain
local labels = {}
local handlers = {}
local m_str_utils = require("Module:string utilities")
local concat = table.concat
local full_link = require("Module:links").full_link
local insert = table.insert
local Hani_sort = require("Module:Hani-sortkey").makeSortKey
local match = m_str_utils.match
local sort = table.sort
local tag_text = require("Module:script_utilities").tag_text
local ucfirst = m_str_utils.ucfirst
local Hira = require("Module:scripts").getByCode("Hira")
local Jpan = require("Module:scripts").getByCode("Jpan")
local kana_to_romaji = require("Module:Hrkt-translit").tr
local m_numeric = require("Module:ConvertNumeric")
local kana_capture = "([-" .. require("Module:ja/data/range").kana .. "・]+)"
local yomi_data = require("Module:kanjitab/data")
labels["adnominals"] = {
description = "{{{langname}}} adnominals, or {{ja-r|連%体%詞|れん%たい%し}}, which modify nouns, and do not conjugate or [[predicate#Verb|predicate]].",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["hiragana"] = {
description = "{{{langname}}} terms with hiragana {{mdash}} {{ja-r|平%仮%名|ひら%が%な}} {{mdash}} forms, sorted by conventional hiragana sequence. The hiragana form is a [[phonetic]] representation of that word. " ..
"Wiktionary represents {{{langname}}}-language segments in three ways: in normal form (with [[kanji]], if appropriate), in [[hiragana]] " ..
"form (this differs from kanji form only when the segment contains kanji), and in [[romaji]] form.",
additional = "''See also'' [[:Category:{{{langname}}} katakana]]",
toc_template = "Hira-categoryTOC",
toc_template_full = "Hira-categoryTOC/full",
parents = {
{name = "{{{langcat}}}", raw = true},
"ප්රවර්ගය:හිරගනා අක්ෂරක්රමය තුළ භාවිතා වන අනුලක්ෂණ",
}
}
labels["historical hiragana"] = {
description = "{{{langname}}} historical [[hiragana]].",
additional = "''See also'' [[:Category:{{{langname}}} historical katakana]].",
toc_template = "Hira-categoryTOC",
toc_template_full = "Hira-categoryTOC/full",
parents = {
"hiragana",
{name = "{{{langcat}}}", raw = true},
"ප්රවර්ගය:හිරගනා අක්ෂරක්රමය තුළ භාවිතා වන අනුලක්ෂණ",
}
}
labels["katakana"] = {
description = "{{{langname}}} terms with katakana {{mdash}} {{ja-r|片%仮%名|かた%か%な}} {{mdash}} forms, sorted by conventional katakana sequence. Katakana is used primarily for transliterations of foreign words, including old Chinese hanzi not used in [[shinjitai]].",
additional = "''See also'' [[:Category:{{{langname}}} hiragana]]",
toc_template = "Kana-categoryTOC",
toc_template_full = "Kana-categoryTOC/full",
parents = {
{name = "{{{langcat}}}", raw = true},
"Category:Katakana script characters",
}
}
labels["historical katakana"] = {
description = "{{{langname}}} historical [[katakana]].",
additional = "''See also'' [[:Category:{{{langname}}} historical hiragana]].",
toc_template = "Kana-categoryTOC",
toc_template_full = "Kana-categoryTOC/full",
parents = {
"katakana",
{name = "{{{langcat}}}", raw = true},
"Category:Katakana script characters",
}
}
labels["terms spelled with mixed kana"] = {
description = "{{{langname}}} terms which combine [[hiragana]] and [[katakana]] characters, potentially with [[kanji]] too.",
parents = {
{name = "{{{langcat}}}", raw = true},
"hiragana",
"katakana",
},
}
labels["kanji"] = {
topright = "{{wp|Kanji}}",
description = "{{{langname}}} symbols of the Han logographic script, which can represent sounds or convey meanings directly.",
toc_template = "Hani-categoryTOC",
umbrella = "Han characters",
parents = "ලෝගෝග්රෑම",
}
labels["kanji by reading"] = {
description = "{{{langname}}} kanji categorized by reading.",
parents = {{name = "kanji", sort = "reading"}},
}
labels["makurakotoba"] = {
topright = "{{wp|Makurakotoba}}",
description = "{{{langname}}} idioms used in poetry to introduce specific words.",
parents = {"idioms"},
}
labels["terms by kanji readings"] = {
description = "{{{langname}}} categories grouped with regard to the readings of the kanji with which they are spelled.",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["terms by reading pattern"] = {
description = "{{{langname}}} categories with terms grouped by their reading patterns.",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["terms by number of kanji"] = {
description = "{{{langname}}} terms categorized by number of kanji.",
parents = {"terms by orthographic property"},
}
local function handle_onyomi_list(category, category_type, cat_yomi_type)
local onyomi, seen = {}, {}
for _, yomi in pairs(yomi_data) do
if not seen[yomi] and yomi.onyomi then
local yomi_catname = yomi[category_type]
if yomi_catname ~= false then
local yomi_type = yomi.type
if yomi_type ~= "on'yomi" and yomi_type ~= cat_yomi_type then
insert(onyomi, "[[:Category:{{{langname}}} " .. category:gsub("{{{yomi_catname}}}", yomi_catname) .. "]]")
end
end
end
seen[yomi] = true
end
sort(onyomi)
return onyomi
end
local function add_yomi_category(category, category_type, parent, description)
for _, yomi in pairs(yomi_data) do
local yomi_catname = yomi[category_type]
if yomi_catname ~= false then
local yomi_type = yomi.type
local yomi_desc = yomi.link or yomi_catname
if yomi.description then
yomi_desc = yomi_desc .. "; " .. yomi.description
end
local label = {
description = description .. " " .. yomi_desc .. ".",
breadcrumb = yomi_type,
parents = {{name = parent, sort = yomi_catname}},
}
if yomi.onyomi then
local onyomi = handle_onyomi_list(category, category_type, yomi_type)
label.additional = "Categories of terms with " ..
(yomi_type == "on'yomi" and "more" or "other") ..
" specific types of on'yomi readings can be found in the following categories:\n* " .. concat(onyomi, "\n* ")
if yomi_type ~= "on'yomi" then
insert(label.parents, 1, {
name = (category:gsub("{{{yomi_catname}}}", yomi_data.on[category_type])),
sort = yomi_catname
})
end
end
labels[category:gsub("{{{yomi_catname}}}", yomi_catname)] = label
end
end
end
add_yomi_category(
"terms read with {{{yomi_catname}}}",
"reading_category",
"terms by reading pattern",
"{{{langname}}} terms read with"
)
add_yomi_category(
"terms spelled with kanji with {{{yomi_catname}}} readings",
"kanji_category",
"terms by kanji reading type",
"{{{langname}}} categories with terms that are spelled with one or more kanji read with"
)
labels["terms with missing yomi"] = {
description = "{{{langname}}} terms where at least one [[Appendix:Japanese glossary#yomi|yomi]] is missing from {{tl|{{{langcode}}}-kanjitab}}.",
hidden = true,
can_be_empty = true,
parents = {"ප්රවේශ නඩත්තුව"},
}
labels["terms with IPA pronunciation with pitch accent"] = {
description = "{{{langname}}} terms with pronunciations that have {{w|Japanese pitch accent|pitch accent}} specified.",
additional = "Pitch accent can be specified in {{tl|{{{langcode}}}-pron}} with the {{code|=acc=}} parameter.",
can_be_empty = true,
parents = {"ප්රවේශ නඩත්තුව", "pitch accent"},
}
labels["terms with IPA pronunciation missing pitch accent"] = {
description = "{{{langname}}} terms with pronunciations that do not have a {{w|Japanese pitch accent|pitch accent}} specified.",
additional = "Pitch accent can be specified in {{tl|{{{langcode}}}-pron}} with the {{code|=acc=}} parameter.",
hidden = true,
can_be_empty = true,
parents = {"ප්රවේශ නඩත්තුව"},
}
labels["pitch accent"] = {
description = "{{{langname}}} terms regarding {{w|Japanese pitch accent|pitch accent}} pronunciation.",
can_be_empty = true,
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["terms with Heiban pitch accent (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[平板型|Heiban]] {{w|Japanese pitch accent|pitch accent}}.",
can_be_empty = true,
parents = {"pitch accent"}
}
labels["terms with Atamadaka pitch accent (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[頭高型|Atamadaka]] {{w|Japanese pitch accent|pitch accent}}.",
can_be_empty = true,
parents = {"pitch accent"}
}
labels["terms with Nakadaka pitch accent (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[中高型|Nakadaka]] {{w|Japanese pitch accent|pitch accent}}.",
can_be_empty = true,
parents = {"pitch accent"}
}
labels["terms with Odaka pitch accent (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[尾高型|Odaka]] {{w|Japanese pitch accent|pitch accent}}.",
can_be_empty = true,
parents = {"pitch accent"}
}
labels["terms with complex pitch accent (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) complex {{w|Japanese pitch accent|pitch accent}}, as in having more than one {{m|ja|アクセント句}}.",
can_be_empty = true,
parents = {"pitch accent"}
}
labels["pitch accent deaccenting before の"] = {
description = "{{{langname}}} terms with {{w|Japanese pitch accent|pitch accent}} pronunciations that have exceptional deaccenting or lack thereof before の ({{ja-deaccenting-before-no}}).",
can_be_empty = true,
parents = {"pitch accent"}
}
labels["terms with Odaka pitch accent not deaccented before の (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[尾高型|Odaka]] {{w|Japanese pitch accent|pitch accent}} and do not become deaccented before の ({{ja-deaccenting-before-no}}).\n\nTerms are placed in this category using {{tl|ja-odaka-deaccent-exception}}.",
can_be_empty = true,
parents = {"pitch accent deaccenting before の"}
}
labels["terms with Nakadaka pitch accent deaccented before の (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[中高型|Nakadaka]] {{w|Japanese pitch accent|pitch accent}} and become deaccented before の ({{ja-deaccenting-before-no}}).\n\nTerms are placed in this category using {{tl|ja-nakadaka-deaccent}}.",
can_be_empty = true,
parents = {"pitch accent deaccenting before の"}
}
labels["terms by kanji reading type"] = {
description = "{{{langname}}} categories with terms grouped with regard to the types of readings of the kanji with which " ..
"they are spelled; broadly, those of Chinese origin, {{ja-r|音|おん}} readings, and those of non-Chinese origin, {{ja-r|訓|くん}} readings.",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["terms spelled with ateji"] = {
topright = "{{wp|Ateji}}",
description = "{{{langname}}} terms containing one or more [[Appendix:Japanese glossary#ateji|ateji]] {{mdash}} {{ja-r|当て字|あてじ}} {{mdash}} which are [[kanji]] used to represent sounds rather than meanings (though meaning may have some influence on which kanji are chosen).",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["terms spelled with daiyōji"] = {
description = "Japanese terms spelled using [[Appendix:Japanese glossary#daiyouji|daiyōji]], categorized using {{temp|ja-daiyouji}}.",
parents = {"terms by etymology"},
}
labels["terms spelled with jukujikun"] = {
description = "{{{langname}}} terms containing one or more [[Appendix:Japanese glossary#jukujikun|jukujikun]] {{mdash}} {{ja-r|熟%字%訓|じゅく%じ%くん}} {{mdash}} which are [[kanji]] used to represent meanings rather than sounds.",
parents = {{name = "{{{langcat}}}", raw = true}},
}
local function add_grade_categories(grade, desc, wp, only_one, parent, sort)
local grade_kanji = grade .. " kanji"
local topright = wp and ("{{wp|%s}}"):format(ucfirst(grade_kanji)) or nil
labels[grade_kanji] = {
topright = topright,
description = "{{{langname}}} kanji " .. desc,
toc_template = "Hani-categoryTOC",
parents = {{
name = parent and (parent .. " kanji") or "kanji",
sort = sort or grade
}},
}
labels["terms spelled with " .. grade_kanji] = {
topright = topright,
description = "{{{langname}}} terms spelled with " .. (only_one and "at least one " or "") .. "kanji " .. desc,
parents = {{
name = parent and ("terms spelled with " .. parent .. " kanji") or "terms by orthographic property",
sort = sort or grade
}},
}
end
for i = 1, 6 do
local ord = m_numeric.ones_position_ord[i]
add_grade_categories(
ord .. " grade",
"taught in the " .. ord .. " grade of elementary school, as designated by the the official list of {{ja-r|教%育 漢%字|きょう%いく かん%じ|education kanji}}.",
false,
false,
"kyōiku",
i
)
end
add_grade_categories(
"kyōiku",
"on the official list of {{ja-r|教%育 漢%字|きょう%いく かん%じ|education kanji}}.",
true,
false,
"jōyō"
)
add_grade_categories(
"secondary school",
"on the official list of {{ja-r|常%用 漢%字|じょう%よう かん%じ|regular-use characters}} that are generally taught in secondary school.",
false,
false,
"jōyō"
)
add_grade_categories(
"jōyō",
"on the official list of {{ja-r|常%用 漢%字|じょう%よう かん%じ|regular-use characters}}.",
true,
false
)
add_grade_categories(
"tōyō",
"on the official list of {{ja-r|当%用 漢%字|とう%よう かん%じ|general-use characters}}, which was used from 1946{{ndash}}1981 until the publication of the list of {{ja-r|常%用 漢%字|じょう%よう かん%じ|regular-use characters}}.",
true,
false
)
add_grade_categories(
"jinmeiyō",
"on the official list of {{ja-r|人%名%用 漢%字|じん%めい%-よう かん%じ|kanji for use in personal names}}.",
true,
true
)
add_grade_categories(
"hyōgai",
"not included on the official list of {{ja-r|常%用 漢%字|じょう%よう かん%じ|regular-use characters}} or {{ja-r|人%名%用 漢%字|じん%めい%-よう かん%じ|kanji for use in personal names}}, known as {{ja-r|表%外 漢%字|ひょう%がい かん%じ}} or {{ja-r|表%外%字|ひょう%がい%じ|unlisted characters}}.",
true,
true
)
labels["terms with multiple readings"] = {
description = "{{{langname}}} terms with multiple pronunciations (hence multiple [[kana]] spellings).",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["kanji readings by number of morae"] = {
description = "{{{langname}}} categories grouped with regard to the number of morae in their kanji readings.",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["single-kanji terms"] = {
description = "{{{langname}}} terms written as a single kanji.",
parents = {
"terms by orthographic property",
{name = "terms with 1 kanji", sort = " "},
},
}
labels["kanji with kun readings missing okurigana designation"] = {
breadcrumb = "Kanji missing okurigana designation",
description = "{{{langname}}} kanji entries in which one or more kun readings entered into {{tl|{{{langcode}}}-readings}} is missing a hyphen denoting okurigana.",
toc_template = "Hani-categoryTOC",
hidden = true,
can_be_empty = true,
parents = {"ප්රවේශ නඩත්තුව"},
}
labels["terms by the individual characters in their historical spellings"] = {
breadcrumb = "Historical",
description = "{{{langname}}} terms categorized by whether their spellings in the {{w|historical kana orthography}} included certain individual characters.",
parents = {{name = "terms by their individual characters", sort = " "}},
}
labels["verbs without transitivity"] = {
description = "{{{langname}}} verbs missing the {{code|=tr=}} parameter from their headword templates.",
hidden = true,
can_be_empty = true,
parents = {"ප්රවේශ නඩත්තුව"},
}
labels["yojijukugo"] = {
topright = "{{wp|Yojijukugo}}",
description = "{{{langname}}} four-[[kanji]] compound terms, {{ja-r|四%字 熟%語|よ%じ じゅく%ご}}, with idiomatic meanings; typically derived from Classical Chinese, Buddhist scripture or traditional Japanese proverbs.",
additional = "Compare Chinese {{w|chengyu}} and Korean {{w|sajaseong-eo}}.",
umbrella = "four-character idioms",
parents = {"idioms"},
}
-- FIXME: Only works for 0 through 19.
local word_to_number = {}
for k, v in pairs(m_numeric.ones_position) do
word_to_number[v] = k
end
local periods = {
historical = true,
ancient = true,
}
local function get_period_text_and_reading_type_link(period, reading_type)
if period and not periods[period] then
return nil
end
local period_text = period and period .. " " or nil
-- Allow periods (historical or ancient) by themselves; they will parse as reading types.
if not period and periods[reading_type] then
return nil, reading_type
end
local reading_type_link = "[[Appendix:Japanese glossary#" .. reading_type .. "|" .. reading_type .. "]]"
return period_text, reading_type_link
end
local function get_sc(str)
return match(str:gsub("[%s%p]+", ""), "[^" .. Hira:getCharacters() .. "]") and Jpan or Hira
end
local function get_tagged_reading(reading, lang)
return tag_text(reading, lang, get_sc(reading))
end
local function get_reading_link(reading, lang, period, link)
local hist = periods[period]
reading = reading:gsub("[%.%-%s]+", "")
return full_link({
lang = lang,
sc = get_sc(reading),
term = link or reading:gsub("・", ""),
-- If we have okurigana, demarcate furigana.
alt = reading:gsub("^(.-)・", "<span style=\"border-top:1px solid;position:relative;padding:1px;\">%1<span style=\"position:absolute;top:0;bottom:67%%;right:0%%;border-right:1px solid;\"></span></span>"),
tr = kana_to_romaji((reading:gsub("・", ".")), lang:getCode(), nil, {keep_dot = true, hist = hist})
:gsub("^(.-)%.", "<u>%1</u>"),
pos = reading:find("・", 1, true) and get_tagged_reading((reading:gsub("^.-・", "~")), lang) or nil
}, "term")
end
local function is_on_subtype(reading_type)
return reading_type:find(".on$")
end
insert(handlers, function(data)
local n =data.label:match("^terms with ([1-9]%d*) kanji$")
if not n then
return
end
local sortkey = require("Module:category tree").numeral_sortkey(n, 2097152)
return {
breadcrumb = n,
description = ("{{{langname}}} terms containing exactly %d kanji."):format(n),
-- TODO: implement this using the same mechanism used to implement parents (i.e. avoiding the need for raw categories).
-- umbrella = {
-- breadcrumb = ("%d kanji"):format(n),
-- parents = {{name = "terms by number of kanji subcategories by language", sort = sortkey}},
-- },
parents = {{name = ("terms by number of kanji"), sort = sortkey}}
}
end)
insert(handlers, function(data)
local label_pref, kana = data.label:match("^(terms historically spelled with )" .. kana_capture .. "$")
if not kana then
return
end
local lang = data.lang
return {
description = "{{{langname}}} terms spelled with " .. get_reading_link(kana, lang, "historical") .. " in the {{w|historical kana orthography}}.",
displaytitle = "{{{langname}}} " .. label_pref .. get_tagged_reading(kana, lang),
breadcrumb = "historical",
parents = {
{name = "terms spelled with " .. kana, sort = " "},
{name = "terms by the individual characters in their historical spellings", sort = lang:makeSortKey(kana)}
},
umbrella = false,
}
end)
insert(handlers, function(data)
local count, plural = data.label:match("^kanji readings with (.+) mora(e?)$")
-- Make sure 'one' goes with singular and other numbers with plural.
if not count or (count == "one") ~= (plural == "") then
return
end
local num = word_to_number[count]
if not num then
return nil
end
return {
description = "{{{langname}}} kanji readings containing " .. count .. " mora" .. plural .. ".",
breadcrumb = num,
parents = {{name = "kanji readings by number of morae", sort = num}},
umbrella = false,
}
end)
insert(handlers, function(data)
local label_pref, period, reading_type, reading = match(data.label, "^(kanji with ([a-z]-) ?([%a']+) reading )" .. kana_capture .. "$")
if not period then
return
end
period = period ~= "" and period or nil
local period_text, reading_type_link = get_period_text_and_reading_type_link(period, reading_type)
if not reading_type_link then
return
end
local lang = data.lang
-- Compute parents.
local parents, breadcrumb = {}
if reading:find("・", 1, true) then
local okurigana = reading:match("・(.*)")
insert(parents, {
name = "kanji with " .. (period_text or "") .. reading_type .. " reading " .. reading:match("(.-)・"),
-- Sort by okurigana, since all coordinate categories will have the same furigana.
sort = (lang:makeSortKey(okurigana))
})
breadcrumb = "~" .. okurigana
else
insert(parents, {
name = "kanji by " .. (period_text or "") .. reading_type .. " reading",
sort = (lang:makeSortKey(reading))
})
breadcrumb = reading
end
if is_on_subtype(reading_type) then
insert(parents, {name = "kanji with " .. (period_text or "") .. "on reading " .. reading, sort = reading_type})
elseif period_text then
insert(parents, {name = "kanji with " .. period_text .. "reading " .. reading, sort = reading_type})
end
if not period_text then
insert(parents, {name = "kanji read as " .. reading, sort = reading_type})
end
return {
description = "{{{langname}}} [[kanji]] with the " .. (period_text or "") .. reading_type_link .. " reading " ..
get_reading_link(reading, lang, period or reading_type) .. ".",
displaytitle = "{{{langname}}} " .. label_pref .. get_tagged_reading(reading, lang),
breadcrumb = get_tagged_reading(breadcrumb, lang),
parents = parents,
umbrella = false,
}
end)
insert(handlers, function(data)
local period, reading_type = match(data.label, "^kanji by ([a-z]-) ?([%a']+) reading$")
if not period then
return
end
period = period ~= "" and period or nil
local period_text, reading_type_link = get_period_text_and_reading_type_link(period, reading_type)
if not reading_type_link then
return nil
end
-- Compute parents.
local parents = {
is_on_subtype(reading_type) and {name = "kanji by " .. (period_text or "") .. "on reading", sort = reading_type} or
period_text and {name = "kanji by " .. reading_type .. " reading", sort = period} or
{name = "kanji by reading", sort = reading_type}
}
if period_text then
insert(parents, {name = "kanji by " .. period_text .. "reading", sort = reading_type})
end
-- Compute description.
local description = "{{{langname}}} [[kanji]] categorized by " .. (period_text or "") .. reading_type_link .. " reading."
return {
description = description,
breadcrumb = (period_text or "") .. reading_type,
parents = parents,
umbrella = false,
}
end)
insert(handlers, function(data)
local label_pref, reading = match(data.label, "^(kanji read as )" .. kana_capture .. "$")
if not reading then
return
end
local args = require("Module:parameters").process(data.args, {
["histconsol"] = true,
})
local lang = data.lang
local parents, breadcrumb = {}
if reading:find("・", 1, true) then
local okurigana = reading:match("・(.*)")
insert(parents, {
name = "kanji read as " .. reading:match("(.-)・"),
-- Sort by okurigana, since all coordinate categories will have the same furigana.
sort = (lang:makeSortKey(okurigana))
})
breadcrumb = "~" .. okurigana
else
insert(parents, {
name = "kanji by reading",
sort = (lang:makeSortKey(reading))
})
breadcrumb = reading
end
local addl
local period_text
if args.histconsol then
period_text = "historical"
addl = ("This is a [[Wikipedia:Historical kana orthography|historical]] [[Wikipedia:Kanazukai|reading]], now " ..
"consolidated with the [[Wikipedia:Modern kana usage|modern reading]] of " ..
get_reading_link(args.histconsol, lang, nil, ("Category:Japanese kanji read as %s"):format(args.histconsol)) .. ".")
end
return {
description = "{{{langname}}} [[kanji]] read as " .. get_reading_link(reading, lang, period_text) .. ".",
additional = addl,
displaytitle = "{{{langname}}} " .. label_pref .. get_tagged_reading(reading, lang),
breadcrumb = get_tagged_reading(breadcrumb, lang),
parents = parents,
umbrella = false,
}, true
end)
insert(handlers, function(data)
local label_pref, reading = match(data.label, "^(terms spelled with kanji read as )" .. kana_capture .. "$")
if not reading then
return
end
-- Compute parents.
local lang = data.lang
local sort_key = (lang:makeSortKey(reading))
local mora_count = require("Module:ja").count_morae(reading)
local mora_count_words = m_numeric.spell_number(tostring(mora_count))
local parents = {
{name = "terms by kanji readings", sort = sort_key},
{name = "kanji readings with " .. mora_count_words .. " mora" .. (mora_count > 1 and "e" or ""), sort = sort_key},
{name = "kanji read as " .. reading, sort = " "},
}
local tagged_reading = get_tagged_reading(reading, lang)
return {
description = "{{{langname}}} terms that contain kanji that exhibit a reading of " .. get_reading_link(reading, lang) ..
" in those terms prior to any sound changes.",
displaytitle = "{{{langname}}} " .. label_pref .. tagged_reading,
breadcrumb = tagged_reading,
parents = parents,
umbrella = false,
}
end)
insert(handlers, function(data)
local kanji, reading = match(data.label, "^terms spelled with (.) read as " .. kana_capture .. "$")
if not kanji then
return nil
end
local args = require("Module:parameters").process(data.args, {
[1] = {list = true},
})
local lang = data.lang
if #args[1] == 0 then
error("For categories of the form \"" .. lang:getCanonicalName() ..
" terms spelled with KANJI read as READING\", at least one reading type (e.g. <code>kun</code> or <code>on</code>) must be specified using <code>1=</code>, <code>2=</code>, <code>3=</code>, etc.")
end
local yomi_types, parents = {}, {}
for _, yomi, category in ipairs(args[1]) do
local yomi_data = yomi_data[yomi]
if not yomi_data then
error("The yomi type \"" .. yomi .. "\" is not recognized.")
end
category = yomi_data.kanji_category
if not category then
error("The yomi type \"" .. yomi .. "\" is not valid for this type of category.")
end
insert(yomi_types, yomi_data.link)
insert(parents, {
name = "terms spelled with kanji with " .. category .. " readings",
sort = (lang:makeSortKey(reading))
})
end
insert(parents, 1, {name = "terms spelled with " .. kanji, sort = (lang:makeSortKey(reading))})
insert(parents, 2, {name = "terms spelled with kanji read as " .. reading, sort = Hani_sort(kanji)})
yomi_types = (#yomi_types > 1 and "one of " or "") .. "its " ..
require("Module:table").serialCommaJoin(yomi_types, {conj = "or"}) ..
" reading" .. (#yomi_types > 1 and "s" or "")
local tagged_kanji = get_tagged_reading(kanji, lang)
local tagged_reading = get_tagged_reading(reading, lang)
return {
description = "{{{langname}}} terms spelled with {{l|{{{langcode}}}|" .. kanji .. "}} with " ..
yomi_types .. " of " .. get_reading_link(reading, lang) .. ".",
displaytitle = "{{{langname}}} terms spelled with " .. tagged_kanji .. " read as " .. tagged_reading,
breadcrumb = "read as " .. tagged_reading,
parents = parents,
umbrella = false,
}, true
end)
insert(handlers, function(data)
local affix, kanji, reading = data.label:match("^terms ([a-z]+fix)ed with (.+) read as " .. kana_capture .. "$")
if not affix or not kanji or not reading then
return nil
end
local args = require("Module:parameters").process(data.args, {
[1] = {list = true},
})
local lang = data.lang
if #args[1] == 0 then
error("For categories of the form \"" .. lang:getCanonicalName() ..
" terms AFFIXed with KANJI read as READING\", at least one reading type (e.g. <code>kun</code> or <code>on</code>) must be specified using <code>1=</code>, <code>2=</code>, <code>3=</code>, etc.")
end
local yomi_types = {}
for _, yomi, category in ipairs(args[1]) do
local yomi_data = yomi_data[yomi]
if not yomi_data then
error("The yomi type \"" .. yomi .. "\" is not recognized.")
end
category = yomi_data.kanji_category
if not category then
error("The yomi type \"" .. yomi .. "\" is not valid for this type of category.")
end
insert(yomi_types, yomi_data.link)
end
yomi_types = (#yomi_types > 1 and "one of " or "") .. "its " ..
require("Module:table").serialCommaJoin(yomi_types, {conj = "or"}) ..
" reading" .. (#yomi_types > 1 and "s" or "")
local description = "{{{langname}}} terms " .. affix .. "ed with {{l|{{{langcode}}}|" .. kanji .. "}} with " ..
yomi_types .. " of " .. get_reading_link(reading, lang) .. "."
local what_categorizes_msg =
require("Module:category tree/fam/jpx/what-categorizes-msg")
.get_what_categorizes_msg(kanji, reading, affix)
if what_categorizes_msg then
description = description .. "\n\n" .. what_categorizes_msg
end
local parents = {}
table.insert(parents, {name = "terms " .. affix .. "ed with " .. kanji, sort = (lang:makeSortKey(reading))})
if mw.title.new("Category:" .. lang:getCanonicalName() .. " terms spelled with " .. kanji .. " read as " .. reading).exists then
table.insert(parents, {name = "terms spelled with " .. kanji .. " read as " .. reading, sort = (lang:makeSortKey(reading)), args=data.args})
end
local tagged_kanji = get_tagged_reading(kanji, lang)
local tagged_reading = get_tagged_reading(reading, lang)
return {
description = description,
displaytitle = "{{{langname}}} terms " .. affix .. "ed with " .. tagged_kanji .. " read as " .. tagged_reading,
breadcrumb = "read as " .. reading,
parents = parents,
umbrella = false,
}, true
end)
insert(handlers, function(data)
local kanji, daiyoji = match(data.label, "^terms with (.) replaced by daiyōji (.)$")
if not kanji then
return nil
end
local args = require("Module:parameters").process(data.args, {
["sort"] = true,
})
local lang = data.lang
if not args.sort then
error("For categories of the form \"" .. lang:getCanonicalName() ..
" terms with KANJI replaced by daiyōji DAIYOJI\", the sort key must be specified using sort=")
end
local tagged_kanji = get_tagged_reading(kanji, lang)
local tagged_daiyoji = get_tagged_reading(daiyoji, lang)
return {
description = "{{{langname}}} terms with {{l|{{{langcode}}}|" .. kanji .. "}} replaced by [[Appendix:Japanese glossary#daiyouji|daiyōji]] {{l|{{{langcode}}}|" .. daiyoji .. "}}.",
displaytitle = "{{{langname}}} terms with " .. tagged_kanji .. " replaced by daiyōji " .. tagged_daiyoji,
breadcrumb = tagged_kanji .. " replaced by daiyōji " .. tagged_daiyoji,
parents = {{name = "terms spelled with daiyōji", sort = args.sort}},
umbrella = false,
}, true
end)
return {LABELS = labels, HANDLERS = handlers}
6o48ce3clk9bg3hepwr1te2j2oa3j9d
234058
234057
2026-05-15T07:04:25Z
Lee
19
"terms by etymology" සිට "යෙදුම්, නිරුක්තිය අනුව" වෙතට
234058
Scribunto
text/plain
local labels = {}
local handlers = {}
local m_str_utils = require("Module:string utilities")
local concat = table.concat
local full_link = require("Module:links").full_link
local insert = table.insert
local Hani_sort = require("Module:Hani-sortkey").makeSortKey
local match = m_str_utils.match
local sort = table.sort
local tag_text = require("Module:script_utilities").tag_text
local ucfirst = m_str_utils.ucfirst
local Hira = require("Module:scripts").getByCode("Hira")
local Jpan = require("Module:scripts").getByCode("Jpan")
local kana_to_romaji = require("Module:Hrkt-translit").tr
local m_numeric = require("Module:ConvertNumeric")
local kana_capture = "([-" .. require("Module:ja/data/range").kana .. "・]+)"
local yomi_data = require("Module:kanjitab/data")
labels["adnominals"] = {
description = "{{{langname}}} adnominals, or {{ja-r|連%体%詞|れん%たい%し}}, which modify nouns, and do not conjugate or [[predicate#Verb|predicate]].",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["hiragana"] = {
description = "{{{langname}}} terms with hiragana {{mdash}} {{ja-r|平%仮%名|ひら%が%な}} {{mdash}} forms, sorted by conventional hiragana sequence. The hiragana form is a [[phonetic]] representation of that word. " ..
"Wiktionary represents {{{langname}}}-language segments in three ways: in normal form (with [[kanji]], if appropriate), in [[hiragana]] " ..
"form (this differs from kanji form only when the segment contains kanji), and in [[romaji]] form.",
additional = "''See also'' [[:Category:{{{langname}}} katakana]]",
toc_template = "Hira-categoryTOC",
toc_template_full = "Hira-categoryTOC/full",
parents = {
{name = "{{{langcat}}}", raw = true},
"ප්රවර්ගය:හිරගනා අක්ෂරක්රමය තුළ භාවිතා වන අනුලක්ෂණ",
}
}
labels["historical hiragana"] = {
description = "{{{langname}}} historical [[hiragana]].",
additional = "''See also'' [[:Category:{{{langname}}} historical katakana]].",
toc_template = "Hira-categoryTOC",
toc_template_full = "Hira-categoryTOC/full",
parents = {
"hiragana",
{name = "{{{langcat}}}", raw = true},
"ප්රවර්ගය:හිරගනා අක්ෂරක්රමය තුළ භාවිතා වන අනුලක්ෂණ",
}
}
labels["katakana"] = {
description = "{{{langname}}} terms with katakana {{mdash}} {{ja-r|片%仮%名|かた%か%な}} {{mdash}} forms, sorted by conventional katakana sequence. Katakana is used primarily for transliterations of foreign words, including old Chinese hanzi not used in [[shinjitai]].",
additional = "''See also'' [[:Category:{{{langname}}} hiragana]]",
toc_template = "Kana-categoryTOC",
toc_template_full = "Kana-categoryTOC/full",
parents = {
{name = "{{{langcat}}}", raw = true},
"Category:Katakana script characters",
}
}
labels["historical katakana"] = {
description = "{{{langname}}} historical [[katakana]].",
additional = "''See also'' [[:Category:{{{langname}}} historical hiragana]].",
toc_template = "Kana-categoryTOC",
toc_template_full = "Kana-categoryTOC/full",
parents = {
"katakana",
{name = "{{{langcat}}}", raw = true},
"Category:Katakana script characters",
}
}
labels["terms spelled with mixed kana"] = {
description = "{{{langname}}} terms which combine [[hiragana]] and [[katakana]] characters, potentially with [[kanji]] too.",
parents = {
{name = "{{{langcat}}}", raw = true},
"hiragana",
"katakana",
},
}
labels["kanji"] = {
topright = "{{wp|Kanji}}",
description = "{{{langname}}} symbols of the Han logographic script, which can represent sounds or convey meanings directly.",
toc_template = "Hani-categoryTOC",
umbrella = "Han characters",
parents = "ලෝගෝග්රෑම",
}
labels["kanji by reading"] = {
description = "{{{langname}}} kanji categorized by reading.",
parents = {{name = "kanji", sort = "reading"}},
}
labels["makurakotoba"] = {
topright = "{{wp|Makurakotoba}}",
description = "{{{langname}}} idioms used in poetry to introduce specific words.",
parents = {"idioms"},
}
labels["terms by kanji readings"] = {
description = "{{{langname}}} categories grouped with regard to the readings of the kanji with which they are spelled.",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["terms by reading pattern"] = {
description = "{{{langname}}} categories with terms grouped by their reading patterns.",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["terms by number of kanji"] = {
description = "{{{langname}}} terms categorized by number of kanji.",
parents = {"terms by orthographic property"},
}
local function handle_onyomi_list(category, category_type, cat_yomi_type)
local onyomi, seen = {}, {}
for _, yomi in pairs(yomi_data) do
if not seen[yomi] and yomi.onyomi then
local yomi_catname = yomi[category_type]
if yomi_catname ~= false then
local yomi_type = yomi.type
if yomi_type ~= "on'yomi" and yomi_type ~= cat_yomi_type then
insert(onyomi, "[[:Category:{{{langname}}} " .. category:gsub("{{{yomi_catname}}}", yomi_catname) .. "]]")
end
end
end
seen[yomi] = true
end
sort(onyomi)
return onyomi
end
local function add_yomi_category(category, category_type, parent, description)
for _, yomi in pairs(yomi_data) do
local yomi_catname = yomi[category_type]
if yomi_catname ~= false then
local yomi_type = yomi.type
local yomi_desc = yomi.link or yomi_catname
if yomi.description then
yomi_desc = yomi_desc .. "; " .. yomi.description
end
local label = {
description = description .. " " .. yomi_desc .. ".",
breadcrumb = yomi_type,
parents = {{name = parent, sort = yomi_catname}},
}
if yomi.onyomi then
local onyomi = handle_onyomi_list(category, category_type, yomi_type)
label.additional = "Categories of terms with " ..
(yomi_type == "on'yomi" and "more" or "other") ..
" specific types of on'yomi readings can be found in the following categories:\n* " .. concat(onyomi, "\n* ")
if yomi_type ~= "on'yomi" then
insert(label.parents, 1, {
name = (category:gsub("{{{yomi_catname}}}", yomi_data.on[category_type])),
sort = yomi_catname
})
end
end
labels[category:gsub("{{{yomi_catname}}}", yomi_catname)] = label
end
end
end
add_yomi_category(
"terms read with {{{yomi_catname}}}",
"reading_category",
"terms by reading pattern",
"{{{langname}}} terms read with"
)
add_yomi_category(
"terms spelled with kanji with {{{yomi_catname}}} readings",
"kanji_category",
"terms by kanji reading type",
"{{{langname}}} categories with terms that are spelled with one or more kanji read with"
)
labels["terms with missing yomi"] = {
description = "{{{langname}}} terms where at least one [[Appendix:Japanese glossary#yomi|yomi]] is missing from {{tl|{{{langcode}}}-kanjitab}}.",
hidden = true,
can_be_empty = true,
parents = {"ප්රවේශ නඩත්තුව"},
}
labels["terms with IPA pronunciation with pitch accent"] = {
description = "{{{langname}}} terms with pronunciations that have {{w|Japanese pitch accent|pitch accent}} specified.",
additional = "Pitch accent can be specified in {{tl|{{{langcode}}}-pron}} with the {{code|=acc=}} parameter.",
can_be_empty = true,
parents = {"ප්රවේශ නඩත්තුව", "pitch accent"},
}
labels["terms with IPA pronunciation missing pitch accent"] = {
description = "{{{langname}}} terms with pronunciations that do not have a {{w|Japanese pitch accent|pitch accent}} specified.",
additional = "Pitch accent can be specified in {{tl|{{{langcode}}}-pron}} with the {{code|=acc=}} parameter.",
hidden = true,
can_be_empty = true,
parents = {"ප්රවේශ නඩත්තුව"},
}
labels["pitch accent"] = {
description = "{{{langname}}} terms regarding {{w|Japanese pitch accent|pitch accent}} pronunciation.",
can_be_empty = true,
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["terms with Heiban pitch accent (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[平板型|Heiban]] {{w|Japanese pitch accent|pitch accent}}.",
can_be_empty = true,
parents = {"pitch accent"}
}
labels["terms with Atamadaka pitch accent (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[頭高型|Atamadaka]] {{w|Japanese pitch accent|pitch accent}}.",
can_be_empty = true,
parents = {"pitch accent"}
}
labels["terms with Nakadaka pitch accent (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[中高型|Nakadaka]] {{w|Japanese pitch accent|pitch accent}}.",
can_be_empty = true,
parents = {"pitch accent"}
}
labels["terms with Odaka pitch accent (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[尾高型|Odaka]] {{w|Japanese pitch accent|pitch accent}}.",
can_be_empty = true,
parents = {"pitch accent"}
}
labels["terms with complex pitch accent (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) complex {{w|Japanese pitch accent|pitch accent}}, as in having more than one {{m|ja|アクセント句}}.",
can_be_empty = true,
parents = {"pitch accent"}
}
labels["pitch accent deaccenting before の"] = {
description = "{{{langname}}} terms with {{w|Japanese pitch accent|pitch accent}} pronunciations that have exceptional deaccenting or lack thereof before の ({{ja-deaccenting-before-no}}).",
can_be_empty = true,
parents = {"pitch accent"}
}
labels["terms with Odaka pitch accent not deaccented before の (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[尾高型|Odaka]] {{w|Japanese pitch accent|pitch accent}} and do not become deaccented before の ({{ja-deaccenting-before-no}}).\n\nTerms are placed in this category using {{tl|ja-odaka-deaccent-exception}}.",
can_be_empty = true,
parents = {"pitch accent deaccenting before の"}
}
labels["terms with Nakadaka pitch accent deaccented before の (Tōkyō)"] = {
description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[中高型|Nakadaka]] {{w|Japanese pitch accent|pitch accent}} and become deaccented before の ({{ja-deaccenting-before-no}}).\n\nTerms are placed in this category using {{tl|ja-nakadaka-deaccent}}.",
can_be_empty = true,
parents = {"pitch accent deaccenting before の"}
}
labels["terms by kanji reading type"] = {
description = "{{{langname}}} categories with terms grouped with regard to the types of readings of the kanji with which " ..
"they are spelled; broadly, those of Chinese origin, {{ja-r|音|おん}} readings, and those of non-Chinese origin, {{ja-r|訓|くん}} readings.",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["terms spelled with ateji"] = {
topright = "{{wp|Ateji}}",
description = "{{{langname}}} terms containing one or more [[Appendix:Japanese glossary#ateji|ateji]] {{mdash}} {{ja-r|当て字|あてじ}} {{mdash}} which are [[kanji]] used to represent sounds rather than meanings (though meaning may have some influence on which kanji are chosen).",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["terms spelled with daiyōji"] = {
description = "Japanese terms spelled using [[Appendix:Japanese glossary#daiyouji|daiyōji]], categorized using {{temp|ja-daiyouji}}.",
parents = {"යෙදුම්, නිරුක්තිය අනුව"},
}
labels["terms spelled with jukujikun"] = {
description = "{{{langname}}} terms containing one or more [[Appendix:Japanese glossary#jukujikun|jukujikun]] {{mdash}} {{ja-r|熟%字%訓|じゅく%じ%くん}} {{mdash}} which are [[kanji]] used to represent meanings rather than sounds.",
parents = {{name = "{{{langcat}}}", raw = true}},
}
local function add_grade_categories(grade, desc, wp, only_one, parent, sort)
local grade_kanji = grade .. " kanji"
local topright = wp and ("{{wp|%s}}"):format(ucfirst(grade_kanji)) or nil
labels[grade_kanji] = {
topright = topright,
description = "{{{langname}}} kanji " .. desc,
toc_template = "Hani-categoryTOC",
parents = {{
name = parent and (parent .. " kanji") or "kanji",
sort = sort or grade
}},
}
labels["terms spelled with " .. grade_kanji] = {
topright = topright,
description = "{{{langname}}} terms spelled with " .. (only_one and "at least one " or "") .. "kanji " .. desc,
parents = {{
name = parent and ("terms spelled with " .. parent .. " kanji") or "terms by orthographic property",
sort = sort or grade
}},
}
end
for i = 1, 6 do
local ord = m_numeric.ones_position_ord[i]
add_grade_categories(
ord .. " grade",
"taught in the " .. ord .. " grade of elementary school, as designated by the the official list of {{ja-r|教%育 漢%字|きょう%いく かん%じ|education kanji}}.",
false,
false,
"kyōiku",
i
)
end
add_grade_categories(
"kyōiku",
"on the official list of {{ja-r|教%育 漢%字|きょう%いく かん%じ|education kanji}}.",
true,
false,
"jōyō"
)
add_grade_categories(
"secondary school",
"on the official list of {{ja-r|常%用 漢%字|じょう%よう かん%じ|regular-use characters}} that are generally taught in secondary school.",
false,
false,
"jōyō"
)
add_grade_categories(
"jōyō",
"on the official list of {{ja-r|常%用 漢%字|じょう%よう かん%じ|regular-use characters}}.",
true,
false
)
add_grade_categories(
"tōyō",
"on the official list of {{ja-r|当%用 漢%字|とう%よう かん%じ|general-use characters}}, which was used from 1946{{ndash}}1981 until the publication of the list of {{ja-r|常%用 漢%字|じょう%よう かん%じ|regular-use characters}}.",
true,
false
)
add_grade_categories(
"jinmeiyō",
"on the official list of {{ja-r|人%名%用 漢%字|じん%めい%-よう かん%じ|kanji for use in personal names}}.",
true,
true
)
add_grade_categories(
"hyōgai",
"not included on the official list of {{ja-r|常%用 漢%字|じょう%よう かん%じ|regular-use characters}} or {{ja-r|人%名%用 漢%字|じん%めい%-よう かん%じ|kanji for use in personal names}}, known as {{ja-r|表%外 漢%字|ひょう%がい かん%じ}} or {{ja-r|表%外%字|ひょう%がい%じ|unlisted characters}}.",
true,
true
)
labels["terms with multiple readings"] = {
description = "{{{langname}}} terms with multiple pronunciations (hence multiple [[kana]] spellings).",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["kanji readings by number of morae"] = {
description = "{{{langname}}} categories grouped with regard to the number of morae in their kanji readings.",
parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["single-kanji terms"] = {
description = "{{{langname}}} terms written as a single kanji.",
parents = {
"terms by orthographic property",
{name = "terms with 1 kanji", sort = " "},
},
}
labels["kanji with kun readings missing okurigana designation"] = {
breadcrumb = "Kanji missing okurigana designation",
description = "{{{langname}}} kanji entries in which one or more kun readings entered into {{tl|{{{langcode}}}-readings}} is missing a hyphen denoting okurigana.",
toc_template = "Hani-categoryTOC",
hidden = true,
can_be_empty = true,
parents = {"ප්රවේශ නඩත්තුව"},
}
labels["terms by the individual characters in their historical spellings"] = {
breadcrumb = "Historical",
description = "{{{langname}}} terms categorized by whether their spellings in the {{w|historical kana orthography}} included certain individual characters.",
parents = {{name = "terms by their individual characters", sort = " "}},
}
labels["verbs without transitivity"] = {
description = "{{{langname}}} verbs missing the {{code|=tr=}} parameter from their headword templates.",
hidden = true,
can_be_empty = true,
parents = {"ප්රවේශ නඩත්තුව"},
}
labels["yojijukugo"] = {
topright = "{{wp|Yojijukugo}}",
description = "{{{langname}}} four-[[kanji]] compound terms, {{ja-r|四%字 熟%語|よ%じ じゅく%ご}}, with idiomatic meanings; typically derived from Classical Chinese, Buddhist scripture or traditional Japanese proverbs.",
additional = "Compare Chinese {{w|chengyu}} and Korean {{w|sajaseong-eo}}.",
umbrella = "four-character idioms",
parents = {"idioms"},
}
-- FIXME: Only works for 0 through 19.
local word_to_number = {}
for k, v in pairs(m_numeric.ones_position) do
word_to_number[v] = k
end
local periods = {
historical = true,
ancient = true,
}
local function get_period_text_and_reading_type_link(period, reading_type)
if period and not periods[period] then
return nil
end
local period_text = period and period .. " " or nil
-- Allow periods (historical or ancient) by themselves; they will parse as reading types.
if not period and periods[reading_type] then
return nil, reading_type
end
local reading_type_link = "[[Appendix:Japanese glossary#" .. reading_type .. "|" .. reading_type .. "]]"
return period_text, reading_type_link
end
local function get_sc(str)
return match(str:gsub("[%s%p]+", ""), "[^" .. Hira:getCharacters() .. "]") and Jpan or Hira
end
local function get_tagged_reading(reading, lang)
return tag_text(reading, lang, get_sc(reading))
end
local function get_reading_link(reading, lang, period, link)
local hist = periods[period]
reading = reading:gsub("[%.%-%s]+", "")
return full_link({
lang = lang,
sc = get_sc(reading),
term = link or reading:gsub("・", ""),
-- If we have okurigana, demarcate furigana.
alt = reading:gsub("^(.-)・", "<span style=\"border-top:1px solid;position:relative;padding:1px;\">%1<span style=\"position:absolute;top:0;bottom:67%%;right:0%%;border-right:1px solid;\"></span></span>"),
tr = kana_to_romaji((reading:gsub("・", ".")), lang:getCode(), nil, {keep_dot = true, hist = hist})
:gsub("^(.-)%.", "<u>%1</u>"),
pos = reading:find("・", 1, true) and get_tagged_reading((reading:gsub("^.-・", "~")), lang) or nil
}, "term")
end
local function is_on_subtype(reading_type)
return reading_type:find(".on$")
end
insert(handlers, function(data)
local n =data.label:match("^terms with ([1-9]%d*) kanji$")
if not n then
return
end
local sortkey = require("Module:category tree").numeral_sortkey(n, 2097152)
return {
breadcrumb = n,
description = ("{{{langname}}} terms containing exactly %d kanji."):format(n),
-- TODO: implement this using the same mechanism used to implement parents (i.e. avoiding the need for raw categories).
-- umbrella = {
-- breadcrumb = ("%d kanji"):format(n),
-- parents = {{name = "terms by number of kanji subcategories by language", sort = sortkey}},
-- },
parents = {{name = ("terms by number of kanji"), sort = sortkey}}
}
end)
insert(handlers, function(data)
local label_pref, kana = data.label:match("^(terms historically spelled with )" .. kana_capture .. "$")
if not kana then
return
end
local lang = data.lang
return {
description = "{{{langname}}} terms spelled with " .. get_reading_link(kana, lang, "historical") .. " in the {{w|historical kana orthography}}.",
displaytitle = "{{{langname}}} " .. label_pref .. get_tagged_reading(kana, lang),
breadcrumb = "historical",
parents = {
{name = "terms spelled with " .. kana, sort = " "},
{name = "terms by the individual characters in their historical spellings", sort = lang:makeSortKey(kana)}
},
umbrella = false,
}
end)
insert(handlers, function(data)
local count, plural = data.label:match("^kanji readings with (.+) mora(e?)$")
-- Make sure 'one' goes with singular and other numbers with plural.
if not count or (count == "one") ~= (plural == "") then
return
end
local num = word_to_number[count]
if not num then
return nil
end
return {
description = "{{{langname}}} kanji readings containing " .. count .. " mora" .. plural .. ".",
breadcrumb = num,
parents = {{name = "kanji readings by number of morae", sort = num}},
umbrella = false,
}
end)
insert(handlers, function(data)
local label_pref, period, reading_type, reading = match(data.label, "^(kanji with ([a-z]-) ?([%a']+) reading )" .. kana_capture .. "$")
if not period then
return
end
period = period ~= "" and period or nil
local period_text, reading_type_link = get_period_text_and_reading_type_link(period, reading_type)
if not reading_type_link then
return
end
local lang = data.lang
-- Compute parents.
local parents, breadcrumb = {}
if reading:find("・", 1, true) then
local okurigana = reading:match("・(.*)")
insert(parents, {
name = "kanji with " .. (period_text or "") .. reading_type .. " reading " .. reading:match("(.-)・"),
-- Sort by okurigana, since all coordinate categories will have the same furigana.
sort = (lang:makeSortKey(okurigana))
})
breadcrumb = "~" .. okurigana
else
insert(parents, {
name = "kanji by " .. (period_text or "") .. reading_type .. " reading",
sort = (lang:makeSortKey(reading))
})
breadcrumb = reading
end
if is_on_subtype(reading_type) then
insert(parents, {name = "kanji with " .. (period_text or "") .. "on reading " .. reading, sort = reading_type})
elseif period_text then
insert(parents, {name = "kanji with " .. period_text .. "reading " .. reading, sort = reading_type})
end
if not period_text then
insert(parents, {name = "kanji read as " .. reading, sort = reading_type})
end
return {
description = "{{{langname}}} [[kanji]] with the " .. (period_text or "") .. reading_type_link .. " reading " ..
get_reading_link(reading, lang, period or reading_type) .. ".",
displaytitle = "{{{langname}}} " .. label_pref .. get_tagged_reading(reading, lang),
breadcrumb = get_tagged_reading(breadcrumb, lang),
parents = parents,
umbrella = false,
}
end)
insert(handlers, function(data)
local period, reading_type = match(data.label, "^kanji by ([a-z]-) ?([%a']+) reading$")
if not period then
return
end
period = period ~= "" and period or nil
local period_text, reading_type_link = get_period_text_and_reading_type_link(period, reading_type)
if not reading_type_link then
return nil
end
-- Compute parents.
local parents = {
is_on_subtype(reading_type) and {name = "kanji by " .. (period_text or "") .. "on reading", sort = reading_type} or
period_text and {name = "kanji by " .. reading_type .. " reading", sort = period} or
{name = "kanji by reading", sort = reading_type}
}
if period_text then
insert(parents, {name = "kanji by " .. period_text .. "reading", sort = reading_type})
end
-- Compute description.
local description = "{{{langname}}} [[kanji]] categorized by " .. (period_text or "") .. reading_type_link .. " reading."
return {
description = description,
breadcrumb = (period_text or "") .. reading_type,
parents = parents,
umbrella = false,
}
end)
insert(handlers, function(data)
local label_pref, reading = match(data.label, "^(kanji read as )" .. kana_capture .. "$")
if not reading then
return
end
local args = require("Module:parameters").process(data.args, {
["histconsol"] = true,
})
local lang = data.lang
local parents, breadcrumb = {}
if reading:find("・", 1, true) then
local okurigana = reading:match("・(.*)")
insert(parents, {
name = "kanji read as " .. reading:match("(.-)・"),
-- Sort by okurigana, since all coordinate categories will have the same furigana.
sort = (lang:makeSortKey(okurigana))
})
breadcrumb = "~" .. okurigana
else
insert(parents, {
name = "kanji by reading",
sort = (lang:makeSortKey(reading))
})
breadcrumb = reading
end
local addl
local period_text
if args.histconsol then
period_text = "historical"
addl = ("This is a [[Wikipedia:Historical kana orthography|historical]] [[Wikipedia:Kanazukai|reading]], now " ..
"consolidated with the [[Wikipedia:Modern kana usage|modern reading]] of " ..
get_reading_link(args.histconsol, lang, nil, ("Category:Japanese kanji read as %s"):format(args.histconsol)) .. ".")
end
return {
description = "{{{langname}}} [[kanji]] read as " .. get_reading_link(reading, lang, period_text) .. ".",
additional = addl,
displaytitle = "{{{langname}}} " .. label_pref .. get_tagged_reading(reading, lang),
breadcrumb = get_tagged_reading(breadcrumb, lang),
parents = parents,
umbrella = false,
}, true
end)
insert(handlers, function(data)
local label_pref, reading = match(data.label, "^(terms spelled with kanji read as )" .. kana_capture .. "$")
if not reading then
return
end
-- Compute parents.
local lang = data.lang
local sort_key = (lang:makeSortKey(reading))
local mora_count = require("Module:ja").count_morae(reading)
local mora_count_words = m_numeric.spell_number(tostring(mora_count))
local parents = {
{name = "terms by kanji readings", sort = sort_key},
{name = "kanji readings with " .. mora_count_words .. " mora" .. (mora_count > 1 and "e" or ""), sort = sort_key},
{name = "kanji read as " .. reading, sort = " "},
}
local tagged_reading = get_tagged_reading(reading, lang)
return {
description = "{{{langname}}} terms that contain kanji that exhibit a reading of " .. get_reading_link(reading, lang) ..
" in those terms prior to any sound changes.",
displaytitle = "{{{langname}}} " .. label_pref .. tagged_reading,
breadcrumb = tagged_reading,
parents = parents,
umbrella = false,
}
end)
insert(handlers, function(data)
local kanji, reading = match(data.label, "^terms spelled with (.) read as " .. kana_capture .. "$")
if not kanji then
return nil
end
local args = require("Module:parameters").process(data.args, {
[1] = {list = true},
})
local lang = data.lang
if #args[1] == 0 then
error("For categories of the form \"" .. lang:getCanonicalName() ..
" terms spelled with KANJI read as READING\", at least one reading type (e.g. <code>kun</code> or <code>on</code>) must be specified using <code>1=</code>, <code>2=</code>, <code>3=</code>, etc.")
end
local yomi_types, parents = {}, {}
for _, yomi, category in ipairs(args[1]) do
local yomi_data = yomi_data[yomi]
if not yomi_data then
error("The yomi type \"" .. yomi .. "\" is not recognized.")
end
category = yomi_data.kanji_category
if not category then
error("The yomi type \"" .. yomi .. "\" is not valid for this type of category.")
end
insert(yomi_types, yomi_data.link)
insert(parents, {
name = "terms spelled with kanji with " .. category .. " readings",
sort = (lang:makeSortKey(reading))
})
end
insert(parents, 1, {name = "terms spelled with " .. kanji, sort = (lang:makeSortKey(reading))})
insert(parents, 2, {name = "terms spelled with kanji read as " .. reading, sort = Hani_sort(kanji)})
yomi_types = (#yomi_types > 1 and "one of " or "") .. "its " ..
require("Module:table").serialCommaJoin(yomi_types, {conj = "or"}) ..
" reading" .. (#yomi_types > 1 and "s" or "")
local tagged_kanji = get_tagged_reading(kanji, lang)
local tagged_reading = get_tagged_reading(reading, lang)
return {
description = "{{{langname}}} terms spelled with {{l|{{{langcode}}}|" .. kanji .. "}} with " ..
yomi_types .. " of " .. get_reading_link(reading, lang) .. ".",
displaytitle = "{{{langname}}} terms spelled with " .. tagged_kanji .. " read as " .. tagged_reading,
breadcrumb = "read as " .. tagged_reading,
parents = parents,
umbrella = false,
}, true
end)
insert(handlers, function(data)
local affix, kanji, reading = data.label:match("^terms ([a-z]+fix)ed with (.+) read as " .. kana_capture .. "$")
if not affix or not kanji or not reading then
return nil
end
local args = require("Module:parameters").process(data.args, {
[1] = {list = true},
})
local lang = data.lang
if #args[1] == 0 then
error("For categories of the form \"" .. lang:getCanonicalName() ..
" terms AFFIXed with KANJI read as READING\", at least one reading type (e.g. <code>kun</code> or <code>on</code>) must be specified using <code>1=</code>, <code>2=</code>, <code>3=</code>, etc.")
end
local yomi_types = {}
for _, yomi, category in ipairs(args[1]) do
local yomi_data = yomi_data[yomi]
if not yomi_data then
error("The yomi type \"" .. yomi .. "\" is not recognized.")
end
category = yomi_data.kanji_category
if not category then
error("The yomi type \"" .. yomi .. "\" is not valid for this type of category.")
end
insert(yomi_types, yomi_data.link)
end
yomi_types = (#yomi_types > 1 and "one of " or "") .. "its " ..
require("Module:table").serialCommaJoin(yomi_types, {conj = "or"}) ..
" reading" .. (#yomi_types > 1 and "s" or "")
local description = "{{{langname}}} terms " .. affix .. "ed with {{l|{{{langcode}}}|" .. kanji .. "}} with " ..
yomi_types .. " of " .. get_reading_link(reading, lang) .. "."
local what_categorizes_msg =
require("Module:category tree/fam/jpx/what-categorizes-msg")
.get_what_categorizes_msg(kanji, reading, affix)
if what_categorizes_msg then
description = description .. "\n\n" .. what_categorizes_msg
end
local parents = {}
table.insert(parents, {name = "terms " .. affix .. "ed with " .. kanji, sort = (lang:makeSortKey(reading))})
if mw.title.new("Category:" .. lang:getCanonicalName() .. " terms spelled with " .. kanji .. " read as " .. reading).exists then
table.insert(parents, {name = "terms spelled with " .. kanji .. " read as " .. reading, sort = (lang:makeSortKey(reading)), args=data.args})
end
local tagged_kanji = get_tagged_reading(kanji, lang)
local tagged_reading = get_tagged_reading(reading, lang)
return {
description = description,
displaytitle = "{{{langname}}} terms " .. affix .. "ed with " .. tagged_kanji .. " read as " .. tagged_reading,
breadcrumb = "read as " .. reading,
parents = parents,
umbrella = false,
}, true
end)
insert(handlers, function(data)
local kanji, daiyoji = match(data.label, "^terms with (.) replaced by daiyōji (.)$")
if not kanji then
return nil
end
local args = require("Module:parameters").process(data.args, {
["sort"] = true,
})
local lang = data.lang
if not args.sort then
error("For categories of the form \"" .. lang:getCanonicalName() ..
" terms with KANJI replaced by daiyōji DAIYOJI\", the sort key must be specified using sort=")
end
local tagged_kanji = get_tagged_reading(kanji, lang)
local tagged_daiyoji = get_tagged_reading(daiyoji, lang)
return {
description = "{{{langname}}} terms with {{l|{{{langcode}}}|" .. kanji .. "}} replaced by [[Appendix:Japanese glossary#daiyouji|daiyōji]] {{l|{{{langcode}}}|" .. daiyoji .. "}}.",
displaytitle = "{{{langname}}} terms with " .. tagged_kanji .. " replaced by daiyōji " .. tagged_daiyoji,
breadcrumb = tagged_kanji .. " replaced by daiyōji " .. tagged_daiyoji,
parents = {{name = "terms spelled with daiyōji", sort = args.sort}},
umbrella = false,
}, true
end)
return {LABELS = labels, HANDLERS = handlers}
7jodm8m6kp2p8crhygat243b6o2xu5c
ප්රවර්ගය:ස්පාඤ්ඤ යෙදුම්, ප්රොටෝ-ඉතාලිකා වෙතින් උරුම වූ
14
141529
234119
230270
2026-05-15T09:58:22Z
Pinthura
2424
Pinthura විසින් [[ප්රවර්ගය:ස්පාඤ්ඤ යෙදුම්, Proto-Italic වෙතින් උරුම වූ]] සිට [[ප්රවර්ගය:ස්පාඤ්ඤ යෙදුම්, ප්රොටෝ-ඉතාලිකා වෙතින් උරුම වූ]] වෙත පිටුව ගෙන යන ලදී: සේවා: නව ප්රවර්ග නාමය වෙත ගෙනයාම.
230270
wikitext
text/x-wiki
{{auto cat}}
[[en:Category:Spanish terms inherited from Proto-Italic]]
1iwbg8k6jmjllq5l9ygwjzmso50x7ea
ප්රවර්ගය:Spanish යෙදුම්, Proto-Italic වෙතින් උරුම වූ
14
141543
234122
230284
2026-05-15T09:58:42Z
Pinthura
2424
සේවා: මෘදු ප්රවර්ග යළියොමුවක් ලෙස වෙනස් කිරීම.
234122
wikitext
text/x-wiki
{{category redirect|ස්පාඤ්ඤ යෙදුම්, ප්රොටෝ-ඉතාලිකා වෙතින් උරුම වූ}}
{{ස්වයංක්රීය සේවා ක්රියාව නිවැරදි බව තහවුරු කරන්න}}
ax65biexpql0xkhg5iy7lkau4yvsrzd
ඇතිරේ
0
143327
234135
233625
2026-05-15T11:09:51Z
WrdSrchSi
3305
/* ක්රියා පද 2 */ Fixed.
234135
wikitext
text/x-wiki
==සිංහල==
===වෙනත් ආකාර===
* {{l|si|ඇතිරෙයි#ක්රියා පද|ඇතිරෙයි}}
=== නිරුක්තිය ===
{{etymon|si|id=අතුර ඒ|af|si>අතුර#ධාතු ප්රකෘතිය>ප්රකෘතිය|si>-ඒ>ප්රත්ය|tree=1}}
''[[අතුර#ධාතු ප්රකෘතිය|අතුර]] ([[ප්රකෘතිය]]) + [[-ඒ]] ([[ප්රත්ය]]) >'' [[ඇතිරේ]]
===උච්චාරණය===
* {{IPA|si|/ˈætireː/}}
===ක්රියා පද 1===
{{head|si|verb
|අතීත-අකර්මක අන්ය පුරුෂ ඒකවචන|ඇතිරිණි#ක්රියා පද 1
|අනතීත-අකර්මක අන්ය පුරුෂ බහුවචන|ඇතිරෙති#ක්රියා පද 1
|අනතීත-අකර්මක උත්තම ඒකවචන|ඇතිරෙමි#ක්රියා පද 1
|අනතීත-අකර්මක උත්තම බහුවචන|ඇතිරෙමු#ක්රියා පද 1
|අනතීත-ප්රයුක්ත|?
|අනතීත-භාව නාම|ඇතිරෙනවා#ක්රියා පද 1
|අනතීත-කාරක නාම|ඇතිරෙන්නේ#ක්රියා පද 1
|වර්තමාන-නිපාත|ඇතිරෙමින්#ක්රියා පද 1}}
# {{lb|si|අකර්මක}} {{rfdef|si}}
===ක්රියා පද 2===
{{head|si|verb forms|head=ඇතිරේ|අතීත-කර්ම කාරක අන්ය පුරුෂ ඒකවචන|ඇතිරිණි#ක්රියා පද 2|අනතීත-කර්ම කාරක අන්ය පුරුෂ බහුවචන|ඇතිරෙති#ක්රියා පද 2|අනතීත-කර්ම කාරක උත්තම ඒකවචන|ඇතිරෙමි#ක්රියා පද 2|අනතීත-කර්ම කාරක උත්තම බහුවචන|ඇතිරෙමු#ක්රියා පද 2}}
# {{infl of|si|අතුරයි#ක්රියා පද||අනතීත|කර්ම කාරක|අන්ය පුරුෂ|ඒකවචන|ආඛ්යාත ක්රියා}}
=== අමතර අවධානයට ===
{{top4}}
* {{l|si|පැතිරේ}}
* {{l|si|විසිරේ}}
* {{l|si|ඉතිරේ}}
* {{l|si|වැතිරේ}}
{{bottom}}
=== මූලාශ්ර ===
<references/>
* "[[අතුර#ධාතු ප්රකෘතිය|අතුර]] [https://tipitaka.lk/library/963]", කුමාරණතුංග මුනිදාස, '''''ක්රියා විවරණය''''', — 110 පිටුව
[[ප්රවර්ගය: සිංහල ආඛ්යාත ක්රියා පද]]
pwmj9o17qmancvfzhlttx88iel5lgha
ලියැදි
0
143493
234017
233889
2026-05-14T12:48:15Z
WrdSrchSi
3305
+ IPA|si + head|si|root + definition + wikitable + inflection of|si + මූලාශ්ර + ප්රවර්ගය
234017
wikitext
text/x-wiki
==සිංහල==
=== නිරුක්තිය ===
{{rfe|si}}
===උච්චාරණය===
* {{IPA|si|/ˈlijædi/}}
===නාම ප්රකෘතිය===
{{head|si|root}}
# {{lb|si|අප්රාණවාචී}} කුඹුරකැ නියරින් වැටූ (වට කළ) කැබැලි.
===== වරනැඟීම =====
{| class="wikitable"
|+
|-
!!!අප්රාණවාචී<br>ඒකවචන!!අප්රාණවාචී<br>බහුවචන!!අප්රාණවාචී<br>අනියමාර්ථ
|-
| පෙර ||align="center"|[[ලියැද්ද#නාම පදය|ලියැද්ද]]||align="center"|[[ලියැදි#නාම පදය|ලියැදි]]||
|-
| කම්, කතු||||||
|-
| කරණ, අවදි ||||||
|-
| සපදන් ||||||
|-
| සබඳ, අදර ||||||
|-
| අලප් ||||||
|}
===නාම පදය===
{{head|si|noun form}}
# {{lb|si|අප්රාණවාචී}} {{inflection of|si|ලියැදි#නාම ප්රකෘතිය||පෙර විබත්|p}}
:# {{lb|si|අප්රාණවාචී}} {{plural of|si|ලියැද්ද#නාම පදය}}
=== මූලාශ්ර ===
<references/>
* "[https://tipitaka.lk/library/955 ලියැදි]", වැලිවිටියේ සෝරත හිමි, '''''ශ්රී සුමංගල සිංහල ශබ්දකෝෂය 2 ප-ළ 1956''''', — පිටුව 871
[[ප්රවර්ගය:සිංහල නාම ප්රකෘති]]
4qi6ausphcwjr0dkq154nonnqaqfy3x
bearings
0
143508
234063
233926
2026-05-15T07:10:34Z
Lee
19
/* Anagrams */
234063
wikitext
text/x-wiki
== ඉංග්රීසි ==
=== උච්චාරණය ===
* {{audio|en|en-us-bearings.ogg|a=US}}
* {{rhymes|en|ɛəɹɪŋz}}
=== නාම පදය ===
{{head|en|noun form}}
# {{plural of|en|bearing}}
e3ndf32aq0gjws2r6s93pgadnf72lv8
සාකච්ඡාව:අමදිනවා
1
143559
234019
234001
2026-05-14T14:17:33Z
Lee
19
/* අමදිනවා / අමඳිනවා */ Reply
234019
wikitext
text/x-wiki
== අමදිනවා / අමඳිනවා ==
@[[පරිශීලක:Lee|Lee]]; මේ යෙදුම අමදිනවා ද අමඳිනවා ද කියලා තහවුරු කරගන්න ඕනේ. ඇතැම් විට දෙකම හරි ද දන්නේ නැහැ. [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 06:36, 14 මැයි 2026 (යූටීසී)
:@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], [https://arutha.lk/bookpage/akshara_vinyasa/22 මෙතැන] නම් දෙකම තිබෙනවා නේද? -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 14:17, 14 මැයි 2026 (යූටීසී)
gf3nxqpxda8ex4dv1q8qvry22yvql1z
234020
234019
2026-05-14T14:46:12Z
WrdSrchSi
3305
/* අමදිනවා / අමඳිනවා */ Reply
234020
wikitext
text/x-wiki
== අමදිනවා / අමඳිනවා ==
@[[පරිශීලක:Lee|Lee]]; මේ යෙදුම අමදිනවා ද අමඳිනවා ද කියලා තහවුරු කරගන්න ඕනේ. ඇතැම් විට දෙකම හරි ද දන්නේ නැහැ. [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 06:36, 14 මැයි 2026 (යූටීසී)
:@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], [https://arutha.lk/bookpage/akshara_vinyasa/22 මෙතැන] නම් දෙකම තිබෙනවා නේද? -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 14:17, 14 මැයි 2026 (යූටීසී)
::@[[පරිශීලක:Lee|Lee]], ඔව් නේ. එහෙනම් අපි දෙක ම හරි කියලා ගනිමු ද? [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 14:46, 14 මැයි 2026 (යූටීසී)
9jhh5neyv39ia7nr0w7uerymm6imi54
234024
234020
2026-05-14T15:02:04Z
Lee
19
/* අමදිනවා / අමඳිනවා */ Reply
234024
wikitext
text/x-wiki
== අමදිනවා / අමඳිනවා ==
@[[පරිශීලක:Lee|Lee]]; මේ යෙදුම අමදිනවා ද අමඳිනවා ද කියලා තහවුරු කරගන්න ඕනේ. ඇතැම් විට දෙකම හරි ද දන්නේ නැහැ. [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 06:36, 14 මැයි 2026 (යූටීසී)
:@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], [https://arutha.lk/bookpage/akshara_vinyasa/22 මෙතැන] නම් දෙකම තිබෙනවා නේද? -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 14:17, 14 මැයි 2026 (යූටීසී)
::@[[පරිශීලක:Lee|Lee]], ඔව් නේ. එහෙනම් අපි දෙක ම හරි කියලා ගනිමු ද? [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 14:46, 14 මැයි 2026 (යූටීසී)
:::@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], එකඟයි! -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 15:02, 14 මැයි 2026 (යූටීසී)
7m1aebn9danuls0e9v5qlimd5veeaaj
234026
234024
2026-05-14T15:08:32Z
WrdSrchSi
3305
/* අමදිනවා / අමඳිනවා */ Reply
234026
wikitext
text/x-wiki
== අමදිනවා / අමඳිනවා ==
@[[පරිශීලක:Lee|Lee]]; මේ යෙදුම අමදිනවා ද අමඳිනවා ද කියලා තහවුරු කරගන්න ඕනේ. ඇතැම් විට දෙකම හරි ද දන්නේ නැහැ. [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 06:36, 14 මැයි 2026 (යූටීසී)
:@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], [https://arutha.lk/bookpage/akshara_vinyasa/22 මෙතැන] නම් දෙකම තිබෙනවා නේද? -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 14:17, 14 මැයි 2026 (යූටීසී)
::@[[පරිශීලක:Lee|Lee]], ඔව් නේ. එහෙනම් අපි දෙක ම හරි කියලා ගනිමු ද? [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 14:46, 14 මැයි 2026 (යූටීසී)
:::@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], එකඟයි! -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 15:02, 14 මැයි 2026 (යූටීසී)
::::@[[පරිශීලක:Lee|Lee]], හරි. [[විඳෑඳයි]] ද විදෑඳයි ද කියලත් පැනයක් තියෙනවා. ඒක නම් හොයාගන්න අමාරු වෙයි. බලමු. [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 15:08, 14 මැයි 2026 (යූටීසී)
ndvwausydwcl4xngelsu0qjwav9ft09
234040
234026
2026-05-15T03:26:03Z
Lee
19
/* අමදිනවා / අමඳිනවා */ Reply
234040
wikitext
text/x-wiki
== අමදිනවා / අමඳිනවා ==
@[[පරිශීලක:Lee|Lee]]; මේ යෙදුම අමදිනවා ද අමඳිනවා ද කියලා තහවුරු කරගන්න ඕනේ. ඇතැම් විට දෙකම හරි ද දන්නේ නැහැ. [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 06:36, 14 මැයි 2026 (යූටීසී)
:@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], [https://arutha.lk/bookpage/akshara_vinyasa/22 මෙතැන] නම් දෙකම තිබෙනවා නේද? -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 14:17, 14 මැයි 2026 (යූටීසී)
::@[[පරිශීලක:Lee|Lee]], ඔව් නේ. එහෙනම් අපි දෙක ම හරි කියලා ගනිමු ද? [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 14:46, 14 මැයි 2026 (යූටීසී)
:::@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], එකඟයි! -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 15:02, 14 මැයි 2026 (යූටීසී)
::::@[[පරිශීලක:Lee|Lee]], හරි. [[විඳෑඳයි]] ද විදෑඳයි ද කියලත් පැනයක් තියෙනවා. ඒක නම් හොයාගන්න අමාරු වෙයි. බලමු. [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 15:08, 14 මැයි 2026 (යූටීසී)
:::::@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], ඒක නම් තාම හොයාගන්න බැරි වුනා. -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 03:26, 15 මැයි 2026 (යූටීසී)
dtseikzmwefd8w5gezzjdz7kocsdvf7
234067
234040
2026-05-15T07:14:53Z
WrdSrchSi
3305
/* අමදිනවා / අමඳිනවා */ Reply
234067
wikitext
text/x-wiki
== අමදිනවා / අමඳිනවා ==
@[[පරිශීලක:Lee|Lee]]; මේ යෙදුම අමදිනවා ද අමඳිනවා ද කියලා තහවුරු කරගන්න ඕනේ. ඇතැම් විට දෙකම හරි ද දන්නේ නැහැ. [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 06:36, 14 මැයි 2026 (යූටීසී)
:@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], [https://arutha.lk/bookpage/akshara_vinyasa/22 මෙතැන] නම් දෙකම තිබෙනවා නේද? -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 14:17, 14 මැයි 2026 (යූටීසී)
::@[[පරිශීලක:Lee|Lee]], ඔව් නේ. එහෙනම් අපි දෙක ම හරි කියලා ගනිමු ද? [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 14:46, 14 මැයි 2026 (යූටීසී)
:::@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], එකඟයි! -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 15:02, 14 මැයි 2026 (යූටීසී)
::::@[[පරිශීලක:Lee|Lee]], හරි. [[විඳෑඳයි]] ද විදෑඳයි ද කියලත් පැනයක් තියෙනවා. ඒක නම් හොයාගන්න අමාරු වෙයි. බලමු. [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 15:08, 14 මැයි 2026 (යූටීසී)
:::::@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], ඒක නම් තාම හොයාගන්න බැරි වුනා. -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 03:26, 15 මැයි 2026 (යූටීසී)
::::::@[[පරිශීලක:Lee|Lee]], ඔව්. හොයාගන්න මාරු වෙයි. හරි නම් එන්න ඕනේ විදෑඳයි (වි + දෑඳයි). හැබැයි මුලශ්රයේ තියෙන්නේ [[විඳෑඳයි]]. ඉසිරැවිමේ දී එහෙම වෙනව (ඇත්හු > ඇත්තු වෙනවා වගේ අනෙක් අතට වෙන දෙයක්) ද නැත්තනම් මුද්රණ දොසක් ද දන්නේ නැහැ. [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 07:14, 15 මැයි 2026 (යූටීසී)
m4djbxy3lzdxgcea38sxarikz0qp2gc
234069
234067
2026-05-15T07:20:58Z
Lee
19
/* අමදිනවා / අමඳිනවා */ Reply
234069
wikitext
text/x-wiki
== අමදිනවා / අමඳිනවා ==
@[[පරිශීලක:Lee|Lee]]; මේ යෙදුම අමදිනවා ද අමඳිනවා ද කියලා තහවුරු කරගන්න ඕනේ. ඇතැම් විට දෙකම හරි ද දන්නේ නැහැ. [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 06:36, 14 මැයි 2026 (යූටීසී)
:@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], [https://arutha.lk/bookpage/akshara_vinyasa/22 මෙතැන] නම් දෙකම තිබෙනවා නේද? -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 14:17, 14 මැයි 2026 (යූටීසී)
::@[[පරිශීලක:Lee|Lee]], ඔව් නේ. එහෙනම් අපි දෙක ම හරි කියලා ගනිමු ද? [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 14:46, 14 මැයි 2026 (යූටීසී)
:::@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], එකඟයි! -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 15:02, 14 මැයි 2026 (යූටීසී)
::::@[[පරිශීලක:Lee|Lee]], හරි. [[විඳෑඳයි]] ද විදෑඳයි ද කියලත් පැනයක් තියෙනවා. ඒක නම් හොයාගන්න අමාරු වෙයි. බලමු. [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 15:08, 14 මැයි 2026 (යූටීසී)
:::::@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], ඒක නම් තාම හොයාගන්න බැරි වුනා. -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 03:26, 15 මැයි 2026 (යූටීසී)
::::::@[[පරිශීලක:Lee|Lee]], ඔව්. හොයාගන්න මාරු වෙයි. හරි නම් එන්න ඕනේ විදෑඳයි (වි + දෑඳයි). හැබැයි මුලශ්රයේ තියෙන්නේ [[විඳෑඳයි]]. ඉසිරැවිමේ දී එහෙම වෙනව (ඇත්හු > ඇත්තු වෙනවා වගේ අනෙක් අතට වෙන දෙයක්) ද නැත්තනම් මුද්රණ දොසක් ද දන්නේ නැහැ. [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 07:14, 15 මැයි 2026 (යූටීසී)
:::::::@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], එහෙනම් දැනට මූලාශ්රයේ ආකාරයට තබාගමු. හැබැයි අපේ සැකය භාවිත සටහන යටතට වාගේ දැම්මොත් හොඳ වෙයි නේද? -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 07:20, 15 මැයි 2026 (යූටීසී)
696acp5qkdpg8hvfp31elb4thsvexs2
234077
234069
2026-05-15T07:32:26Z
WrdSrchSi
3305
/* අමදිනවා / අමඳිනවා */ Reply
234077
wikitext
text/x-wiki
== අමදිනවා / අමඳිනවා ==
@[[පරිශීලක:Lee|Lee]]; මේ යෙදුම අමදිනවා ද අමඳිනවා ද කියලා තහවුරු කරගන්න ඕනේ. ඇතැම් විට දෙකම හරි ද දන්නේ නැහැ. [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 06:36, 14 මැයි 2026 (යූටීසී)
:@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], [https://arutha.lk/bookpage/akshara_vinyasa/22 මෙතැන] නම් දෙකම තිබෙනවා නේද? -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 14:17, 14 මැයි 2026 (යූටීසී)
::@[[පරිශීලක:Lee|Lee]], ඔව් නේ. එහෙනම් අපි දෙක ම හරි කියලා ගනිමු ද? [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 14:46, 14 මැයි 2026 (යූටීසී)
:::@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], එකඟයි! -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 15:02, 14 මැයි 2026 (යූටීසී)
::::@[[පරිශීලක:Lee|Lee]], හරි. [[විඳෑඳයි]] ද විදෑඳයි ද කියලත් පැනයක් තියෙනවා. ඒක නම් හොයාගන්න අමාරු වෙයි. බලමු. [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 15:08, 14 මැයි 2026 (යූටීසී)
:::::@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], ඒක නම් තාම හොයාගන්න බැරි වුනා. -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 03:26, 15 මැයි 2026 (යූටීසී)
::::::@[[පරිශීලක:Lee|Lee]], ඔව්. හොයාගන්න මාරු වෙයි. හරි නම් එන්න ඕනේ විදෑඳයි (වි + දෑඳයි). හැබැයි මුලශ්රයේ තියෙන්නේ [[විඳෑඳයි]]. ඉසිරැවිමේ දී එහෙම වෙනව (ඇත්හු > ඇත්තු වෙනවා වගේ අනෙක් අතට වෙන දෙයක්) ද නැත්තනම් මුද්රණ දොසක් ද දන්නේ නැහැ. [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 07:14, 15 මැයි 2026 (යූටීසී)
:::::::@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], එහෙනම් දැනට මූලාශ්රයේ ආකාරයට තබාගමු. හැබැයි අපේ සැකය භාවිත සටහන යටතට වාගේ දැම්මොත් හොඳ වෙයි නේද? -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 07:20, 15 මැයි 2026 (යූටීසී)
::::::::@[[පරිශීලක:Lee|Lee]], සටහනක් දාලා තියෙන්නේ. [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 07:32, 15 මැයි 2026 (යූටීසී)
6a15o1x556guo61x8v44gp4561xdufy
234088
234077
2026-05-15T09:27:22Z
Lee
19
/* අමදිනවා / අමඳිනවා */ Reply
234088
wikitext
text/x-wiki
== අමදිනවා / අමඳිනවා ==
@[[පරිශීලක:Lee|Lee]]; මේ යෙදුම අමදිනවා ද අමඳිනවා ද කියලා තහවුරු කරගන්න ඕනේ. ඇතැම් විට දෙකම හරි ද දන්නේ නැහැ. [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 06:36, 14 මැයි 2026 (යූටීසී)
:@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], [https://arutha.lk/bookpage/akshara_vinyasa/22 මෙතැන] නම් දෙකම තිබෙනවා නේද? -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 14:17, 14 මැයි 2026 (යූටීසී)
::@[[පරිශීලක:Lee|Lee]], ඔව් නේ. එහෙනම් අපි දෙක ම හරි කියලා ගනිමු ද? [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 14:46, 14 මැයි 2026 (යූටීසී)
:::@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], එකඟයි! -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 15:02, 14 මැයි 2026 (යූටීසී)
::::@[[පරිශීලක:Lee|Lee]], හරි. [[විඳෑඳයි]] ද විදෑඳයි ද කියලත් පැනයක් තියෙනවා. ඒක නම් හොයාගන්න අමාරු වෙයි. බලමු. [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 15:08, 14 මැයි 2026 (යූටීසී)
:::::@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], ඒක නම් තාම හොයාගන්න බැරි වුනා. -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 03:26, 15 මැයි 2026 (යූටීසී)
::::::@[[පරිශීලක:Lee|Lee]], ඔව්. හොයාගන්න මාරු වෙයි. හරි නම් එන්න ඕනේ විදෑඳයි (වි + දෑඳයි). හැබැයි මුලශ්රයේ තියෙන්නේ [[විඳෑඳයි]]. ඉසිරැවිමේ දී එහෙම වෙනව (ඇත්හු > ඇත්තු වෙනවා වගේ අනෙක් අතට වෙන දෙයක්) ද නැත්තනම් මුද්රණ දොසක් ද දන්නේ නැහැ. [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 07:14, 15 මැයි 2026 (යූටීසී)
:::::::@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], එහෙනම් දැනට මූලාශ්රයේ ආකාරයට තබාගමු. හැබැයි අපේ සැකය භාවිත සටහන යටතට වාගේ දැම්මොත් හොඳ වෙයි නේද? -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 07:20, 15 මැයි 2026 (යූටීසී)
::::::::@[[පරිශීලක:Lee|Lee]], සටහනක් දාලා තියෙන්නේ. [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 07:32, 15 මැයි 2026 (යූටීසී)
:::::::::@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], එළ! -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 09:27, 15 මැයි 2026 (යූටීසී)
h7ux1665z365vc7yfbvl4qkxgzlap9u
අනුගතු
0
143569
234018
2026-05-14T12:56:03Z
WrdSrchSi
3305
Page created: + වෙනත් ආකාර + IPA|si + head|si|verb forms|head= + infl of|si + ප්රවර්ගය
234018
wikitext
text/x-wiki
== සිංහල ==
===වෙනත් ආකාර===
* {{l|si|අනුගත්#ක්රියා පද|අනුගත්}}
* {{l|si|අනුගත#ක්රියා පදඅනුගත}}
===උච්චාරණය===
* {{IPA|si|/ˈanuɡatu/}}
===ක්රියා පද===
{{head|si|verb forms|head=අනුගතු|අනතීත-සකර්මක අන්ය පුරුෂ බහුවචන|අනුගනිති#ක්රියා පද|අතීත-කර්ම කාරක අන්ය පුරුෂ බහුවචන|අනුගැනුණු#ක්රියා පද}}
# {{lb|si|සකර්මක}} {{infl of|si|අනුගනී#ක්රියා පද||අතීත|අන්ය පුරුෂ|බහුවචන|ආඛ්යාත ක්රියා}}
[[ප්රවර්ගය: සිංහල ආඛ්යාත ක්රියා පද]]
1irya75fwq1kgdm6gtlwxe18nzqvkhv
අනුගැනුණු
0
143570
234021
2026-05-14T14:50:02Z
WrdSrchSi
3305
Page created: + IPA|si + head|si|verb forms|head= + infl of|si + ප්රවර්ගය
234021
wikitext
text/x-wiki
== සිංහල ==
===උච්චාරණය===
* {{IPA|si|/ˈanuɡænuɳu/}}
===ක්රියා පද===
{{head|si|verb forms|head=අනුගැනුණු|අනතීත-සකර්මක අන්ය පුරුෂ බහුවචන|අනුගනිති#ක්රියා පද|අනතීත-කර්ම කාරක අන්ය පුරුෂ බහුවචන|අනුගැනෙති #ක්රියා පද}}
# {{lb|si|සකර්මක}} {{infl of|si|අනුගනී#ක්රියා පද||අතීත|කර්ම කාරක|අන්ය පුරුෂ|බහුවචන|ආඛ්යාත ක්රියා}}
[[ප්රවර්ගය: සිංහල ආඛ්යාත ක්රියා පද]]
jls0iywbayzg3ljj10iij6vnigkfp8b
අනුගැනෙති
0
143571
234022
2026-05-14T14:53:07Z
WrdSrchSi
3305
Page created: + IPA|si + head|si|verb forms|head= + infl of|si + ප්රවර්ගය
234022
wikitext
text/x-wiki
== සිංහල ==
===උච්චාරණය===
* {{IPA|si|/ˈanuɡæneti/}}
===ක්රියා පද===
{{head|si|verb forms|head=අනුගැනෙති|අනතීත-සකර්මක අන්ය පුරුෂ බහුවචන|අනුගනිති#ක්රියා පද|අතීත-කර්ම කාරක අන්ය පුරුෂ බහුවචන|අනුගැනුණු#ක්රියා පද}}
# {{lb|si|සකර්මක}} {{infl of|si|අනුගනී#ක්රියා පද||අනතීත|කර්ම කාරක|අන්ය පුරුෂ|බහුවචන|ආඛ්යාත ක්රියා}}
[[ප්රවර්ගය: සිංහල ආඛ්යාත ක්රියා පද]]
kknmrmlh15ztmsr4ylesnv5fbnyx122
impede
0
143572
234025
2026-05-14T15:03:35Z
WrdSrchSi
3305
Page created: + en-verb + wikitable
234025
wikitext
text/x-wiki
==ඉංග්රීසි==
===ක්රියා පද===
{{en-verb}}
# {{{1|{{rfdef|en}}}}} #: ''{{{2|<!-- example sentence -->}}}''
{| class="wikitable"
|+
|-
! !!අන්ය පුරුෂ<br>ඒකවචන!!අන්ය පුරුෂ<br>බහුවචන!!උත්තම පුරුෂ<br>ඒකවචන!!උත්තම පුරුෂ<br>බහුවචන
|-
|අනතීත-සකර්මක||[[ගහටයි]]||[[ගහටති]]||[[ගහටමි]]||[[ගහටමු]]
|-
|}
9z6pzsryptxt6xm24gvnkm38qpn02rw
සගයුවෙක්
0
143573
234027
2026-05-14T15:12:27Z
WrdSrchSi
3305
Page created: + head|si|noun form + inflection of|si
234027
wikitext
text/x-wiki
== සිංහල ==
=== නිරුක්තිය ===
{{rfe|si}}
===නාම පදය===
{{head|si|noun form}}
# {{lb|si|අප්රාණවාචී}} {{inflection of|si|සගයු#නාම ප්රකෘතිය||පෙර විබත්|අනියමාර්ථ}}
6pguni946i6ifyxp6eefxome5agpuz0
තෙරුවනට
0
143574
234028
2026-05-14T16:49:11Z
WrdSrchSi
3305
Page created.
234028
wikitext
text/x-wiki
==සිංහල==
=== නිරුක්තිය ===
{{rfe|si}}
===නාම පදය===
{{head|si|noun form}}
# {{rfdef|si}}
4bk4s1b4g1dyqtbh6fxsfy4ojsiyxw3
හෙළයිනි
0
143575
234029
2026-05-14T16:52:10Z
WrdSrchSi
3305
Page created.
234029
wikitext
text/x-wiki
==සිංහල==
=== නිරුක්තිය ===
{{rfe|si}}
===නාම පදය===
{{head|si|noun form}}
# {{rfdef|si}}
4bk4s1b4g1dyqtbh6fxsfy4ojsiyxw3
නිපයුවාණනට
0
143576
234030
2026-05-14T16:52:28Z
WrdSrchSi
3305
Page created.
234030
wikitext
text/x-wiki
==සිංහල==
=== නිරුක්තිය ===
{{rfe|si}}
===නාම පදය===
{{head|si|noun form}}
# {{rfdef|si}}
4bk4s1b4g1dyqtbh6fxsfy4ojsiyxw3
වෙසරදාණනට
0
143577
234031
2026-05-14T16:53:45Z
WrdSrchSi
3305
Page created.
234031
wikitext
text/x-wiki
==සිංහල==
=== නිරුක්තිය ===
{{rfe|si}}
===නාම පදය===
{{head|si|noun form}}
# {{rfdef|si}}
4bk4s1b4g1dyqtbh6fxsfy4ojsiyxw3
පැබැඳී
0
143578
234032
2026-05-14T17:07:29Z
WrdSrchSi
3305
Page created: + ප්රවර්ග
234032
wikitext
text/x-wiki
== සිංහල ==
=== ක්රියා පද ===
{{head|si|verb form}}
# {{{1|{{rfdef|si}}}}} #: ''{{{2|<!-- example sentence -->}}}''
[[ප්රවර්ගය: සිංහල ආඛ්යාත ක්රියා පද]] [[ප්රවර්ගය: සිංහල නිපාත ක්රියා පද]]
irrnk486lf6ildu839ey0tsa82864yb
රෙදෙව්වෙන්
0
143579
234038
2026-05-14T17:43:15Z
WrdSrchSi
3305
Page created: + head|si|noun form + inflection of|si
234038
wikitext
text/x-wiki
==සිංහල==
=== නිරුක්තිය ===
{{rfe|si}}
===නාම පදය===
{{head|si|noun form}}
# {{lb|si|අප්රාණවාචී}} {{inflection of|si|රෙදෙවු#නාම ප්රකෘතිය||කරණ විබත්|s}}
# {{lb|si|අප්රාණවාචී}} {{inflection of|si|රෙදෙවු#නාම ප්රකෘතිය||අවදි විබත්|s}}
i7ekfmno40kd42xhlmk91qpiovyueyi
පැබැඳුණු
0
143580
234039
2026-05-14T17:51:51Z
WrdSrchSi
3305
Page created.
234039
wikitext
text/x-wiki
== සිංහල ==
=== ක්රියා පද ===
{{head|si|verb form}}
# {{{1|{{rfdef|si}}}}} #: ''{{{2|<!-- example sentence -->}}}''
p515qhzvrxvpn5kx1ka05hdnfbvr2ar
දුරකතනය
0
143581
234041
2026-05-15T03:26:28Z
Lee
19
'== සිංහල == === නිරුක්තිය === {{rfe|si}} === නාම පදය === {{si-noun}} # [[තෙලබණුව]] <!-- ==== පරිවර්තන ==== {{trans-top|පරිවර්තන}} * ඉංග්රීසි: {{t|en|<<ඉංග්රීසි වචනය>>}} {{trans-bottom}} === අමතර අවධානයට === * {{l|si|<<ආශ්රිත පවතින වෙ...' යොදමින් නව පිටුවක් තනන ලදි
234041
wikitext
text/x-wiki
== සිංහල ==
=== නිරුක්තිය ===
{{rfe|si}}
=== නාම පදය ===
{{si-noun}}
# [[තෙලබණුව]]
<!--
==== පරිවර්තන ====
{{trans-top|පරිවර්තන}}
* ඉංග්රීසි: {{t|en|<<ඉංග්රීසි වචනය>>}}
{{trans-bottom}}
=== අමතර අවධානයට ===
* {{l|si|<<ආශ්රිත පවතින වෙනත් වචන>>}}
-->
gfhz5pqfcygwsg7s59w22d9i96twgpd
දූරකථනය
0
143582
234042
2026-05-15T03:26:42Z
Lee
19
'== සිංහල == === නිරුක්තිය === {{rfe|si}} === නාම පදය === {{si-noun}} # [[තෙලබණුව]] <!-- ==== පරිවර්තන ==== {{trans-top|පරිවර්තන}} * ඉංග්රීසි: {{t|en|<<ඉංග්රීසි වචනය>>}} {{trans-bottom}} === අමතර අවධානයට === * {{l|si|<<ආශ්රිත පවතින වෙ...' යොදමින් නව පිටුවක් තනන ලදි
234042
wikitext
text/x-wiki
== සිංහල ==
=== නිරුක්තිය ===
{{rfe|si}}
=== නාම පදය ===
{{si-noun}}
# [[තෙලබණුව]]
<!--
==== පරිවර්තන ====
{{trans-top|පරිවර්තන}}
* ඉංග්රීසි: {{t|en|<<ඉංග්රීසි වචනය>>}}
{{trans-bottom}}
=== අමතර අවධානයට ===
* {{l|si|<<ආශ්රිත පවතින වෙනත් වචන>>}}
-->
gfhz5pqfcygwsg7s59w22d9i96twgpd
දුරකථනය
0
143583
234043
2026-05-15T03:28:49Z
Lee
19
'== සිංහල == === නිරුක්තිය === {{rfe|si}} === නාම පදය === {{si-noun}} # {{incorrect spelling of|si|දූරකථනය}} # {{incorrect spelling of|si|දූරකථනය}} <!-- ==== පරිවර්තන ==== {{trans-top|පරිවර්තන}} * ඉංග්රීසි: {{t|en|<<ඉංග්රීසි වචනය>>}} {{trans-bottom}} === අමතර අ...' යොදමින් නව පිටුවක් තනන ලදි
234043
wikitext
text/x-wiki
== සිංහල ==
=== නිරුක්තිය ===
{{rfe|si}}
=== නාම පදය ===
{{si-noun}}
# {{incorrect spelling of|si|දූරකථනය}}
# {{incorrect spelling of|si|දූරකථනය}}
<!--
==== පරිවර්තන ====
{{trans-top|පරිවර්තන}}
* ඉංග්රීසි: {{t|en|<<ඉංග්රීසි වචනය>>}}
{{trans-bottom}}
=== අමතර අවධානයට ===
* {{l|si|<<ආශ්රිත පවතින වෙනත් වචන>>}}
-->
q904e31qyt9esv9zgur9wnjudoyklis
telephone
0
143584
234044
2026-05-04T01:21:51Z
en>Esperfulmo
0
/* Translations */ ar transl
234044
wikitext
text/x-wiki
{{also|Telephone|téléphone|téléphoné|téléphône}}
==English==
{{was wotd|2026|March|10}}
{{multiple images
|image1 = Dialog gr 1972.jpg
|caption1 = A [[rotary dial|rotary-dial]] telephone ''({{senseno|en|Q11035}})''.
|image2 = Hand-smartphone-technology-calling.jpg
|caption2 = A [[mobile telephone]] ''({{senseno|en|Q11035}})'' or [[mobile phone]].
|image3 = Fig 7 Le Telephone by T du Moncel Paris 1880 (Large).jpg
|caption3 = An 1880 drawing of a [[tin can telephone]] ''({{senseno|en|Q863640}})''.
}}
===Etymology===
{{etymon|en|:bor|fr:téléphone<id:telephone>|id=device}}
The {{lg|noun}} is derived from {{affix|en|tele-|pos1={{lg|prefix}} meaning ‘from a distance’|-phone|pos2={{lg|suffix}} denoting a device which makes a sound}}, modelled after {{cog|de|Telephon|t=early apparatus converting sound into electrical signals}} {{qualifier|dated}} (now {{cog|de|Telefon}}).<ref name="OED">{{R:OED Online|pos=n|id=2015603579|date=September 2025|nodot=1}}; {{R:Lexico|pos=n}}</ref> The word was first used to refer to the modern device in 1876 by the Scottish-born Canadian-American engineer {{w|Alexander Graham Bell}} (1847–1922).
The prefix {{m|en||tele-}} is ultimately derived from {{der|en|grc|τῆλε|t=afar, far away, far off}}, from {{der|en|ine-pro|*kʷelh₁-|t=to turn end-over-end; to revolve around; hence, to dwell, sojourn}}.<ref>{{R:OED Online|entry=tele-|pos=''comb. form''|noformat=1|id=3978633267|date=December 2025|nodot=1}}; {{R:Lexico|entry=tele-}}</ref> The suffix {{m|en||-phone}} is ultimately from {{der|en|grc|φωνή|t=sound; voice}},<ref>{{R:OED Online|entry=-phone|pos=''comb. form''|noformat=1|id=2891556446|date=December 2024|nodot=1}}; {{R:Lexico|entry=-phone}}</ref> and {{der|en|ine-pro|*bʰeh₂-|t=to say; to speak}}.
{{senseno|en|Q36764|uc=1}} (“system of communication using musical notes”) is borrowed from {{bor|en|fr|téléphone|t=kind of megaphone; system of communication using musical notes}}.<ref name="OED"/>
The {{lg|verb}} is derived from the noun.<ref>{{R:OED Online|pos=v|id=1448846986|date=September 2025|nodot=1}}; {{R:Lexico|pos=v}}</ref>
===Pronunciation===
* {{IPA|en|/ˈtɛlɪfəʊn/|a=RP}}
* {{IPA|en|/ˈtɛləˌfoʊn/|[ˈtɛɫ-]|a=GA}}
** {{audio|en|En-us-telephone.ogg|a=GA}}
* {{IPA|en|[ˈteɫəˌfəʉn]|a=AU}}
* {{IPA|en|[ˈteɫəˌfɐʉn]|a=NZ}}
* {{IPA|en|/ˈtɛlɪfon/|a=Scotland}}
* {{IPA|en|/ˈtɛlɪfoːn/|a=Wales,non-toe-tow}}
* {{hyphenation|en|tel|e|phone}}
===Noun===
{{en-noun|~}}
# {{senseid|en|Q11035}}{{lb|en|countable|telephony}} A [[telecommunication]] [[device]] which [[convert#Verb|converts]] [[datum|data]] or [[sound#Noun|sounds]] (usually [[speech#Noun|speech]]) into [[electrical#Adjective|electrical]] [[signal#Noun|signals]] which are then [[transmit]]ted to [[enable]] [[two#Numeral|two]] or more [[person#Noun|people]] to [[communicate#Verb|communicate]] with each other over a [[distance#Noun|distance]]; now usually a device having a [[dial#Noun|dial]] or [[keypad]] with [[numeral#Noun|numerals]] for [[enter#Verb|entering]] a [[number#Noun|number]], etc., to [[connect#Verb|connect]] with a person, and [[means#Noun|means]] (such as a sound or [[vibration]]) for [[alert#Verb|alerting]] one to an [[incoming#Adjective|incoming]] [[call#Noun|call]] or [[transmission]]; also, the [[handset]] or [[receiver]] of such a device.
#: {{syn|en|Ameche<q:US, slang, dated>|blower<q:slang>|dog and bone<q:slang>|horn<q:informal>|phone|pipe<q:slang>|Thesaurus:phone}}
#: {{hypo|en|cellphone|;|cordless phone|cordless telephone|;|mobile phone|mobile telephone|;|payphone|;|satellite phone|satellite telephone}}
#* {{quote-journal|en|year='''1876''' May 10 (date delivered)|author=[[w:Alexander Graham Bell|A[lexander] Graham Bell]]|title=Researches in Telephony|journal=[[w:Daedalus (journal)|Proceedings of the American Academy of Arts and Sciences]]|location=Boston, Mass.|publisher=Press of John Wilson and Son|year_published=1877|volume=IV (New Series; volume XII overall)|pages=7–8|pageurl=https://archive.org/details/proceedingsofame12amer/page/7/mode/1up|issn=0199-9818|oclc=835587818|passage=The '''telephones''' so constructed were placed in different rooms. {{...}} Upon singing into the '''telephone''', the tones of the voice were reproduced by the instrument in the distant room. When two persons sang simultaneously into the instrument, two notes were emitted simultaneously by the '''telephone''' in the other house. {{...}} I placed the membrane of the '''telephone''' near my mouth, and uttered the sentence, "Do you understand what I say?" Presently an answer was returned through the instrument in my hand. Articular words proceeded from the clock-spring attached to the membrane, and I heard the sentence, "Yes; I understand you perfectly."}}
# {{lb|en|countable|archaic|later in|_|India}} {{short for|en|telephone call|t=a [[connection]] [[establish]]ed over a telephone [[network#Noun|network]]; a [[conversation]] [[hold#Verb|held]] by the [[party#Noun|parties]] on this connection}}.
# {{lb|en|countable|figurative}} A means of communicating [[information]] from one person to another or others.
#* {{quote-book|en|year=1990|author=w:Earl Babbie|chapter=Channels to Elsewhere|editors=[[w:Thomas Robbins (sociologist)|Thomas Robbins]]; w:Dick Anthony|title=In Gods We Trust: New Patterns of Religious Pluralism in America|location=New Brunswick, N.J.; London|publisher=w:Transaction Publishers|section=part IV (Spiritual Innovation and the New Age)|page=256|pageurl=https://archive.org/details/ingodswetrustnew0000unse/page/256/mode/1up|isbn=978-0-88738-800-2|passage=In the terminology associated with this phenomenon, Jach Pursel is known as a "channel"—a vehicle through which "entities" from other planes of existence choose to address human beings. In a more familiar metaphor, Jach is the '''telephone''' through which Lazaris places his long distance calls: very long distance calls.}}
# {{lb|en|countable|historical}}
## {{senseid|en|Q863640}} ''Now chiefly preceded by a [[descriptive#Adjective|descriptive]] [[word#Noun|word]]'': a [[simple#Adjective|simple]] [[communication]] device which converts sounds (usually speech) into [[mechanical#Adjective|mechanical]] vibrations along a [[string#Noun|string]], [[wire#Noun|wire]], etc.
##: {{coi|en|string '''telephone'''    [[tin can telephone|tin can '''telephone''']]}}
##* {{quote-journal|en|year=1832|month=August|title=Art. II.—''The Music of Nature; or An Attempt to Prove that what is Passionate and Pleasing in the Art of Singing, Speaking, and Performing upon Musical Instruments, is Derived from the Sounds of the Animated World. With Curious and Interesting Illustrations.'' By William Gardener. 8vo. pp. 530. London: Longman and Co. 1832. {{quote-gloss|book review}}|journal=[[w:Monthly Review (London)|The Monthly Review]]|location=London|publisher=G. Henderson,{{nb...|2, Old Bailey.}}|volume=II (New and Improved Series)|issue=IV|page=496|pageurl=https://archive.org/details/monthlyreview23wasogoog/page/496/mode/1up|oclc=977712396|passage=If a string of packthread be attached to the stem of a tuning fork, and the other end of the thread be wrapt round the little finger, and placed in the chamber of the ear, the sound of the fork, when made to vibrate, will be heard at the end of the thread, though two hundred yards distant, while it is altogether imperceptible to a bystander. It has been suggested, that telegraphs, or, more properly speaking, '''''telephones''''', might be invented upon this principle. The author states that some such instruments have been already perfected, and are about to be exhibited, but we have as yet heard nothing of them.}}
##* {{quote-book|en|year=2013|author=[[w:John Keane (political theorist)|John Keane]]|chapter=Communicative Abundance|title=Democracy and Media Decadence|location=Cambridge, Cambridgeshire|publisher=w:Cambridge University Press|pages=5–6|pageurl=https://archive.org/details/democracymediade0000kean/page/6/mode/1up|isbn=978-1-107-04177-6|passage=The days are behind us (I recall) when children played with makeshift '''telephones''' made from jam tins connected by string; {{...}}}}
## {{lb|en|archaic}} A [[type#Noun|type]] of [[foghorn#Noun|foghorn]] [[use#Verb|used]] for [[send#Verb|sending]] signals in the [[form#Noun|form]] of [[loud#Adjective|loud]] [[tone#Noun|tones]] or [[musical#Adjective|musical]] [[note#Noun|notes]], especially one [[invent]]ed in the 19th [[century]] by John Taylor, a [[captain#Noun|captain]] in the [[British#Adjective|British]] [[Royal Navy]].
##* {{quote-book|en|year=1899|author=J[ohn] J[oseph] Fahie|chapter=First Period—The Possible|title=A History of Wireless Telegraphy 1838–1899: Including Some Bare-wire Proposals for Subaqueous Telegraphs|location=Edinburgh; London|publisher=[[w:Blackwood (publishing house)|William Blackwood and Sons]]|page=7|pageurl=https://archive.org/details/historyofwireles00fahirich/page/n32/mode/1up|oclc=499612971|passage=It is not easy to say from these passages (which are all we could find on the subject) what plan [[w:Edward Davy|{{quote-gloss|Edward}} Davy]] had in contemplation. In the first quotation he speaks of bells, for which we may read a powerful trumpet at one end, and a concave reflector to focus the sound at the other end; or some arrangement like the compressed-air '''telephone''', proposed by Captain Taylor, R.N., in 1844; {{...}}}}
## {{lb|en|archaic}} A communication device [[consist#Verb|consisting]] of two [[aligned#Adjective|aligned]] [[gutta-percha]] [[speaking tube]]s connected to [[parabolic reflector]]s which [[allow]]s speech [[speak#Verb|spoken]] into one [[tube#Noun|tube]] to be sent through the [[air#Noun|air]] to the other one, invented in the 19th century by the [[British#Adjective|British]] [[engineer#Noun|engineer]] {{w|Francis Whishaw}} (1804–1856); also, a speaking tube of such a device.
##* {{quote-journal|en|date=30 June 1849|title=Gossip from London|editors=[[w:William Chambers (publisher)|William]] and [[w:Robert Chambers (journalist)|Robert Chambers]]|journal=[[w:Chambers's Edinburgh Journal|Chambers’s Edinburgh Journal]]|location=Edinburgh|publisher=William and Robert Chambers; London: [[w:Orr's Circle of the Sciences#William S Orr & Co.|W[illiam] S[omerville] Orr]]|volume=XI|issue=287 (New Series)|page=408|pageurl=https://archive.org/details/chambersedinburg1112cham/page/n419/mode/1up|column=1|oclc=4167154|passage=While on the subject of gutta-percha, a few words may very well be given to Mr. Whishaw's inventions: among these are speaking-tubes, to supersede bells in private houses or offices. So extraordinary are the conducting powers of this new product, that a whisper may can be conveyed to long distances; {{...}} [W]e are, it seems, to be able to speak to a distance without any connecting tube at all; across the inner quadrangle of a building, for instance, by means of large concave gutta-percha reflectors, fixed, one opposite to the other, {{...}} [E]ach reflector would be mounted on a stand similar to that of a theodolite; and thus the portable '''''telephone''''' would be available where the ''telegraph'', as at present arranged, does not admit of application.}}
## {{senseid|en|Q36764}}{{lb|en|archaic}} A [[system]] of communication using musical notes, also known as {{w|Solresol}}, invented in 1828 by the [[French#Adjective|French]] [[composer]] [[w:François Sudre|Jean-François Sudre]] (1787–1862).
##* {{quote-journal|en|year=1841|month=December|title=[Miscellaneous.] Musical Telegraph.|journal=The American Repertory of Arts, Sciences, and Manufactures|location=New York, N.Y.|publisher=W. A. Cox|volume=IV|issue=5|page=375|pageurl=https://archive.org/details/sim_american-repertory-of-arts-science-and-manufactures_1841-12_4_5/page/375/mode/1up|issn=3068-4870|oclc=10012128|passage=We extract from the ''France Musicale'' a few curious particulars relative to the invention of a kind of marine telegraph, called the "'''''Telephone'''''," invented by an ingenious Frenchman, Monsieur Sudre, and by which orders may be transmitted at night, when other means of communication fail. {{...}} A commission {{...}} verified by experiment the rapidity with which all naval commands could be communicated at night through the medium of a clarion, to a distance which may be increased to 2200 toises (about two miles) but which varies according to the state of the atmosphere. {{...}} [T]he return of the same sounds guarantied to M. Sudre the perfect comprehension of his orders, and the Admiral congratulated him on his success.}}
# {{lb|en|uncountable|Canada|US|games}} {{synonym of|en|Chinese whispers|t=a [[game#Noun|game]] for [[several#Adjective|several]] [[player]]s in which a [[phrase#Noun|phrase]], [[whisper#Verb|whispered]] by each person [[in turn]] to their [[neighbour#Noun|neighbour]], is often [[unwittingly]] [[misunderstand|misunderstood]] as it is [[transfer#Verb|transferred]], to [[humorous]] [[effect#Noun|effect]] by the [[time#Noun|time]] it [[reach#Verb|reaches]] the [[last#Adjective|last]] person and is [[compare#Verb|compared]] with the [[original#Adjective|original]] phrase; ({{italic|figurative}}) a [[situation]] where something is [[change#Verb|changed]] or misunderstood [[as a result of]] [[pass#Verb|passing]] through [[successive]] people or [[process#Noun|processes]]}}.
#* {{quote-web|en|date=27 October 2013|author=Erik Adams|title={{w|The Simpsons}} (Classic): ‘{{w|The PTA Disbands}}’|work=w:The A.V. Club|archiveurl=https://web.archive.org/web/20251016040633/https://www.avclub.com/the-simpsons-classic-the-pta-disbands-1798178460|passage=And since the spring of 1995, no game of '''telephone''' has ended without some ''Simpsons''-loving smart-ass dropping "purple monkey dishwasher" into the chain.}}
#* {{quote-journal|en|date=3 October 2017|author=David Dobbs|title=The Touch of Madness|journal=w:Pacific Standard|archiveurl=https://web.archive.org/web/20250823162237/https://psmag.com/magazine/the-touch-of-madness-mental-health-schizophrenia/|location=Santa Barbara, Calif.|publisher=Miller-McCune Center for Research, Media and Public Policy|issue=59|issn=2165-5200|oclc=773195196|passage=[T]he assistant dean of students, having intervened to clear the way for Jones’ return to class, told Jones that {{quote-gloss|Tina}} Chanter had told him that someone had told her that Jones had told someone something that made them think Jones wanted to blow up the philosophy building. {{...}} [B]oth she {{quote-gloss|Azadeh Erfani}} and Jones now wonder whether, in some transmutational chain of retellings among other students, or perhaps even as the word of this hallucination reached Chanter's ears, Jones' vision of puffing away a wall of weak atomic links had morphed into a scarier vision of her blowing a building to pieces with a bomb. {{...}} In other words, {{quote-gloss|Nev}} Jones' career and life may have been derailed because a game of '''telephone''' went bad.}}
====Usage notes====
Regarding {{senseno|en|Q11035}} (“telecommunication device which converts data or sounds into electrical signals which are then transmitted”), ''telephone'' tends to be used to mean a fixed-line or [[landline]] telephone rather than a [[mobile phone]].<ref name="OED"/>
====Hyponyms====
{{col4|en
|answerphone
|candlestick telephone
|cellular telephone
|cordless telephone
|daffodil telephone
|field telephone
|French telephone
|magnetotelephone
|mobile telephone
|monotelephone
|pantelephone
|pedestal telephone
|pillar telephone
|portable telephone
|public telephone
|radiotelephone,radio-telephone,radio telephone
|satellite telephone
|tin can telephone
|videotelephone
}}
====Derived terms====
{{col4|en
|antitelephone
|big white telephone
|broken telephone
|Einstein-Podolsky-Rosen telephone
|EPR telephone
|Everett-Wheeler telephone
|on the telephone
|phone<pos:n>
|plain old telephone service
|post office telephone system
|premium-rate telephone number
|pretelephone
|talk to God on the big white telephone
|talk to Ralph on the big white telephone
|telco
|telemarketing
|telephonable
|telephone alphabet
|telephone answering machine
|telephone-bell
|telephone book
|telephone booth
|telephone box
|telephone call
|telephone card
|telephone conference
|telephone desk
|telephone directory
|telephone exchange
|telephone game
|telephone girl
|telephone jack
|telephone kiosk
|telephoneless
|telephonelike
|telephone line
|telephone number
|telephone operator
|telephone pole
|telephone ring
|telephone scatologia
|telephone sex
|telephone shower
|telephone tag
|telephone typewriter
|telephonic
|telephonicate
|telephonist
|telephonitis
|telephonology
|telephonophile
|telephonophobia
|telephonophobic
|telephony
|telethon
|thermotelephone
|Tucker telephone
|untelephoned
|white-telephone,white telephone
}}
====Translations====
{{trans-top|telecommunication device which converts data or sounds into electrical signals which are then transmitted to enable two or more people to communicate with each other over a distance}}
* Abkhaz: {{t|ab|ателефон}}
* Afrikaans: {{t+|af|telefoon}}
* Alabama: {{t|akz|maanaaɬihilka}}, {{t|akz|masnaaɬiilka}}, {{t|akz|naaɬiikapalki}} {{qualifier|old}}
* Albanian: {{t+|sq|telefon|m}}
* Amharic: {{t|am|ስልክ|?}}, {{t|am|ቴሌፎን|?}}
* Arabic: {{t+|ar|هَاتِف|m}}, {{t+|ar|تِلِفون|m|tr=telefōn}}
*: Egyptian Arabic: {{t|arz|تليفون|m|tr=telefōn}}
*: Hijazi Arabic: {{t|acw|تِلِفون|m|tr=tilifōn}}
*: Moroccan Arabic: {{t|ary|تلفون|m|tr=tilifūn}}, {{t|ary|تليفون|m|tr=tilīfūn}}
* Aramaic:
*: Assyrian Neo-Aramaic: {{t|aii|ܚܘܼܛܵܡܲܠܵܠܵܐ|tr=ḵuṭāmalālā}}, {{t|aii|ܬܸܠܸܦ̮ܘܿܢ|tr=tilifon}}
* Armenian: {{t+|hy|հեռախոս}}
* Assamese: {{t|as|টেলিফোন}}
* Assiniboine: {{t|asb|masʾápabi}}
* Asturian: {{t+|ast|teléfonu|m}}
* Atayal: {{t|tay|renwa'}}
* Azerbaijani:
*: Arabic: {{t|az|تلفون|tr=talfun, telfun, telifon}}
*: Latin: {{t+|az|telefon}}
* Bashkir: {{t|ba|телефон}}
* Basque: {{t|eu|telefono}}
* Belarusian: {{t|be|тэлефо́н|m}}
* Bengali: {{t+|bn|দূরভাষা}}, {{t+|bn|ফোন}}, {{t+|bn|টেলিফোন}}
* Bouyei: {{t|pcc|dianqhuaq}}
* Breton: {{t+|br|pellgomz|m}}
* Bulgarian: {{t|bg|телефо́н|m}}
* Burmese: {{t+|my|တယ်လီဖုန်း}}, {{t+|my|ဖုန်း}}, {{t+|my|စကားပြောကြေးနန်း}}
* Buryat: {{t|bua|телефон}}
* Carpathian Rusyn: {{t|rue|телефо́н|m}}
* Catalan: {{t+|ca|telèfon|m}}
* Cebuano: {{t|ceb|telepono}}
* Chechen: {{t|ce|телефон}}
* Cherokee: {{t|chr|ᎠᎾᎦᎵᏍᎩ ᎠᏏᎳᏛ}}, {{t|chr|ᏗᎵᏃᎮᏗ}}
* Cheyenne: {{t|chy|aseéestsestôtse}}
* Chinese:
*: Cantonese: {{t|yue|電話}}
*: Dungan: {{t|dng|дянхуа}}, {{t|dng|телефон}}
*: Eastern Min: {{t|cdo|電話}}
*: Hakka: {{t|hak|電話|tr=thien-fa}}
*: Hokkien: {{t+|nan-hbl|電話|tr=tiān-ōe}}
*: Jin: {{t|cjy|電話}}
*: Mandarin: {{t+|cmn|電話}}
*: Wu: {{t|wuu|電話}}
* Chukchi: {{t|ckt|вэтгавъёԓгын|tr=vėtgavʺjoḷgyn}}
* Chuvash: {{t|cv|телефон}}
* Comox: {{t|coo|sqʷay}}
* Corsican: {{t|co|telefonu|m}}
* Cree:
*: Plains Cree: {{t|crk|ᓭᐁᐧᐱᒋᑲᐣ|tr=sewepicikan}}, {{t|crk|ᐊᔭᒫᑲᐣ|tr=ayamâkan}}
*: Southern East Cree: {{t|crj|ᑖᐦᑳᐱᐦᒉᓂᑲᓐ}}
* Crimean Tatar: {{t|crh|telefon}}
* Czech: {{t+|cs|telefon|m}}
* Danish: {{t+|da|telefon|c}}
* Dusun:
*: Central Dusun: {{t|dtp|telefon}}
* Dutch: {{t+|nl|telefoon|m}}, {{t|nl|beltoestel|n}}
* Esperanto: {{t+|eo|telefono}}
* Estonian: {{t+|et|telefon}}
* Faroese: {{t|fo|telefon|f}}
* Finnish: {{t+|fi|puhelin}}
* French: {{t+|fr|téléphone|m}}
* Frisian:
*: West Frisian: {{t|fy|telefoan|m}}, {{t|fy|tillefoan|m}}
* Friulian: {{t|fur|telefon|?}}
* Fula:
*: Adlam: {{t|ff|𞤼𞤢𞤤𞤭𞤬𞤮𞤲}}
*: Latin: {{t|ff|talifon}}
* Galician: {{t+|gl|teléfono|m}}
* Georgian: {{t|ka|ტელეფონი}}
* German: {{t+|de|Telefon|n}}, {{t+|de|Telephon|n}} {{qualifier|dated}}, {{t+|de|Fernsprecher|m}} {{qualifier|dated}}, {{t+|de|Fon|n}} {{q|rare}}
*: Central Franconian: {{t|gmw-cfr|Fäänshpräscho|?}}
* Greek: {{t+|el|τηλέφωνο|n}}
* Greenlandic: {{t|kl|oqarasuaat}}
* Guarani:
*: Paraguayan Guarani: {{t-check|gug|pumbyry}}, {{t-check|gug|mombyñe'ẽporu}}, {{t-check|gug|ñe'ẽmbyry}}
* Gujarati: {{t|gu|દૂરબોલ|?}}, {{t|gu|ટેલિફોન|?}}, {{t|gu|દૂરભાષ|?}}
* Haitian Creole: {{t|ht|telefòn}}
* Hawaiian: {{t|haw|kelepona}}
* Hebrew: {{t+|he|טֶלֶפוֹן|m|tr=télefon}}
* Hindi: {{t+|hi|दूरभाष|m}}, {{t|hi|टेलीफ़ोन|m}}, {{t|hi|फ़ोन|m}}, {{t+|hi|टेलिफोन|m}}, {{t+|hi|फोन|m}}
* Hungarian: {{t+|hu|telefon}}, {{t+|hu|távbeszélő}}
* Icelandic: {{t+|is|sími|m}}
* Ido: {{t+|io|telefonilo}}
* Indonesian: {{t+|id|telepon}}, {{t+|id|telefon}}
* Ingrian: {{t|izh|telefona}}
* Inuktitut: {{t|iu|uqaalaut}}
* Irish: {{t|ga|teileafón|m}}, {{t+|ga|guthán|m}}, {{t|ga|fón|m}}
* Italian: {{t+|it|telefono|m}}
* Japanese: {{t+|ja|電話|tr=でんわ, denwa}}
* Kalmyk: {{t|xal|утцн}}
* Kannada: {{t+|kn|ದೂರವಾಣಿ}}, {{t+|kn|ಗೆಂಟುಮಾತು}}
* Kapampangan: {{t|pam|teleponu}}
* Kazakh: {{t+|kk|телефон}}
* Khmer: {{t+|km|ទូរស័ព្ទ}}, {{t|km|តេឡេហ្វូន}}
* Korean: {{t+|ko|전화(電話)}}
* Kurdish:
*: Central Kurdish: {{t|ckb|تهلهفۆن}}
*: Northern Kurdish: {{t+|kmr|telefon|f}}
* Kyrgyz: {{t+|ky|телефон}}
* Lakota: {{t|lkt|omásʼapȟe}}
* Lao: {{t+|lo|ໂທລະສັບ}}, {{t|lo|ໂທຣະສັບ}}, {{t|lo|ເຕເລໂຟນ}}
* Latin: {{q|New}} {{t|la|tēlephōnum|n}}, {{t|la|tēlephōnium|n}}
* Latvian: {{t|lv|telefons|m}}, {{t+|lv|tālrunis|m}}
* Lingala: {{t|ln|ebengeli}}
* Lithuanian: {{t+|lt|telefonas|m}}
* Lü: {{t|khb|ᦶᦎᧃᧈᦧᦱᧈ}}
* Macedonian: {{t+|mk|телефо́н|m}}
* Malagasy: {{t+|mg|telefaonina}}
* Malay: {{t+|ms|telefon}}
*: Brunei Malay: {{t|kxd|talipun}}
* Malayalam: {{t+|ml|ടെലിഫോൺ}}, {{t|ml|ദൂരശ്രാവി}}
* Malecite-Passamaquoddy: {{t|pqm|mattoktihikon}}
* Maltese: {{t|mt|telefon|m}}, {{t|mt|telefown|m}}
* Manx: {{t|gv|çhellvane|m}}
* Māori: {{t|mi|waea}}, {{t|mi|whoounu}}, {{t|mi|waeakōrero}}, {{t|mi|terepōno}} {{qualifier|obsolete}}, {{t|mi|terewhōno}} {{qualifier|obsolete}}
* Marathi: {{t|mr|टेलीफोन|?}}, {{t|mr|फोन|m}}, {{t|mr|दूरध्वनी|?}}
* Minjungbal: {{t|xjb|gulgun biral}}
* Mongolian:
*: Cyrillic: {{t+|mn|утас}}, {{t+|mn|телефон}}, {{t|mn|дянхуа}}
*: Mongolian script: {{t|mn|ᠤᠲᠠᠰᠤ}}, {{t|mn|ᠲ᠋ᠧᠯᠧᠹᠣᠨ}}, {{t|mn|ᠳ᠋ᠢᠶᠠᠩᠬᠤᠸᠠ}}
* Naga:
*: Khiamniungan Naga: {{t|kix|nyūthī}}
* Nahuatl: {{t|nah|mekatlanonotski}}, {{t|nah|huehcacaquiztli}}
* Navajo: {{t|nv|béésh bee haneʼé}}
* Nepali: {{t|ne|टेलिफोन}}
* Norman: {{t|nrf|téléphône|m}}
* Norwegian:
*: Bokmål: {{t+|nb|telefon|m}}
*: Nynorsk: {{t|nn|telefon|m}}
* Occitan: {{t+|oc|telefòn|m}}
* Odia: {{t+|or|ଟେଲିଫୋନ}}
* Ojibwe: {{t|oj|giigidowin}}
* Oromo: {{t|om|bilbila}}
* Pannonian Rusyn: {{t|rsk|телефон|m}}
* Papiamentu: {{t|pap|telefón}}
* Pashto: {{t+|ps|تيلفون|m|tr=telefun}}
* Pawnee: {{t|paw|rarácawakataku}}
* Pennsylvania German: {{t|pdc|Faernschwetzer|m}}
* Persian:
*: Dari: {{t|prs|تیلِفون}}, {{t|prs|فون}}
*: Iranian Persian: {{t|fa-ira|تِلِفُن}}
* Pitcairn-Norfolk: {{t|pih|foen}}
* Plautdietsch: {{t|pdt|Tellefoon|n}}
* Polish: {{t+|pl|telefon|m}}
* Portuguese: {{t+|pt|telefone|m}}
* Punjabi: {{t|pa|ਟੈਲੀਫ਼ੋਨ|m}}, {{t|pa|ਫ਼ੋਨ|m}}
* Quechua: {{t|qu|karu rimay}}
* Romanian: {{t+|ro|telefon|n}}
* Romansh: {{t|rm|telefon|m}}
* Russian: {{t+|ru|телефо́н|m}}
* Sami:
*: Northern Sami: {{t|se|telefovdna}}
* Samoan: {{t+|sm|telefoni}}
* Sanskrit: {{t|sa|दूरभाषा|f}}, {{t|sa|दूरवाणी|f}}
* Sardinian: {{t|sc|telèfonu|m}}
* Scots: {{t|sco|telephone}}
* Scottish Gaelic: {{t|gd|fòn|f}}, {{t|gd|cian-fhuaim|m}}
* Serbo-Croatian:
*: Cyrillic: {{t|sh|телѐфо̄н|m}}
*: Latin: {{t+|sh|telèfōn|m}}
* Shan: {{t|shn|တႄႇလီႇၾူၼ်း}}
* Shona: {{t|sn|runhare}}
* Sicilian: {{t+|scn|tilèfunu|m}}, {{t+|scn|telèfunu|m}}, {{t|scn|talèfunu|m}}
* Sindhi: {{t+|sd|ڏور وايو|alt=ڏُور وايو}}
* Sinhalese: {{t|si|බණුව}}, {{t|si|දුරකථනය}}
* Slovak: {{t|sk|telefón|m}}
* Slovene: {{t+|sl|telefon|m}}
* Spanish: {{t+|es|teléfono|m}}
* Sranan Tongo: {{t|srn|teilefown}}, {{t|srn|konkrutitei}}, {{t|srn|gengen}}
* Swahili: {{t+|sw|simu}}
* Swedish: {{t+|sv|telefon|c}}
* Tagalog: {{t+|tl|telepono}}, {{t+|tl|hatinig}}
* Tahitian: {{t|ty|niuniu paraparau}}
* Tajik: {{t+|tg|телефон}}
* Tamil: {{t+|ta|தொலைபேசி}}, {{t|ta|ஃபோன்}}, {{t|ta|டெலிஃபோன்}}
* Tatar: {{t|tt|телефон}}
* Telugu: {{t+|te|దూరవాణి}}, {{t|te|టెలీఫోను}}, {{t|te|ఫోను}}
* Thai: {{t+|th|โทรศัพท์}}
* Tibetan: {{t|bo|ཁ་པར}}, {{t|bo|ཞལ་པར}} {{qualifier|honorific}}
* Tigrinya: {{t|ti|ተለፎን|?}}, {{t|ti|ስልኪ|?}}
* Tok Pisin: {{t|tpi|telipon}}
* Turkish: {{t+|tr|telefon}}, {{t|tr|alısün}}
*: Ottoman Turkish: {{t|ota|تلفون|tr=téléfon}}, {{t|ota|دور شنید|tr=dūr-şenīd}}
* Turkmen: {{t|tk|telefon}}
* Ukrainian: {{t+|uk|телефо́н|m}}
* Unami: {{t|unm|sëkahsën}}
* Urdu: {{t|ur|ٹیلی فون|m}}, {{t|ur|ہاتِف|f}}, {{t|ur|فون|m}}, {{t|ur|دور گو|tr=dūr-go}}
* Uyghur: {{t+|ug|تېلېفون}}
* Uzbek: {{t+|uz|telefon}}
* Venda: {{t|ve|luṱingo}}
* Vietnamese: {{t+|vi|điện thoại}} ({{t|vi|電話}}), {{t|vi|dây nói}}, {{t+|vi|phôn}} {{qualifier|informal}}
* Volapük: {{t+|vo|telefonöm}}, {{qualifier|complete unit}} {{t+|vo|telefonaparat}}
* Walloon: {{t+|wa|telefone|m}}, {{t|wa|tèlèfone|m}}
* Welsh: {{t+|cy|teleffon|m}}, {{t+|cy|ffôn|m}}
* West Flemish: {{t|vls|telefoeng|m}}, {{t|vls|teelefoeng|m}}
* Xhosa: {{t|xh|umnxeba}}
* Yakut: {{t|sah|телефон}}
* Yami: {{t|tao|dingwa}}
* Yiddish: {{t|yi|טעלעפֿאָן|n}}
* Yup'ik: {{t|esu|qanercuun}}
* Yurok: {{t|yur|'o chweeegeen}}
* Zhuang: {{t|za|denva}}
* Zulu: {{t+|zu|ucingo}}
{{trans-bottom}}
{{trans-see|''synonym of'' telephone call|telephone call}}
{{trans-top|means of communicating information from one person to another or others}}
* Finnish: {{t+|fi|kanava}}, {{t+|fi|puhelin}}
* French: {{t-needed|fr}}
{{trans-bottom}}
{{trans-top|simple communication device which converts sounds into mechanical vibrations along a string, wire, etc.}}
* Finnish: {{t+|fi|puhelin}}
* French: {{t-needed|fr}}
{{trans-bottom}}
{{trans-top|type of foghorn used for sending signals in the form of loud tones or musical notes}}
* Finnish: {{t+|fi|sumutorvi}}
* French: {{t-needed|fr}}
{{trans-bottom}}
{{trans-top|communication device consisting of two aligned gutta-percha speaking tubes}}
* Finnish: {{t+|fi|puhelin}}
* French: {{t-needed|fr}}
{{trans-bottom}}
{{trans-top|system of communication using musical notes}}
* Finnish: {{t+|fi|säveltapailu}}
* French: {{t-needed|fr}}
{{trans-bottom}}
{{trans-see|''synonym of'' Chinese whispers|Chinese whispers}}
===Verb===
{{en-verb}}
# {{lb|en|transitive}}
## To [[convey]] ([[information]], a [[message#Noun|message]], [[news#Noun|news]], etc.) [[use#Verb|using]] a [[telephone#Noun|telephone]] ''({{senseno|en|Q11035}})''.
##* {{RQ:Robert Byron Europe|chapter=V|page=31|passage=David '''telephoned''' his apologies to his mother. On the way we had had our first puncture, and had taken some time to change the wheel, as we were unable to find the jack.}}
##* {{quote-book|en|year=1961|author=w:Xavier Herbert|title=Soldiers’ Women|location=Sydney, N.S.W.|publisher=[[w:Angus & Robertson|Angus and Robertson]]|page=395|oclc=4482528|passage=He '''telephoned''' what he knew to his chief, the information such as to cause the smug complacency of that gentlemen in his henchman's prowess to vanish from his expression, {{...}}}}
## To ([[attempt#Verb|attempt]] to) [[contact#Verb|contact]] (someone) using a telephone.
##: {{syn|en|call#Verb|call up#Verb|drop someone a line<alt:drop (someone) a line>|ring#Verb<q:chiefly Commonwealth>|ring up<q:chiefly Commonwealth>|phone#Verb|Thesaurus:telephone}}
##: {{hypo|en|call back#Verb|retelephone#Verb}}
##* {{quote-journal|en|year=1961|month=November|title=Talking of Trains: Derailment near Holmes Chapel|journal=[[w:Modern Railways|Trains Illustrated]]|location=London|publisher=w:Ian Allan Publishing|page=652|issn=0141-9935|oclc=35845948|passage=The length ganger saw the train passing with the van derailed and promptly '''telephoned''' the Sandbach signalman, who restored his signals to danger, but not in time to stop the train before the final derailment occurred.}}
## {{lb|en|obsolete}}
### To [[provide]] (a [[place#Noun|place]]) with a telephone [[system]].
###* {{quote-journal|en|date=14 December 1901|author=J. Williams Benn|title=The Telephone Deal|journal=[[w:The Speaker (periodical)|The Speaker: The Liberal Review]]|location=London; Paris|publisher=[[w:Cassell (publisher)|Cassell and Co.]],{{nb...|Ltd., London, Paris, New York, and Melbourne.}}|volume=V (New Series)|issue=115|page=296|pageurl=https://archive.org/details/sim_speaker-the-liberal-review_1901-12-14_5_115/page/296/mode/1up|column=1|oclc=1566794713|passage=The London County Council prepared careful estimates for '''telephoning''' London in 1898, and those estimates were submitted to Parliament. It contended that it could provide a telephone service for the County Council area of London at £38 per subscriber capital outlay, after setting aside the necessary funds for the debt charge and after paying the Post Office the 10 per cent. royalty.}}
### To [[transmit]] ([[sound#Noun|sounds]]) over a [[distance#Noun|distance]].
###* {{RQ:Lawrence Birds|poem=Bare Almond-trees|stanza=3|page=44|passage=Do you hear the chemical accents of the sun? / Do you '''telephone''' the roar of the waters over the earth?}}
# {{lb|en|intransitive}} To (attempt to) contact someone using a telephone; to [[make#Verb|make]] a [[telephone call]].
#* {{RQ:Barr Stranleigh Abroad|page=139|passage=I came down like a wolf on the fold, didn't I? Why didn't I '''telephone'''? Strategy, my dear boy, strategy. This is a surprise attack, and I'd no wish that the garrison, forewarned, should escape.}}
#* {{quote-journal|en|year=1944|month=July–August|title=Top Link Drivers: XXI—Driver H. Blunt, L.N.E.R.|journal=w:The Railway Magazine|location=London|publisher=Tothill Press|page=226|issn=0033-8923|oclc=1256058197|passage=Having completed their task, Fireman Page '''telephoned''' from a lineside box to the next signal cabin, briefly reported the incident and said that, as no high explosive had dropped and the track was safe, they proposed proceeding "at caution".}}
#* {{quote-book|en|year=1971|author=w:Martin Nordegg|chapter=Convincing a European Expert|editor=T. D. Regehr|title=The Possibilities of Canada are Truly Great: Memoirs 1906–1924|location=Toronto, Ont.|publisher=[[w:Macmillan Publishers|Macmillan of Canada]]|page=89|pageurl=https://archive.org/details/possibilitiesofc0000nord/page/89/mode/1up|oclc=427669|passage=The only chance we had was to '''telephone''' to the manager of the hotel in Calgary to send two bottles of Scotch without fail by the next train leaving Calgary for the west.}}
====Derived terms====
{{col3|en
|phone<pos:v>
|retelephone
|telephonable
|telephoned<pos:a>
|telephoner
|telephoning<pos:n>
}}
====Translations====
{{trans-top|(''transitive'') to convey (information, a message, news, etc.) using a telephone}}
* Finnish: {{t|fi|[[välittää]] [[puhelimitse]]}}
* French: {{t-needed|fr}}
{{trans-bottom}}
{{trans-top|(''transitive'') to (attempt to) contact (someone) using a telephone; (''intransitive'') to (attempt to) contact someone using a telephone}}
* Albanian: {{t+|sq|telefonoj}}
* Arabic: {{t|ar|تَلْفَنَ}} ({{lang|ar|[[ل|لـِ]]}} {{q|li-}} )
* Armenian: {{t+|hy|զանգել}}, {{t+|hy|զանգահարել}}, {{t+|hy|հեռաձայնել}} {{qualifier|Western Armenian}}
* Azerbaijani: {{t|az|zəng etmək}}, {{t|az|zəng vurmaq}}
* Belarusian: {{t|be|тэлефанава́ць|impf}}, {{t|be|патэлефанава́ць|pf}}, {{t|be|звані́ць|impf}}, {{t|be|пазвані́ць|pf}}
* Bengali: {{t|bn|টেলিফোন করা}}
* Breton: {{t+|br|pellgomz}}
* Bulgarian: {{t+|bg|телефони́рам|impf|pf}}, {{t+|bg|обаждам|impf|alt=оба́ждам се}}, {{t+|bg|обадя|pf|alt=оба́дя се}}
* Burmese: {{t|my|[[ဖုန်း]][[ဆက်]]}}
* Catalan: {{t+|ca|telefonar}}, {{t+|ca|cridar}}, {{t+|ca|trucar}}
* Cherokee: {{t|chr|ᎦᎸᏛᏂᎭ}}
* Chinese:
*: Mandarin: {{t+|cmn|打電話}}
* Crimean Tatar: {{t|crh|telefon etmek}}
* Czech: {{t+|cs|telefonovat|impf}}, {{t|cs|zatelefonovat|pf}}, {{t+|cs|volat|impf}}, {{t+|cs|zavolat|pf}}
* Danish: {{t+|da|ringe}}, {{t+|da|telefonere}}
* Dutch: {{t+|nl|telefoneren}}, {{t+|nl|bellen}}, {{t+|nl|opbellen}}
* Esperanto: {{t+|eo|telefoni}}, {{t|eo|alvoki}}
* Estonian: {{t+|et|helistama}}
* Finnish: {{t|fi|[[soittaa]] (puhelimella)}}
* French: {{t+|fr|téléphoner}}, {{t+|fr|appeler}}
* Galician: {{t+|gl|telefonar}}
* Georgian: {{t|ka|დარეკვა}}
* German: {{t+|de|telefonieren}}, {{t+|de|anrufen}}
* Greek: {{t+|el|τηλεφωνώ}}, {{t+|el|καλώ}}
* Hebrew: {{t+|he|צלצל|tr=tsiltsél|alt=צילצל \ צִלְצֵל}}
* Hindi: {{t|hi|फ़ोन करना}}
* Hungarian: {{t+|hu|telefonál}}
* Icelandic: {{t+|is|hringja}}, {{t|is|hringja í}}
* Ido: {{t+|io|telefonar}}
* Indonesian: {{t+|id|menelepon}}, {{t+|id|memanggil}}
* Italian: {{t+|it|telefonare}}
* Japanese: {{t+|ja|電話をかける|tr=でんわをかける, denwa o kakeru}}, {{t+|ja|電話|tr=でんわする, denwa suru|alt=電話する}}
* Kazakh: {{t|kk|телефон соғу}}, {{t|kk|қоңырау шалу}}
* Khmer: {{t|km|[[និយាយ]][[ទូរសព្ទ]]|tr=niyiəy tuurĕəʼsap}}
* Korean: {{t|ko|전화를 걸다}}, {{t+|ko|전화하다}}
* Kurdish:
*: Northern Kurdish: {{t+|kmr|telefon kirin}}
* Kyrgyz: {{t|ky|шыңгыратуу}}
* Lao: {{t|lo|ຕີເຕເລໂຟນ}}
* Latvian: {{t|lv|telefonēt}}, {{t|lv|piezvanīt}}, {{t|lv|zvanīt}}
* Lithuanian: {{t|lt|telefonuoti}}, {{t|lt|skambinti}}
* Macedonian: {{t|mk|телефони́ра|impf|pf}}, {{t|mk|ѕвони|impf}}, {{t|mk|заѕвони|pf}}
* Malay: {{t|ms|menelefon}}, {{t|ms|memanggil}}
* Maltese: {{t|mt|ċempel|m}}
* Māori: {{t|mi|rīngi}}, {{t|mi|waea}}
* Mongolian:
*: Cyrillic: {{t+|mn|утасдах}}
* Norwegian:
*: Bokmål: {{t+|nb|ringe}}
*: Nynorsk: {{t-needed|nn}}
* Pashto: {{t|ps|تېلېفون کول|tr=telefǔn kawël}}
* Persian: , {{t+|fa|تلفن کردن|tr=telefon kardan}}, {{t+|fa|تلفن زدن|tr=telefon zadan}}, {{t|fa|دورواژیدن|tr=durvâžidan}}, {{t+|fa|زنگ زدن|tr=zang zadań}}
* Polish: {{t+|pl|telefonować|impf}}, {{t+|pl|zatelefonować|pf}}, {{t+|pl|dzwonić|impf}}, {{t+|pl|zadzwonić|pf}}
* Portuguese: {{t+|pt|telefonar}}, {{t+|pt|ligar}}
* Romanian: {{t+|ro|telefona|alt=a telefona}}
* Romansh: {{t|rm|telefonar}}
* Russian: {{t+|ru|телефони́ровать|impf|pf}} {{qualifier|rare}}, {{t+|ru|звони́ть|impf}}, {{t|ru|[[позвони́ть]] по [[телефон|телефо́ну]]|pf}}
* Scottish Gaelic: {{t|gd|fòn}}
* Serbo-Croatian:
*: Cyrillic: {{t|sh|телефони́рати|impf|pf}}, {{t|sh|[[назвати]] [[на]] [[телефон]]|pf}}
*: Latin: {{t+|sh|telefonírati|impf|pf}}, {{t|sh|[[nazvati]] [[na]] [[telefon]]|pf}}
* Slovak: {{t|sk|telefonovať|impf}}, {{t|sk|zatelefonovať|pf}}, {{t|sk|volať|impf}}, {{t|sk|zavolať|pf}}
* Slovene: {{t|sl|telefonirati|impf|pf}}
* Spanish: {{t+|es|telefonear}}, {{t+|es|llamar|alt=llamar por teléfono}}
* Sranan Tongo: {{t|srn|bèl}}, {{t|srn|kari}}, {{t|srn|naki wan konkrutitei}}, {{t|srn|naki wan gengen}}
* Swahili: {{t|sw|piga simu}}
* Swedish: {{t+|sv|telefonera}}, {{t+|sv|ringa}}
* Tajik: {{t|tg|телефон кардан}}
* Thai: {{t+|th|โทร|tr=too}}, {{t+|th|โทรศัพท์}}
* Tibetan: {{t|bo|ཁ་དཔར་གཏོང་བ}}
* Turkish: {{t+|tr|telefon etmek}}, {{t+|tr|telefonlamak}}, {{t+|tr|aramak}}
* Ukrainian: {{t+|uk|телефонува́ти|impf}}, {{t|uk|зателефонува́ти|pf}}, {{t|uk|дзвони́ти|impf}}, {{t|uk|подзвони́ти|pf}}
* Urdu: {{t|ur|فون کرنا|tr=fon karnā}}, {{t|ur|ملانا|tr=milānā}}
* Uyghur: {{t|ug|تېلېفون بەرمەك}}
* Uzbek: {{t|uz|telefon qilmoq}}, {{t|uz|qoʻngʻiroq qilmoq}}
* Vietnamese: {{t+|vi|phôn}}, {{t+|vi|điện}}, {{t+|vi|điện thoại}}, {{t|vi|gọi điện}}, {{t|vi|gọi điện thoại}}, {{t|vi|kêu điện thoại}}
* Volapük: {{t+|vo|telefonön}}
* Yiddish: {{t|yi|טעלעפֿאָנירן}}
{{trans-bottom}}
===References===
<references/>
===Further reading===
* {{pedia}}
===Anagrams===
* {{anagrams|en|a=eeehlnopt|phenetole}}
iqabav67tr5d0fclai98nlnd3lewhty
234045
234044
2026-05-15T03:30:02Z
Lee
19
[[:en:telephone]] වෙතින් එක් සංශෝධනයක්
234044
wikitext
text/x-wiki
{{also|Telephone|téléphone|téléphoné|téléphône}}
==English==
{{was wotd|2026|March|10}}
{{multiple images
|image1 = Dialog gr 1972.jpg
|caption1 = A [[rotary dial|rotary-dial]] telephone ''({{senseno|en|Q11035}})''.
|image2 = Hand-smartphone-technology-calling.jpg
|caption2 = A [[mobile telephone]] ''({{senseno|en|Q11035}})'' or [[mobile phone]].
|image3 = Fig 7 Le Telephone by T du Moncel Paris 1880 (Large).jpg
|caption3 = An 1880 drawing of a [[tin can telephone]] ''({{senseno|en|Q863640}})''.
}}
===Etymology===
{{etymon|en|:bor|fr:téléphone<id:telephone>|id=device}}
The {{lg|noun}} is derived from {{affix|en|tele-|pos1={{lg|prefix}} meaning ‘from a distance’|-phone|pos2={{lg|suffix}} denoting a device which makes a sound}}, modelled after {{cog|de|Telephon|t=early apparatus converting sound into electrical signals}} {{qualifier|dated}} (now {{cog|de|Telefon}}).<ref name="OED">{{R:OED Online|pos=n|id=2015603579|date=September 2025|nodot=1}}; {{R:Lexico|pos=n}}</ref> The word was first used to refer to the modern device in 1876 by the Scottish-born Canadian-American engineer {{w|Alexander Graham Bell}} (1847–1922).
The prefix {{m|en||tele-}} is ultimately derived from {{der|en|grc|τῆλε|t=afar, far away, far off}}, from {{der|en|ine-pro|*kʷelh₁-|t=to turn end-over-end; to revolve around; hence, to dwell, sojourn}}.<ref>{{R:OED Online|entry=tele-|pos=''comb. form''|noformat=1|id=3978633267|date=December 2025|nodot=1}}; {{R:Lexico|entry=tele-}}</ref> The suffix {{m|en||-phone}} is ultimately from {{der|en|grc|φωνή|t=sound; voice}},<ref>{{R:OED Online|entry=-phone|pos=''comb. form''|noformat=1|id=2891556446|date=December 2024|nodot=1}}; {{R:Lexico|entry=-phone}}</ref> and {{der|en|ine-pro|*bʰeh₂-|t=to say; to speak}}.
{{senseno|en|Q36764|uc=1}} (“system of communication using musical notes”) is borrowed from {{bor|en|fr|téléphone|t=kind of megaphone; system of communication using musical notes}}.<ref name="OED"/>
The {{lg|verb}} is derived from the noun.<ref>{{R:OED Online|pos=v|id=1448846986|date=September 2025|nodot=1}}; {{R:Lexico|pos=v}}</ref>
===Pronunciation===
* {{IPA|en|/ˈtɛlɪfəʊn/|a=RP}}
* {{IPA|en|/ˈtɛləˌfoʊn/|[ˈtɛɫ-]|a=GA}}
** {{audio|en|En-us-telephone.ogg|a=GA}}
* {{IPA|en|[ˈteɫəˌfəʉn]|a=AU}}
* {{IPA|en|[ˈteɫəˌfɐʉn]|a=NZ}}
* {{IPA|en|/ˈtɛlɪfon/|a=Scotland}}
* {{IPA|en|/ˈtɛlɪfoːn/|a=Wales,non-toe-tow}}
* {{hyphenation|en|tel|e|phone}}
===Noun===
{{en-noun|~}}
# {{senseid|en|Q11035}}{{lb|en|countable|telephony}} A [[telecommunication]] [[device]] which [[convert#Verb|converts]] [[datum|data]] or [[sound#Noun|sounds]] (usually [[speech#Noun|speech]]) into [[electrical#Adjective|electrical]] [[signal#Noun|signals]] which are then [[transmit]]ted to [[enable]] [[two#Numeral|two]] or more [[person#Noun|people]] to [[communicate#Verb|communicate]] with each other over a [[distance#Noun|distance]]; now usually a device having a [[dial#Noun|dial]] or [[keypad]] with [[numeral#Noun|numerals]] for [[enter#Verb|entering]] a [[number#Noun|number]], etc., to [[connect#Verb|connect]] with a person, and [[means#Noun|means]] (such as a sound or [[vibration]]) for [[alert#Verb|alerting]] one to an [[incoming#Adjective|incoming]] [[call#Noun|call]] or [[transmission]]; also, the [[handset]] or [[receiver]] of such a device.
#: {{syn|en|Ameche<q:US, slang, dated>|blower<q:slang>|dog and bone<q:slang>|horn<q:informal>|phone|pipe<q:slang>|Thesaurus:phone}}
#: {{hypo|en|cellphone|;|cordless phone|cordless telephone|;|mobile phone|mobile telephone|;|payphone|;|satellite phone|satellite telephone}}
#* {{quote-journal|en|year='''1876''' May 10 (date delivered)|author=[[w:Alexander Graham Bell|A[lexander] Graham Bell]]|title=Researches in Telephony|journal=[[w:Daedalus (journal)|Proceedings of the American Academy of Arts and Sciences]]|location=Boston, Mass.|publisher=Press of John Wilson and Son|year_published=1877|volume=IV (New Series; volume XII overall)|pages=7–8|pageurl=https://archive.org/details/proceedingsofame12amer/page/7/mode/1up|issn=0199-9818|oclc=835587818|passage=The '''telephones''' so constructed were placed in different rooms. {{...}} Upon singing into the '''telephone''', the tones of the voice were reproduced by the instrument in the distant room. When two persons sang simultaneously into the instrument, two notes were emitted simultaneously by the '''telephone''' in the other house. {{...}} I placed the membrane of the '''telephone''' near my mouth, and uttered the sentence, "Do you understand what I say?" Presently an answer was returned through the instrument in my hand. Articular words proceeded from the clock-spring attached to the membrane, and I heard the sentence, "Yes; I understand you perfectly."}}
# {{lb|en|countable|archaic|later in|_|India}} {{short for|en|telephone call|t=a [[connection]] [[establish]]ed over a telephone [[network#Noun|network]]; a [[conversation]] [[hold#Verb|held]] by the [[party#Noun|parties]] on this connection}}.
# {{lb|en|countable|figurative}} A means of communicating [[information]] from one person to another or others.
#* {{quote-book|en|year=1990|author=w:Earl Babbie|chapter=Channels to Elsewhere|editors=[[w:Thomas Robbins (sociologist)|Thomas Robbins]]; w:Dick Anthony|title=In Gods We Trust: New Patterns of Religious Pluralism in America|location=New Brunswick, N.J.; London|publisher=w:Transaction Publishers|section=part IV (Spiritual Innovation and the New Age)|page=256|pageurl=https://archive.org/details/ingodswetrustnew0000unse/page/256/mode/1up|isbn=978-0-88738-800-2|passage=In the terminology associated with this phenomenon, Jach Pursel is known as a "channel"—a vehicle through which "entities" from other planes of existence choose to address human beings. In a more familiar metaphor, Jach is the '''telephone''' through which Lazaris places his long distance calls: very long distance calls.}}
# {{lb|en|countable|historical}}
## {{senseid|en|Q863640}} ''Now chiefly preceded by a [[descriptive#Adjective|descriptive]] [[word#Noun|word]]'': a [[simple#Adjective|simple]] [[communication]] device which converts sounds (usually speech) into [[mechanical#Adjective|mechanical]] vibrations along a [[string#Noun|string]], [[wire#Noun|wire]], etc.
##: {{coi|en|string '''telephone'''    [[tin can telephone|tin can '''telephone''']]}}
##* {{quote-journal|en|year=1832|month=August|title=Art. II.—''The Music of Nature; or An Attempt to Prove that what is Passionate and Pleasing in the Art of Singing, Speaking, and Performing upon Musical Instruments, is Derived from the Sounds of the Animated World. With Curious and Interesting Illustrations.'' By William Gardener. 8vo. pp. 530. London: Longman and Co. 1832. {{quote-gloss|book review}}|journal=[[w:Monthly Review (London)|The Monthly Review]]|location=London|publisher=G. Henderson,{{nb...|2, Old Bailey.}}|volume=II (New and Improved Series)|issue=IV|page=496|pageurl=https://archive.org/details/monthlyreview23wasogoog/page/496/mode/1up|oclc=977712396|passage=If a string of packthread be attached to the stem of a tuning fork, and the other end of the thread be wrapt round the little finger, and placed in the chamber of the ear, the sound of the fork, when made to vibrate, will be heard at the end of the thread, though two hundred yards distant, while it is altogether imperceptible to a bystander. It has been suggested, that telegraphs, or, more properly speaking, '''''telephones''''', might be invented upon this principle. The author states that some such instruments have been already perfected, and are about to be exhibited, but we have as yet heard nothing of them.}}
##* {{quote-book|en|year=2013|author=[[w:John Keane (political theorist)|John Keane]]|chapter=Communicative Abundance|title=Democracy and Media Decadence|location=Cambridge, Cambridgeshire|publisher=w:Cambridge University Press|pages=5–6|pageurl=https://archive.org/details/democracymediade0000kean/page/6/mode/1up|isbn=978-1-107-04177-6|passage=The days are behind us (I recall) when children played with makeshift '''telephones''' made from jam tins connected by string; {{...}}}}
## {{lb|en|archaic}} A [[type#Noun|type]] of [[foghorn#Noun|foghorn]] [[use#Verb|used]] for [[send#Verb|sending]] signals in the [[form#Noun|form]] of [[loud#Adjective|loud]] [[tone#Noun|tones]] or [[musical#Adjective|musical]] [[note#Noun|notes]], especially one [[invent]]ed in the 19th [[century]] by John Taylor, a [[captain#Noun|captain]] in the [[British#Adjective|British]] [[Royal Navy]].
##* {{quote-book|en|year=1899|author=J[ohn] J[oseph] Fahie|chapter=First Period—The Possible|title=A History of Wireless Telegraphy 1838–1899: Including Some Bare-wire Proposals for Subaqueous Telegraphs|location=Edinburgh; London|publisher=[[w:Blackwood (publishing house)|William Blackwood and Sons]]|page=7|pageurl=https://archive.org/details/historyofwireles00fahirich/page/n32/mode/1up|oclc=499612971|passage=It is not easy to say from these passages (which are all we could find on the subject) what plan [[w:Edward Davy|{{quote-gloss|Edward}} Davy]] had in contemplation. In the first quotation he speaks of bells, for which we may read a powerful trumpet at one end, and a concave reflector to focus the sound at the other end; or some arrangement like the compressed-air '''telephone''', proposed by Captain Taylor, R.N., in 1844; {{...}}}}
## {{lb|en|archaic}} A communication device [[consist#Verb|consisting]] of two [[aligned#Adjective|aligned]] [[gutta-percha]] [[speaking tube]]s connected to [[parabolic reflector]]s which [[allow]]s speech [[speak#Verb|spoken]] into one [[tube#Noun|tube]] to be sent through the [[air#Noun|air]] to the other one, invented in the 19th century by the [[British#Adjective|British]] [[engineer#Noun|engineer]] {{w|Francis Whishaw}} (1804–1856); also, a speaking tube of such a device.
##* {{quote-journal|en|date=30 June 1849|title=Gossip from London|editors=[[w:William Chambers (publisher)|William]] and [[w:Robert Chambers (journalist)|Robert Chambers]]|journal=[[w:Chambers's Edinburgh Journal|Chambers’s Edinburgh Journal]]|location=Edinburgh|publisher=William and Robert Chambers; London: [[w:Orr's Circle of the Sciences#William S Orr & Co.|W[illiam] S[omerville] Orr]]|volume=XI|issue=287 (New Series)|page=408|pageurl=https://archive.org/details/chambersedinburg1112cham/page/n419/mode/1up|column=1|oclc=4167154|passage=While on the subject of gutta-percha, a few words may very well be given to Mr. Whishaw's inventions: among these are speaking-tubes, to supersede bells in private houses or offices. So extraordinary are the conducting powers of this new product, that a whisper may can be conveyed to long distances; {{...}} [W]e are, it seems, to be able to speak to a distance without any connecting tube at all; across the inner quadrangle of a building, for instance, by means of large concave gutta-percha reflectors, fixed, one opposite to the other, {{...}} [E]ach reflector would be mounted on a stand similar to that of a theodolite; and thus the portable '''''telephone''''' would be available where the ''telegraph'', as at present arranged, does not admit of application.}}
## {{senseid|en|Q36764}}{{lb|en|archaic}} A [[system]] of communication using musical notes, also known as {{w|Solresol}}, invented in 1828 by the [[French#Adjective|French]] [[composer]] [[w:François Sudre|Jean-François Sudre]] (1787–1862).
##* {{quote-journal|en|year=1841|month=December|title=[Miscellaneous.] Musical Telegraph.|journal=The American Repertory of Arts, Sciences, and Manufactures|location=New York, N.Y.|publisher=W. A. Cox|volume=IV|issue=5|page=375|pageurl=https://archive.org/details/sim_american-repertory-of-arts-science-and-manufactures_1841-12_4_5/page/375/mode/1up|issn=3068-4870|oclc=10012128|passage=We extract from the ''France Musicale'' a few curious particulars relative to the invention of a kind of marine telegraph, called the "'''''Telephone'''''," invented by an ingenious Frenchman, Monsieur Sudre, and by which orders may be transmitted at night, when other means of communication fail. {{...}} A commission {{...}} verified by experiment the rapidity with which all naval commands could be communicated at night through the medium of a clarion, to a distance which may be increased to 2200 toises (about two miles) but which varies according to the state of the atmosphere. {{...}} [T]he return of the same sounds guarantied to M. Sudre the perfect comprehension of his orders, and the Admiral congratulated him on his success.}}
# {{lb|en|uncountable|Canada|US|games}} {{synonym of|en|Chinese whispers|t=a [[game#Noun|game]] for [[several#Adjective|several]] [[player]]s in which a [[phrase#Noun|phrase]], [[whisper#Verb|whispered]] by each person [[in turn]] to their [[neighbour#Noun|neighbour]], is often [[unwittingly]] [[misunderstand|misunderstood]] as it is [[transfer#Verb|transferred]], to [[humorous]] [[effect#Noun|effect]] by the [[time#Noun|time]] it [[reach#Verb|reaches]] the [[last#Adjective|last]] person and is [[compare#Verb|compared]] with the [[original#Adjective|original]] phrase; ({{italic|figurative}}) a [[situation]] where something is [[change#Verb|changed]] or misunderstood [[as a result of]] [[pass#Verb|passing]] through [[successive]] people or [[process#Noun|processes]]}}.
#* {{quote-web|en|date=27 October 2013|author=Erik Adams|title={{w|The Simpsons}} (Classic): ‘{{w|The PTA Disbands}}’|work=w:The A.V. Club|archiveurl=https://web.archive.org/web/20251016040633/https://www.avclub.com/the-simpsons-classic-the-pta-disbands-1798178460|passage=And since the spring of 1995, no game of '''telephone''' has ended without some ''Simpsons''-loving smart-ass dropping "purple monkey dishwasher" into the chain.}}
#* {{quote-journal|en|date=3 October 2017|author=David Dobbs|title=The Touch of Madness|journal=w:Pacific Standard|archiveurl=https://web.archive.org/web/20250823162237/https://psmag.com/magazine/the-touch-of-madness-mental-health-schizophrenia/|location=Santa Barbara, Calif.|publisher=Miller-McCune Center for Research, Media and Public Policy|issue=59|issn=2165-5200|oclc=773195196|passage=[T]he assistant dean of students, having intervened to clear the way for Jones’ return to class, told Jones that {{quote-gloss|Tina}} Chanter had told him that someone had told her that Jones had told someone something that made them think Jones wanted to blow up the philosophy building. {{...}} [B]oth she {{quote-gloss|Azadeh Erfani}} and Jones now wonder whether, in some transmutational chain of retellings among other students, or perhaps even as the word of this hallucination reached Chanter's ears, Jones' vision of puffing away a wall of weak atomic links had morphed into a scarier vision of her blowing a building to pieces with a bomb. {{...}} In other words, {{quote-gloss|Nev}} Jones' career and life may have been derailed because a game of '''telephone''' went bad.}}
====Usage notes====
Regarding {{senseno|en|Q11035}} (“telecommunication device which converts data or sounds into electrical signals which are then transmitted”), ''telephone'' tends to be used to mean a fixed-line or [[landline]] telephone rather than a [[mobile phone]].<ref name="OED"/>
====Hyponyms====
{{col4|en
|answerphone
|candlestick telephone
|cellular telephone
|cordless telephone
|daffodil telephone
|field telephone
|French telephone
|magnetotelephone
|mobile telephone
|monotelephone
|pantelephone
|pedestal telephone
|pillar telephone
|portable telephone
|public telephone
|radiotelephone,radio-telephone,radio telephone
|satellite telephone
|tin can telephone
|videotelephone
}}
====Derived terms====
{{col4|en
|antitelephone
|big white telephone
|broken telephone
|Einstein-Podolsky-Rosen telephone
|EPR telephone
|Everett-Wheeler telephone
|on the telephone
|phone<pos:n>
|plain old telephone service
|post office telephone system
|premium-rate telephone number
|pretelephone
|talk to God on the big white telephone
|talk to Ralph on the big white telephone
|telco
|telemarketing
|telephonable
|telephone alphabet
|telephone answering machine
|telephone-bell
|telephone book
|telephone booth
|telephone box
|telephone call
|telephone card
|telephone conference
|telephone desk
|telephone directory
|telephone exchange
|telephone game
|telephone girl
|telephone jack
|telephone kiosk
|telephoneless
|telephonelike
|telephone line
|telephone number
|telephone operator
|telephone pole
|telephone ring
|telephone scatologia
|telephone sex
|telephone shower
|telephone tag
|telephone typewriter
|telephonic
|telephonicate
|telephonist
|telephonitis
|telephonology
|telephonophile
|telephonophobia
|telephonophobic
|telephony
|telethon
|thermotelephone
|Tucker telephone
|untelephoned
|white-telephone,white telephone
}}
====Translations====
{{trans-top|telecommunication device which converts data or sounds into electrical signals which are then transmitted to enable two or more people to communicate with each other over a distance}}
* Abkhaz: {{t|ab|ателефон}}
* Afrikaans: {{t+|af|telefoon}}
* Alabama: {{t|akz|maanaaɬihilka}}, {{t|akz|masnaaɬiilka}}, {{t|akz|naaɬiikapalki}} {{qualifier|old}}
* Albanian: {{t+|sq|telefon|m}}
* Amharic: {{t|am|ስልክ|?}}, {{t|am|ቴሌፎን|?}}
* Arabic: {{t+|ar|هَاتِف|m}}, {{t+|ar|تِلِفون|m|tr=telefōn}}
*: Egyptian Arabic: {{t|arz|تليفون|m|tr=telefōn}}
*: Hijazi Arabic: {{t|acw|تِلِفون|m|tr=tilifōn}}
*: Moroccan Arabic: {{t|ary|تلفون|m|tr=tilifūn}}, {{t|ary|تليفون|m|tr=tilīfūn}}
* Aramaic:
*: Assyrian Neo-Aramaic: {{t|aii|ܚܘܼܛܵܡܲܠܵܠܵܐ|tr=ḵuṭāmalālā}}, {{t|aii|ܬܸܠܸܦ̮ܘܿܢ|tr=tilifon}}
* Armenian: {{t+|hy|հեռախոս}}
* Assamese: {{t|as|টেলিফোন}}
* Assiniboine: {{t|asb|masʾápabi}}
* Asturian: {{t+|ast|teléfonu|m}}
* Atayal: {{t|tay|renwa'}}
* Azerbaijani:
*: Arabic: {{t|az|تلفون|tr=talfun, telfun, telifon}}
*: Latin: {{t+|az|telefon}}
* Bashkir: {{t|ba|телефон}}
* Basque: {{t|eu|telefono}}
* Belarusian: {{t|be|тэлефо́н|m}}
* Bengali: {{t+|bn|দূরভাষা}}, {{t+|bn|ফোন}}, {{t+|bn|টেলিফোন}}
* Bouyei: {{t|pcc|dianqhuaq}}
* Breton: {{t+|br|pellgomz|m}}
* Bulgarian: {{t|bg|телефо́н|m}}
* Burmese: {{t+|my|တယ်လီဖုန်း}}, {{t+|my|ဖုန်း}}, {{t+|my|စကားပြောကြေးနန်း}}
* Buryat: {{t|bua|телефон}}
* Carpathian Rusyn: {{t|rue|телефо́н|m}}
* Catalan: {{t+|ca|telèfon|m}}
* Cebuano: {{t|ceb|telepono}}
* Chechen: {{t|ce|телефон}}
* Cherokee: {{t|chr|ᎠᎾᎦᎵᏍᎩ ᎠᏏᎳᏛ}}, {{t|chr|ᏗᎵᏃᎮᏗ}}
* Cheyenne: {{t|chy|aseéestsestôtse}}
* Chinese:
*: Cantonese: {{t|yue|電話}}
*: Dungan: {{t|dng|дянхуа}}, {{t|dng|телефон}}
*: Eastern Min: {{t|cdo|電話}}
*: Hakka: {{t|hak|電話|tr=thien-fa}}
*: Hokkien: {{t+|nan-hbl|電話|tr=tiān-ōe}}
*: Jin: {{t|cjy|電話}}
*: Mandarin: {{t+|cmn|電話}}
*: Wu: {{t|wuu|電話}}
* Chukchi: {{t|ckt|вэтгавъёԓгын|tr=vėtgavʺjoḷgyn}}
* Chuvash: {{t|cv|телефон}}
* Comox: {{t|coo|sqʷay}}
* Corsican: {{t|co|telefonu|m}}
* Cree:
*: Plains Cree: {{t|crk|ᓭᐁᐧᐱᒋᑲᐣ|tr=sewepicikan}}, {{t|crk|ᐊᔭᒫᑲᐣ|tr=ayamâkan}}
*: Southern East Cree: {{t|crj|ᑖᐦᑳᐱᐦᒉᓂᑲᓐ}}
* Crimean Tatar: {{t|crh|telefon}}
* Czech: {{t+|cs|telefon|m}}
* Danish: {{t+|da|telefon|c}}
* Dusun:
*: Central Dusun: {{t|dtp|telefon}}
* Dutch: {{t+|nl|telefoon|m}}, {{t|nl|beltoestel|n}}
* Esperanto: {{t+|eo|telefono}}
* Estonian: {{t+|et|telefon}}
* Faroese: {{t|fo|telefon|f}}
* Finnish: {{t+|fi|puhelin}}
* French: {{t+|fr|téléphone|m}}
* Frisian:
*: West Frisian: {{t|fy|telefoan|m}}, {{t|fy|tillefoan|m}}
* Friulian: {{t|fur|telefon|?}}
* Fula:
*: Adlam: {{t|ff|𞤼𞤢𞤤𞤭𞤬𞤮𞤲}}
*: Latin: {{t|ff|talifon}}
* Galician: {{t+|gl|teléfono|m}}
* Georgian: {{t|ka|ტელეფონი}}
* German: {{t+|de|Telefon|n}}, {{t+|de|Telephon|n}} {{qualifier|dated}}, {{t+|de|Fernsprecher|m}} {{qualifier|dated}}, {{t+|de|Fon|n}} {{q|rare}}
*: Central Franconian: {{t|gmw-cfr|Fäänshpräscho|?}}
* Greek: {{t+|el|τηλέφωνο|n}}
* Greenlandic: {{t|kl|oqarasuaat}}
* Guarani:
*: Paraguayan Guarani: {{t-check|gug|pumbyry}}, {{t-check|gug|mombyñe'ẽporu}}, {{t-check|gug|ñe'ẽmbyry}}
* Gujarati: {{t|gu|દૂરબોલ|?}}, {{t|gu|ટેલિફોન|?}}, {{t|gu|દૂરભાષ|?}}
* Haitian Creole: {{t|ht|telefòn}}
* Hawaiian: {{t|haw|kelepona}}
* Hebrew: {{t+|he|טֶלֶפוֹן|m|tr=télefon}}
* Hindi: {{t+|hi|दूरभाष|m}}, {{t|hi|टेलीफ़ोन|m}}, {{t|hi|फ़ोन|m}}, {{t+|hi|टेलिफोन|m}}, {{t+|hi|फोन|m}}
* Hungarian: {{t+|hu|telefon}}, {{t+|hu|távbeszélő}}
* Icelandic: {{t+|is|sími|m}}
* Ido: {{t+|io|telefonilo}}
* Indonesian: {{t+|id|telepon}}, {{t+|id|telefon}}
* Ingrian: {{t|izh|telefona}}
* Inuktitut: {{t|iu|uqaalaut}}
* Irish: {{t|ga|teileafón|m}}, {{t+|ga|guthán|m}}, {{t|ga|fón|m}}
* Italian: {{t+|it|telefono|m}}
* Japanese: {{t+|ja|電話|tr=でんわ, denwa}}
* Kalmyk: {{t|xal|утцн}}
* Kannada: {{t+|kn|ದೂರವಾಣಿ}}, {{t+|kn|ಗೆಂಟುಮಾತು}}
* Kapampangan: {{t|pam|teleponu}}
* Kazakh: {{t+|kk|телефон}}
* Khmer: {{t+|km|ទូរស័ព្ទ}}, {{t|km|តេឡេហ្វូន}}
* Korean: {{t+|ko|전화(電話)}}
* Kurdish:
*: Central Kurdish: {{t|ckb|تهلهفۆن}}
*: Northern Kurdish: {{t+|kmr|telefon|f}}
* Kyrgyz: {{t+|ky|телефон}}
* Lakota: {{t|lkt|omásʼapȟe}}
* Lao: {{t+|lo|ໂທລະສັບ}}, {{t|lo|ໂທຣະສັບ}}, {{t|lo|ເຕເລໂຟນ}}
* Latin: {{q|New}} {{t|la|tēlephōnum|n}}, {{t|la|tēlephōnium|n}}
* Latvian: {{t|lv|telefons|m}}, {{t+|lv|tālrunis|m}}
* Lingala: {{t|ln|ebengeli}}
* Lithuanian: {{t+|lt|telefonas|m}}
* Lü: {{t|khb|ᦶᦎᧃᧈᦧᦱᧈ}}
* Macedonian: {{t+|mk|телефо́н|m}}
* Malagasy: {{t+|mg|telefaonina}}
* Malay: {{t+|ms|telefon}}
*: Brunei Malay: {{t|kxd|talipun}}
* Malayalam: {{t+|ml|ടെലിഫോൺ}}, {{t|ml|ദൂരശ്രാവി}}
* Malecite-Passamaquoddy: {{t|pqm|mattoktihikon}}
* Maltese: {{t|mt|telefon|m}}, {{t|mt|telefown|m}}
* Manx: {{t|gv|çhellvane|m}}
* Māori: {{t|mi|waea}}, {{t|mi|whoounu}}, {{t|mi|waeakōrero}}, {{t|mi|terepōno}} {{qualifier|obsolete}}, {{t|mi|terewhōno}} {{qualifier|obsolete}}
* Marathi: {{t|mr|टेलीफोन|?}}, {{t|mr|फोन|m}}, {{t|mr|दूरध्वनी|?}}
* Minjungbal: {{t|xjb|gulgun biral}}
* Mongolian:
*: Cyrillic: {{t+|mn|утас}}, {{t+|mn|телефон}}, {{t|mn|дянхуа}}
*: Mongolian script: {{t|mn|ᠤᠲᠠᠰᠤ}}, {{t|mn|ᠲ᠋ᠧᠯᠧᠹᠣᠨ}}, {{t|mn|ᠳ᠋ᠢᠶᠠᠩᠬᠤᠸᠠ}}
* Naga:
*: Khiamniungan Naga: {{t|kix|nyūthī}}
* Nahuatl: {{t|nah|mekatlanonotski}}, {{t|nah|huehcacaquiztli}}
* Navajo: {{t|nv|béésh bee haneʼé}}
* Nepali: {{t|ne|टेलिफोन}}
* Norman: {{t|nrf|téléphône|m}}
* Norwegian:
*: Bokmål: {{t+|nb|telefon|m}}
*: Nynorsk: {{t|nn|telefon|m}}
* Occitan: {{t+|oc|telefòn|m}}
* Odia: {{t+|or|ଟେଲିଫୋନ}}
* Ojibwe: {{t|oj|giigidowin}}
* Oromo: {{t|om|bilbila}}
* Pannonian Rusyn: {{t|rsk|телефон|m}}
* Papiamentu: {{t|pap|telefón}}
* Pashto: {{t+|ps|تيلفون|m|tr=telefun}}
* Pawnee: {{t|paw|rarácawakataku}}
* Pennsylvania German: {{t|pdc|Faernschwetzer|m}}
* Persian:
*: Dari: {{t|prs|تیلِفون}}, {{t|prs|فون}}
*: Iranian Persian: {{t|fa-ira|تِلِفُن}}
* Pitcairn-Norfolk: {{t|pih|foen}}
* Plautdietsch: {{t|pdt|Tellefoon|n}}
* Polish: {{t+|pl|telefon|m}}
* Portuguese: {{t+|pt|telefone|m}}
* Punjabi: {{t|pa|ਟੈਲੀਫ਼ੋਨ|m}}, {{t|pa|ਫ਼ੋਨ|m}}
* Quechua: {{t|qu|karu rimay}}
* Romanian: {{t+|ro|telefon|n}}
* Romansh: {{t|rm|telefon|m}}
* Russian: {{t+|ru|телефо́н|m}}
* Sami:
*: Northern Sami: {{t|se|telefovdna}}
* Samoan: {{t+|sm|telefoni}}
* Sanskrit: {{t|sa|दूरभाषा|f}}, {{t|sa|दूरवाणी|f}}
* Sardinian: {{t|sc|telèfonu|m}}
* Scots: {{t|sco|telephone}}
* Scottish Gaelic: {{t|gd|fòn|f}}, {{t|gd|cian-fhuaim|m}}
* Serbo-Croatian:
*: Cyrillic: {{t|sh|телѐфо̄н|m}}
*: Latin: {{t+|sh|telèfōn|m}}
* Shan: {{t|shn|တႄႇလီႇၾူၼ်း}}
* Shona: {{t|sn|runhare}}
* Sicilian: {{t+|scn|tilèfunu|m}}, {{t+|scn|telèfunu|m}}, {{t|scn|talèfunu|m}}
* Sindhi: {{t+|sd|ڏور وايو|alt=ڏُور وايو}}
* Sinhalese: {{t|si|බණුව}}, {{t|si|දුරකථනය}}
* Slovak: {{t|sk|telefón|m}}
* Slovene: {{t+|sl|telefon|m}}
* Spanish: {{t+|es|teléfono|m}}
* Sranan Tongo: {{t|srn|teilefown}}, {{t|srn|konkrutitei}}, {{t|srn|gengen}}
* Swahili: {{t+|sw|simu}}
* Swedish: {{t+|sv|telefon|c}}
* Tagalog: {{t+|tl|telepono}}, {{t+|tl|hatinig}}
* Tahitian: {{t|ty|niuniu paraparau}}
* Tajik: {{t+|tg|телефон}}
* Tamil: {{t+|ta|தொலைபேசி}}, {{t|ta|ஃபோன்}}, {{t|ta|டெலிஃபோன்}}
* Tatar: {{t|tt|телефон}}
* Telugu: {{t+|te|దూరవాణి}}, {{t|te|టెలీఫోను}}, {{t|te|ఫోను}}
* Thai: {{t+|th|โทรศัพท์}}
* Tibetan: {{t|bo|ཁ་པར}}, {{t|bo|ཞལ་པར}} {{qualifier|honorific}}
* Tigrinya: {{t|ti|ተለፎን|?}}, {{t|ti|ስልኪ|?}}
* Tok Pisin: {{t|tpi|telipon}}
* Turkish: {{t+|tr|telefon}}, {{t|tr|alısün}}
*: Ottoman Turkish: {{t|ota|تلفون|tr=téléfon}}, {{t|ota|دور شنید|tr=dūr-şenīd}}
* Turkmen: {{t|tk|telefon}}
* Ukrainian: {{t+|uk|телефо́н|m}}
* Unami: {{t|unm|sëkahsën}}
* Urdu: {{t|ur|ٹیلی فون|m}}, {{t|ur|ہاتِف|f}}, {{t|ur|فون|m}}, {{t|ur|دور گو|tr=dūr-go}}
* Uyghur: {{t+|ug|تېلېفون}}
* Uzbek: {{t+|uz|telefon}}
* Venda: {{t|ve|luṱingo}}
* Vietnamese: {{t+|vi|điện thoại}} ({{t|vi|電話}}), {{t|vi|dây nói}}, {{t+|vi|phôn}} {{qualifier|informal}}
* Volapük: {{t+|vo|telefonöm}}, {{qualifier|complete unit}} {{t+|vo|telefonaparat}}
* Walloon: {{t+|wa|telefone|m}}, {{t|wa|tèlèfone|m}}
* Welsh: {{t+|cy|teleffon|m}}, {{t+|cy|ffôn|m}}
* West Flemish: {{t|vls|telefoeng|m}}, {{t|vls|teelefoeng|m}}
* Xhosa: {{t|xh|umnxeba}}
* Yakut: {{t|sah|телефон}}
* Yami: {{t|tao|dingwa}}
* Yiddish: {{t|yi|טעלעפֿאָן|n}}
* Yup'ik: {{t|esu|qanercuun}}
* Yurok: {{t|yur|'o chweeegeen}}
* Zhuang: {{t|za|denva}}
* Zulu: {{t+|zu|ucingo}}
{{trans-bottom}}
{{trans-see|''synonym of'' telephone call|telephone call}}
{{trans-top|means of communicating information from one person to another or others}}
* Finnish: {{t+|fi|kanava}}, {{t+|fi|puhelin}}
* French: {{t-needed|fr}}
{{trans-bottom}}
{{trans-top|simple communication device which converts sounds into mechanical vibrations along a string, wire, etc.}}
* Finnish: {{t+|fi|puhelin}}
* French: {{t-needed|fr}}
{{trans-bottom}}
{{trans-top|type of foghorn used for sending signals in the form of loud tones or musical notes}}
* Finnish: {{t+|fi|sumutorvi}}
* French: {{t-needed|fr}}
{{trans-bottom}}
{{trans-top|communication device consisting of two aligned gutta-percha speaking tubes}}
* Finnish: {{t+|fi|puhelin}}
* French: {{t-needed|fr}}
{{trans-bottom}}
{{trans-top|system of communication using musical notes}}
* Finnish: {{t+|fi|säveltapailu}}
* French: {{t-needed|fr}}
{{trans-bottom}}
{{trans-see|''synonym of'' Chinese whispers|Chinese whispers}}
===Verb===
{{en-verb}}
# {{lb|en|transitive}}
## To [[convey]] ([[information]], a [[message#Noun|message]], [[news#Noun|news]], etc.) [[use#Verb|using]] a [[telephone#Noun|telephone]] ''({{senseno|en|Q11035}})''.
##* {{RQ:Robert Byron Europe|chapter=V|page=31|passage=David '''telephoned''' his apologies to his mother. On the way we had had our first puncture, and had taken some time to change the wheel, as we were unable to find the jack.}}
##* {{quote-book|en|year=1961|author=w:Xavier Herbert|title=Soldiers’ Women|location=Sydney, N.S.W.|publisher=[[w:Angus & Robertson|Angus and Robertson]]|page=395|oclc=4482528|passage=He '''telephoned''' what he knew to his chief, the information such as to cause the smug complacency of that gentlemen in his henchman's prowess to vanish from his expression, {{...}}}}
## To ([[attempt#Verb|attempt]] to) [[contact#Verb|contact]] (someone) using a telephone.
##: {{syn|en|call#Verb|call up#Verb|drop someone a line<alt:drop (someone) a line>|ring#Verb<q:chiefly Commonwealth>|ring up<q:chiefly Commonwealth>|phone#Verb|Thesaurus:telephone}}
##: {{hypo|en|call back#Verb|retelephone#Verb}}
##* {{quote-journal|en|year=1961|month=November|title=Talking of Trains: Derailment near Holmes Chapel|journal=[[w:Modern Railways|Trains Illustrated]]|location=London|publisher=w:Ian Allan Publishing|page=652|issn=0141-9935|oclc=35845948|passage=The length ganger saw the train passing with the van derailed and promptly '''telephoned''' the Sandbach signalman, who restored his signals to danger, but not in time to stop the train before the final derailment occurred.}}
## {{lb|en|obsolete}}
### To [[provide]] (a [[place#Noun|place]]) with a telephone [[system]].
###* {{quote-journal|en|date=14 December 1901|author=J. Williams Benn|title=The Telephone Deal|journal=[[w:The Speaker (periodical)|The Speaker: The Liberal Review]]|location=London; Paris|publisher=[[w:Cassell (publisher)|Cassell and Co.]],{{nb...|Ltd., London, Paris, New York, and Melbourne.}}|volume=V (New Series)|issue=115|page=296|pageurl=https://archive.org/details/sim_speaker-the-liberal-review_1901-12-14_5_115/page/296/mode/1up|column=1|oclc=1566794713|passage=The London County Council prepared careful estimates for '''telephoning''' London in 1898, and those estimates were submitted to Parliament. It contended that it could provide a telephone service for the County Council area of London at £38 per subscriber capital outlay, after setting aside the necessary funds for the debt charge and after paying the Post Office the 10 per cent. royalty.}}
### To [[transmit]] ([[sound#Noun|sounds]]) over a [[distance#Noun|distance]].
###* {{RQ:Lawrence Birds|poem=Bare Almond-trees|stanza=3|page=44|passage=Do you hear the chemical accents of the sun? / Do you '''telephone''' the roar of the waters over the earth?}}
# {{lb|en|intransitive}} To (attempt to) contact someone using a telephone; to [[make#Verb|make]] a [[telephone call]].
#* {{RQ:Barr Stranleigh Abroad|page=139|passage=I came down like a wolf on the fold, didn't I? Why didn't I '''telephone'''? Strategy, my dear boy, strategy. This is a surprise attack, and I'd no wish that the garrison, forewarned, should escape.}}
#* {{quote-journal|en|year=1944|month=July–August|title=Top Link Drivers: XXI—Driver H. Blunt, L.N.E.R.|journal=w:The Railway Magazine|location=London|publisher=Tothill Press|page=226|issn=0033-8923|oclc=1256058197|passage=Having completed their task, Fireman Page '''telephoned''' from a lineside box to the next signal cabin, briefly reported the incident and said that, as no high explosive had dropped and the track was safe, they proposed proceeding "at caution".}}
#* {{quote-book|en|year=1971|author=w:Martin Nordegg|chapter=Convincing a European Expert|editor=T. D. Regehr|title=The Possibilities of Canada are Truly Great: Memoirs 1906–1924|location=Toronto, Ont.|publisher=[[w:Macmillan Publishers|Macmillan of Canada]]|page=89|pageurl=https://archive.org/details/possibilitiesofc0000nord/page/89/mode/1up|oclc=427669|passage=The only chance we had was to '''telephone''' to the manager of the hotel in Calgary to send two bottles of Scotch without fail by the next train leaving Calgary for the west.}}
====Derived terms====
{{col3|en
|phone<pos:v>
|retelephone
|telephonable
|telephoned<pos:a>
|telephoner
|telephoning<pos:n>
}}
====Translations====
{{trans-top|(''transitive'') to convey (information, a message, news, etc.) using a telephone}}
* Finnish: {{t|fi|[[välittää]] [[puhelimitse]]}}
* French: {{t-needed|fr}}
{{trans-bottom}}
{{trans-top|(''transitive'') to (attempt to) contact (someone) using a telephone; (''intransitive'') to (attempt to) contact someone using a telephone}}
* Albanian: {{t+|sq|telefonoj}}
* Arabic: {{t|ar|تَلْفَنَ}} ({{lang|ar|[[ل|لـِ]]}} {{q|li-}} )
* Armenian: {{t+|hy|զանգել}}, {{t+|hy|զանգահարել}}, {{t+|hy|հեռաձայնել}} {{qualifier|Western Armenian}}
* Azerbaijani: {{t|az|zəng etmək}}, {{t|az|zəng vurmaq}}
* Belarusian: {{t|be|тэлефанава́ць|impf}}, {{t|be|патэлефанава́ць|pf}}, {{t|be|звані́ць|impf}}, {{t|be|пазвані́ць|pf}}
* Bengali: {{t|bn|টেলিফোন করা}}
* Breton: {{t+|br|pellgomz}}
* Bulgarian: {{t+|bg|телефони́рам|impf|pf}}, {{t+|bg|обаждам|impf|alt=оба́ждам се}}, {{t+|bg|обадя|pf|alt=оба́дя се}}
* Burmese: {{t|my|[[ဖုန်း]][[ဆက်]]}}
* Catalan: {{t+|ca|telefonar}}, {{t+|ca|cridar}}, {{t+|ca|trucar}}
* Cherokee: {{t|chr|ᎦᎸᏛᏂᎭ}}
* Chinese:
*: Mandarin: {{t+|cmn|打電話}}
* Crimean Tatar: {{t|crh|telefon etmek}}
* Czech: {{t+|cs|telefonovat|impf}}, {{t|cs|zatelefonovat|pf}}, {{t+|cs|volat|impf}}, {{t+|cs|zavolat|pf}}
* Danish: {{t+|da|ringe}}, {{t+|da|telefonere}}
* Dutch: {{t+|nl|telefoneren}}, {{t+|nl|bellen}}, {{t+|nl|opbellen}}
* Esperanto: {{t+|eo|telefoni}}, {{t|eo|alvoki}}
* Estonian: {{t+|et|helistama}}
* Finnish: {{t|fi|[[soittaa]] (puhelimella)}}
* French: {{t+|fr|téléphoner}}, {{t+|fr|appeler}}
* Galician: {{t+|gl|telefonar}}
* Georgian: {{t|ka|დარეკვა}}
* German: {{t+|de|telefonieren}}, {{t+|de|anrufen}}
* Greek: {{t+|el|τηλεφωνώ}}, {{t+|el|καλώ}}
* Hebrew: {{t+|he|צלצל|tr=tsiltsél|alt=צילצל \ צִלְצֵל}}
* Hindi: {{t|hi|फ़ोन करना}}
* Hungarian: {{t+|hu|telefonál}}
* Icelandic: {{t+|is|hringja}}, {{t|is|hringja í}}
* Ido: {{t+|io|telefonar}}
* Indonesian: {{t+|id|menelepon}}, {{t+|id|memanggil}}
* Italian: {{t+|it|telefonare}}
* Japanese: {{t+|ja|電話をかける|tr=でんわをかける, denwa o kakeru}}, {{t+|ja|電話|tr=でんわする, denwa suru|alt=電話する}}
* Kazakh: {{t|kk|телефон соғу}}, {{t|kk|қоңырау шалу}}
* Khmer: {{t|km|[[និយាយ]][[ទូរសព្ទ]]|tr=niyiəy tuurĕəʼsap}}
* Korean: {{t|ko|전화를 걸다}}, {{t+|ko|전화하다}}
* Kurdish:
*: Northern Kurdish: {{t+|kmr|telefon kirin}}
* Kyrgyz: {{t|ky|шыңгыратуу}}
* Lao: {{t|lo|ຕີເຕເລໂຟນ}}
* Latvian: {{t|lv|telefonēt}}, {{t|lv|piezvanīt}}, {{t|lv|zvanīt}}
* Lithuanian: {{t|lt|telefonuoti}}, {{t|lt|skambinti}}
* Macedonian: {{t|mk|телефони́ра|impf|pf}}, {{t|mk|ѕвони|impf}}, {{t|mk|заѕвони|pf}}
* Malay: {{t|ms|menelefon}}, {{t|ms|memanggil}}
* Maltese: {{t|mt|ċempel|m}}
* Māori: {{t|mi|rīngi}}, {{t|mi|waea}}
* Mongolian:
*: Cyrillic: {{t+|mn|утасдах}}
* Norwegian:
*: Bokmål: {{t+|nb|ringe}}
*: Nynorsk: {{t-needed|nn}}
* Pashto: {{t|ps|تېلېفون کول|tr=telefǔn kawël}}
* Persian: , {{t+|fa|تلفن کردن|tr=telefon kardan}}, {{t+|fa|تلفن زدن|tr=telefon zadan}}, {{t|fa|دورواژیدن|tr=durvâžidan}}, {{t+|fa|زنگ زدن|tr=zang zadań}}
* Polish: {{t+|pl|telefonować|impf}}, {{t+|pl|zatelefonować|pf}}, {{t+|pl|dzwonić|impf}}, {{t+|pl|zadzwonić|pf}}
* Portuguese: {{t+|pt|telefonar}}, {{t+|pt|ligar}}
* Romanian: {{t+|ro|telefona|alt=a telefona}}
* Romansh: {{t|rm|telefonar}}
* Russian: {{t+|ru|телефони́ровать|impf|pf}} {{qualifier|rare}}, {{t+|ru|звони́ть|impf}}, {{t|ru|[[позвони́ть]] по [[телефон|телефо́ну]]|pf}}
* Scottish Gaelic: {{t|gd|fòn}}
* Serbo-Croatian:
*: Cyrillic: {{t|sh|телефони́рати|impf|pf}}, {{t|sh|[[назвати]] [[на]] [[телефон]]|pf}}
*: Latin: {{t+|sh|telefonírati|impf|pf}}, {{t|sh|[[nazvati]] [[na]] [[telefon]]|pf}}
* Slovak: {{t|sk|telefonovať|impf}}, {{t|sk|zatelefonovať|pf}}, {{t|sk|volať|impf}}, {{t|sk|zavolať|pf}}
* Slovene: {{t|sl|telefonirati|impf|pf}}
* Spanish: {{t+|es|telefonear}}, {{t+|es|llamar|alt=llamar por teléfono}}
* Sranan Tongo: {{t|srn|bèl}}, {{t|srn|kari}}, {{t|srn|naki wan konkrutitei}}, {{t|srn|naki wan gengen}}
* Swahili: {{t|sw|piga simu}}
* Swedish: {{t+|sv|telefonera}}, {{t+|sv|ringa}}
* Tajik: {{t|tg|телефон кардан}}
* Thai: {{t+|th|โทร|tr=too}}, {{t+|th|โทรศัพท์}}
* Tibetan: {{t|bo|ཁ་དཔར་གཏོང་བ}}
* Turkish: {{t+|tr|telefon etmek}}, {{t+|tr|telefonlamak}}, {{t+|tr|aramak}}
* Ukrainian: {{t+|uk|телефонува́ти|impf}}, {{t|uk|зателефонува́ти|pf}}, {{t|uk|дзвони́ти|impf}}, {{t|uk|подзвони́ти|pf}}
* Urdu: {{t|ur|فون کرنا|tr=fon karnā}}, {{t|ur|ملانا|tr=milānā}}
* Uyghur: {{t|ug|تېلېفون بەرمەك}}
* Uzbek: {{t|uz|telefon qilmoq}}, {{t|uz|qoʻngʻiroq qilmoq}}
* Vietnamese: {{t+|vi|phôn}}, {{t+|vi|điện}}, {{t+|vi|điện thoại}}, {{t|vi|gọi điện}}, {{t|vi|gọi điện thoại}}, {{t|vi|kêu điện thoại}}
* Volapük: {{t+|vo|telefonön}}
* Yiddish: {{t|yi|טעלעפֿאָנירן}}
{{trans-bottom}}
===References===
<references/>
===Further reading===
* {{pedia}}
===Anagrams===
* {{anagrams|en|a=eeehlnopt|phenetole}}
iqabav67tr5d0fclai98nlnd3lewhty
234049
234045
2026-05-15T03:32:07Z
Pinthura
2424
යොමු තොරතුරු පරිවර්තනය
234049
wikitext
text/x-wiki
{{also|Telephone|téléphone|téléphoné|téléphône}}
== ඉංග්රීසි ==
{{was wotd|2026|March|10}}
{{multiple images
|image1 = Dialog gr 1972.jpg
|caption1 = A [[rotary dial|rotary-dial]] telephone ''({{senseno|en|Q11035}})''.
|image2 = Hand-smartphone-technology-calling.jpg
|caption2 = A [[mobile telephone]] ''({{senseno|en|Q11035}})'' or [[mobile phone]].
|image3 = Fig 7 Le Telephone by T du Moncel Paris 1880 (Large).jpg
|caption3 = An 1880 drawing of a [[tin can telephone]] ''({{senseno|en|Q863640}})''.
}}
=== නිරුක්තිය ===
{{etymon|en|:bor|fr:téléphone<id:telephone>|id=device}}
The {{lg|noun}} is derived from {{affix|en|tele-|pos1={{lg|prefix}} meaning ‘from a distance’|-phone|pos2={{lg|suffix}} denoting a device which makes a sound}}, modelled after {{cog|de|Telephon|t=early apparatus converting sound into electrical signals}} {{qualifier|dated}} (now {{cog|de|Telefon}}).<ref name="OED">{{R:OED Online|pos=n|id=2015603579|date=September 2025|nodot=1}}; {{R:Lexico|pos=n}}</ref> The word was first used to refer to the modern device in 1876 by the Scottish-born Canadian-American engineer {{w|Alexander Graham Bell}} (1847–1922).
The prefix {{m|en||tele-}} is ultimately derived from {{der|en|grc|τῆλε|t=afar, far away, far off}}, from {{der|en|ine-pro|*kʷelh₁-|t=to turn end-over-end; to revolve around; hence, to dwell, sojourn}}.<ref>{{R:OED Online|entry=tele-|pos=''comb. form''|noformat=1|id=3978633267|date=December 2025|nodot=1}}; {{R:Lexico|entry=tele-}}</ref> The suffix {{m|en||-phone}} is ultimately from {{der|en|grc|φωνή|t=sound; voice}},<ref>{{R:OED Online|entry=-phone|pos=''comb. form''|noformat=1|id=2891556446|date=December 2024|nodot=1}}; {{R:Lexico|entry=-phone}}</ref> and {{der|en|ine-pro|*bʰeh₂-|t=to say; to speak}}.
{{senseno|en|Q36764|uc=1}} (“system of communication using musical notes”) is borrowed from {{bor|en|fr|téléphone|t=kind of megaphone; system of communication using musical notes}}.<ref name="OED"/>
The {{lg|verb}} is derived from the noun.<ref>{{R:OED Online|pos=v|id=1448846986|date=September 2025|nodot=1}}; {{R:Lexico|pos=v}}</ref>
=== උච්චාරණය ===
* {{IPA|en|/ˈtɛlɪfəʊn/|a=RP}}
* {{IPA|en|/ˈtɛləˌfoʊn/|[ˈtɛɫ-]|a=GA}}
** {{audio|en|En-us-telephone.ogg|a=GA}}
* {{IPA|en|[ˈteɫəˌfəʉn]|a=AU}}
* {{IPA|en|[ˈteɫəˌfɐʉn]|a=NZ}}
* {{IPA|en|/ˈtɛlɪfon/|a=Scotland}}
* {{IPA|en|/ˈtɛlɪfoːn/|a=Wales,non-toe-tow}}
* {{hyphenation|en|tel|e|phone}}
=== නාම පදය ===
{{en-noun|~}}
# {{senseid|en|Q11035}}{{lb|en|countable|telephony}} A [[telecommunication]] [[device]] which [[convert#Verb|converts]] [[datum|data]] or [[sound#Noun|sounds]] (usually [[speech#Noun|speech]]) into [[electrical#Adjective|electrical]] [[signal#Noun|signals]] which are then [[transmit]]ted to [[enable]] [[two#Numeral|two]] or more [[person#Noun|people]] to [[communicate#Verb|communicate]] with each other over a [[distance#Noun|distance]]; now usually a device having a [[dial#Noun|dial]] or [[keypad]] with [[numeral#Noun|numerals]] for [[enter#Verb|entering]] a [[number#Noun|number]], etc., to [[connect#Verb|connect]] with a person, and [[means#Noun|means]] (such as a sound or [[vibration]]) for [[alert#Verb|alerting]] one to an [[incoming#Adjective|incoming]] [[call#Noun|call]] or [[transmission]]; also, the [[handset]] or [[receiver]] of such a device.
#: {{syn|en|Ameche<q:US, slang, dated>|blower<q:slang>|dog and bone<q:slang>|horn<q:informal>|phone|pipe<q:slang>|Thesaurus:phone}}
#: {{hypo|en|cellphone|;|cordless phone|cordless telephone|;|mobile phone|mobile telephone|;|payphone|;|satellite phone|satellite telephone}}
#* {{quote-journal|en|year='''1876''' May 10 (date delivered)|author=[[w:Alexander Graham Bell|A[lexander] Graham Bell]]|title=Researches in Telephony|journal=[[w:Daedalus (journal)|Proceedings of the American Academy of Arts and Sciences]]|location=Boston, Mass.|publisher=Press of John Wilson and Son|year_published=1877|volume=IV (New Series; volume XII overall)|pages=7–8|pageurl=https://archive.org/details/proceedingsofame12amer/page/7/mode/1up|issn=0199-9818|oclc=835587818|passage=The '''telephones''' so constructed were placed in different rooms. {{...}} Upon singing into the '''telephone''', the tones of the voice were reproduced by the instrument in the distant room. When two persons sang simultaneously into the instrument, two notes were emitted simultaneously by the '''telephone''' in the other house. {{...}} I placed the membrane of the '''telephone''' near my mouth, and uttered the sentence, "Do you understand what I say?" Presently an answer was returned through the instrument in my hand. Articular words proceeded from the clock-spring attached to the membrane, and I heard the sentence, "Yes; I understand you perfectly."}}
# {{lb|en|countable|archaic|later in|_|India}} {{short for|en|telephone call|t=a [[connection]] [[establish]]ed over a telephone [[network#Noun|network]]; a [[conversation]] [[hold#Verb|held]] by the [[party#Noun|parties]] on this connection}}.
# {{lb|en|countable|figurative}} A means of communicating [[information]] from one person to another or others.
#* {{quote-book|en|year=1990|author=w:Earl Babbie|chapter=Channels to Elsewhere|editors=[[w:Thomas Robbins (sociologist)|Thomas Robbins]]; w:Dick Anthony|title=In Gods We Trust: New Patterns of Religious Pluralism in America|location=New Brunswick, N.J.; London|publisher=w:Transaction Publishers|section=part IV (Spiritual Innovation and the New Age)|page=256|pageurl=https://archive.org/details/ingodswetrustnew0000unse/page/256/mode/1up|isbn=978-0-88738-800-2|passage=In the terminology associated with this phenomenon, Jach Pursel is known as a "channel"—a vehicle through which "entities" from other planes of existence choose to address human beings. In a more familiar metaphor, Jach is the '''telephone''' through which Lazaris places his long distance calls: very long distance calls.}}
# {{lb|en|countable|historical}}
## {{senseid|en|Q863640}} ''Now chiefly preceded by a [[descriptive#Adjective|descriptive]] [[word#Noun|word]]'': a [[simple#Adjective|simple]] [[communication]] device which converts sounds (usually speech) into [[mechanical#Adjective|mechanical]] vibrations along a [[string#Noun|string]], [[wire#Noun|wire]], etc.
##: {{coi|en|string '''telephone'''    [[tin can telephone|tin can '''telephone''']]}}
##* {{quote-journal|en|year=1832|month=August|title=Art. II.—''The Music of Nature; or An Attempt to Prove that what is Passionate and Pleasing in the Art of Singing, Speaking, and Performing upon Musical Instruments, is Derived from the Sounds of the Animated World. With Curious and Interesting Illustrations.'' By William Gardener. 8vo. pp. 530. London: Longman and Co. 1832. {{quote-gloss|book review}}|journal=[[w:Monthly Review (London)|The Monthly Review]]|location=London|publisher=G. Henderson,{{nb...|2, Old Bailey.}}|volume=II (New and Improved Series)|issue=IV|page=496|pageurl=https://archive.org/details/monthlyreview23wasogoog/page/496/mode/1up|oclc=977712396|passage=If a string of packthread be attached to the stem of a tuning fork, and the other end of the thread be wrapt round the little finger, and placed in the chamber of the ear, the sound of the fork, when made to vibrate, will be heard at the end of the thread, though two hundred yards distant, while it is altogether imperceptible to a bystander. It has been suggested, that telegraphs, or, more properly speaking, '''''telephones''''', might be invented upon this principle. The author states that some such instruments have been already perfected, and are about to be exhibited, but we have as yet heard nothing of them.}}
##* {{quote-book|en|year=2013|author=[[w:John Keane (political theorist)|John Keane]]|chapter=Communicative Abundance|title=Democracy and Media Decadence|location=Cambridge, Cambridgeshire|publisher=w:Cambridge University Press|pages=5–6|pageurl=https://archive.org/details/democracymediade0000kean/page/6/mode/1up|isbn=978-1-107-04177-6|passage=The days are behind us (I recall) when children played with makeshift '''telephones''' made from jam tins connected by string; {{...}}}}
## {{lb|en|archaic}} A [[type#Noun|type]] of [[foghorn#Noun|foghorn]] [[use#Verb|used]] for [[send#Verb|sending]] signals in the [[form#Noun|form]] of [[loud#Adjective|loud]] [[tone#Noun|tones]] or [[musical#Adjective|musical]] [[note#Noun|notes]], especially one [[invent]]ed in the 19th [[century]] by John Taylor, a [[captain#Noun|captain]] in the [[British#Adjective|British]] [[Royal Navy]].
##* {{quote-book|en|year=1899|author=J[ohn] J[oseph] Fahie|chapter=First Period—The Possible|title=A History of Wireless Telegraphy 1838–1899: Including Some Bare-wire Proposals for Subaqueous Telegraphs|location=Edinburgh; London|publisher=[[w:Blackwood (publishing house)|William Blackwood and Sons]]|page=7|pageurl=https://archive.org/details/historyofwireles00fahirich/page/n32/mode/1up|oclc=499612971|passage=It is not easy to say from these passages (which are all we could find on the subject) what plan [[w:Edward Davy|{{quote-gloss|Edward}} Davy]] had in contemplation. In the first quotation he speaks of bells, for which we may read a powerful trumpet at one end, and a concave reflector to focus the sound at the other end; or some arrangement like the compressed-air '''telephone''', proposed by Captain Taylor, R.N., in 1844; {{...}}}}
## {{lb|en|archaic}} A communication device [[consist#Verb|consisting]] of two [[aligned#Adjective|aligned]] [[gutta-percha]] [[speaking tube]]s connected to [[parabolic reflector]]s which [[allow]]s speech [[speak#Verb|spoken]] into one [[tube#Noun|tube]] to be sent through the [[air#Noun|air]] to the other one, invented in the 19th century by the [[British#Adjective|British]] [[engineer#Noun|engineer]] {{w|Francis Whishaw}} (1804–1856); also, a speaking tube of such a device.
##* {{quote-journal|en|date=30 June 1849|title=Gossip from London|editors=[[w:William Chambers (publisher)|William]] and [[w:Robert Chambers (journalist)|Robert Chambers]]|journal=[[w:Chambers's Edinburgh Journal|Chambers’s Edinburgh Journal]]|location=Edinburgh|publisher=William and Robert Chambers; London: [[w:Orr's Circle of the Sciences#William S Orr & Co.|W[illiam] S[omerville] Orr]]|volume=XI|issue=287 (New Series)|page=408|pageurl=https://archive.org/details/chambersedinburg1112cham/page/n419/mode/1up|column=1|oclc=4167154|passage=While on the subject of gutta-percha, a few words may very well be given to Mr. Whishaw's inventions: among these are speaking-tubes, to supersede bells in private houses or offices. So extraordinary are the conducting powers of this new product, that a whisper may can be conveyed to long distances; {{...}} [W]e are, it seems, to be able to speak to a distance without any connecting tube at all; across the inner quadrangle of a building, for instance, by means of large concave gutta-percha reflectors, fixed, one opposite to the other, {{...}} [E]ach reflector would be mounted on a stand similar to that of a theodolite; and thus the portable '''''telephone''''' would be available where the ''telegraph'', as at present arranged, does not admit of application.}}
## {{senseid|en|Q36764}}{{lb|en|archaic}} A [[system]] of communication using musical notes, also known as {{w|Solresol}}, invented in 1828 by the [[French#Adjective|French]] [[composer]] [[w:François Sudre|Jean-François Sudre]] (1787–1862).
##* {{quote-journal|en|year=1841|month=December|title=[Miscellaneous.] Musical Telegraph.|journal=The American Repertory of Arts, Sciences, and Manufactures|location=New York, N.Y.|publisher=W. A. Cox|volume=IV|issue=5|page=375|pageurl=https://archive.org/details/sim_american-repertory-of-arts-science-and-manufactures_1841-12_4_5/page/375/mode/1up|issn=3068-4870|oclc=10012128|passage=We extract from the ''France Musicale'' a few curious particulars relative to the invention of a kind of marine telegraph, called the "'''''Telephone'''''," invented by an ingenious Frenchman, Monsieur Sudre, and by which orders may be transmitted at night, when other means of communication fail. {{...}} A commission {{...}} verified by experiment the rapidity with which all naval commands could be communicated at night through the medium of a clarion, to a distance which may be increased to 2200 toises (about two miles) but which varies according to the state of the atmosphere. {{...}} [T]he return of the same sounds guarantied to M. Sudre the perfect comprehension of his orders, and the Admiral congratulated him on his success.}}
# {{lb|en|uncountable|Canada|US|games}} {{synonym of|en|Chinese whispers|t=a [[game#Noun|game]] for [[several#Adjective|several]] [[player]]s in which a [[phrase#Noun|phrase]], [[whisper#Verb|whispered]] by each person [[in turn]] to their [[neighbour#Noun|neighbour]], is often [[unwittingly]] [[misunderstand|misunderstood]] as it is [[transfer#Verb|transferred]], to [[humorous]] [[effect#Noun|effect]] by the [[time#Noun|time]] it [[reach#Verb|reaches]] the [[last#Adjective|last]] person and is [[compare#Verb|compared]] with the [[original#Adjective|original]] phrase; ({{italic|figurative}}) a [[situation]] where something is [[change#Verb|changed]] or misunderstood [[as a result of]] [[pass#Verb|passing]] through [[successive]] people or [[process#Noun|processes]]}}.
#* {{quote-web|en|date=27 October 2013|author=Erik Adams|title={{w|The Simpsons}} (Classic): ‘{{w|The PTA Disbands}}’|work=w:The A.V. Club|archiveurl=https://web.archive.org/web/20251016040633/https://www.avclub.com/the-simpsons-classic-the-pta-disbands-1798178460|passage=And since the spring of 1995, no game of '''telephone''' has ended without some ''Simpsons''-loving smart-ass dropping "purple monkey dishwasher" into the chain.}}
#* {{quote-journal|en|date=3 October 2017|author=David Dobbs|title=The Touch of Madness|journal=w:Pacific Standard|archiveurl=https://web.archive.org/web/20250823162237/https://psmag.com/magazine/the-touch-of-madness-mental-health-schizophrenia/|location=Santa Barbara, Calif.|publisher=Miller-McCune Center for Research, Media and Public Policy|issue=59|issn=2165-5200|oclc=773195196|passage=[T]he assistant dean of students, having intervened to clear the way for Jones’ return to class, told Jones that {{quote-gloss|Tina}} Chanter had told him that someone had told her that Jones had told someone something that made them think Jones wanted to blow up the philosophy building. {{...}} [B]oth she {{quote-gloss|Azadeh Erfani}} and Jones now wonder whether, in some transmutational chain of retellings among other students, or perhaps even as the word of this hallucination reached Chanter's ears, Jones' vision of puffing away a wall of weak atomic links had morphed into a scarier vision of her blowing a building to pieces with a bomb. {{...}} In other words, {{quote-gloss|Nev}} Jones' career and life may have been derailed because a game of '''telephone''' went bad.}}
==== භාවිත සටහන් ====
Regarding {{senseno|en|Q11035}} (“telecommunication device which converts data or sounds into electrical signals which are then transmitted”), ''telephone'' tends to be used to mean a fixed-line or [[landline]] telephone rather than a [[mobile phone]].<ref name="OED"/>
====Hyponyms====
{{col4|en
|answerphone
|candlestick telephone
|cellular telephone
|cordless telephone
|daffodil telephone
|field telephone
|French telephone
|magnetotelephone
|mobile telephone
|monotelephone
|pantelephone
|pedestal telephone
|pillar telephone
|portable telephone
|public telephone
|radiotelephone,radio-telephone,radio telephone
|satellite telephone
|tin can telephone
|videotelephone
}}
==== ව්යුත්පන්න යෙදුම් ====
{{col4|en
|antitelephone
|big white telephone
|broken telephone
|Einstein-Podolsky-Rosen telephone
|EPR telephone
|Everett-Wheeler telephone
|on the telephone
|phone<pos:n>
|plain old telephone service
|post office telephone system
|premium-rate telephone number
|pretelephone
|talk to God on the big white telephone
|talk to Ralph on the big white telephone
|telco
|telemarketing
|telephonable
|telephone alphabet
|telephone answering machine
|telephone-bell
|telephone book
|telephone booth
|telephone box
|telephone call
|telephone card
|telephone conference
|telephone desk
|telephone directory
|telephone exchange
|telephone game
|telephone girl
|telephone jack
|telephone kiosk
|telephoneless
|telephonelike
|telephone line
|telephone number
|telephone operator
|telephone pole
|telephone ring
|telephone scatologia
|telephone sex
|telephone shower
|telephone tag
|telephone typewriter
|telephonic
|telephonicate
|telephonist
|telephonitis
|telephonology
|telephonophile
|telephonophobia
|telephonophobic
|telephony
|telethon
|thermotelephone
|Tucker telephone
|untelephoned
|white-telephone,white telephone
}}
==== පරිවර්තන ====
{{trans-top|telecommunication device which converts data or sounds into electrical signals which are then transmitted to enable two or more people to communicate with each other over a distance}}
* Abkhaz: {{t|ab|ателефон}}
* Afrikaans: {{t+|af|telefoon}}
* Alabama: {{t|akz|maanaaɬihilka}}, {{t|akz|masnaaɬiilka}}, {{t|akz|naaɬiikapalki}} {{qualifier|old}}
* Albanian: {{t+|sq|telefon|m}}
* Amharic: {{t|am|ስልክ|?}}, {{t|am|ቴሌፎን|?}}
* Arabic: {{t+|ar|هَاتِف|m}}, {{t+|ar|تِلِفون|m|tr=telefōn}}
*: Egyptian Arabic: {{t|arz|تليفون|m|tr=telefōn}}
*: Hijazi Arabic: {{t|acw|تِلِفون|m|tr=tilifōn}}
*: Moroccan Arabic: {{t|ary|تلفون|m|tr=tilifūn}}, {{t|ary|تليفون|m|tr=tilīfūn}}
* Aramaic:
*: Assyrian Neo-Aramaic: {{t|aii|ܚܘܼܛܵܡܲܠܵܠܵܐ|tr=ḵuṭāmalālā}}, {{t|aii|ܬܸܠܸܦ̮ܘܿܢ|tr=tilifon}}
* Armenian: {{t+|hy|հեռախոս}}
* Assamese: {{t|as|টেলিফোন}}
* Assiniboine: {{t|asb|masʾápabi}}
* Asturian: {{t+|ast|teléfonu|m}}
* Atayal: {{t|tay|renwa'}}
* Azerbaijani:
*: Arabic: {{t|az|تلفون|tr=talfun, telfun, telifon}}
*: Latin: {{t+|az|telefon}}
* Bashkir: {{t|ba|телефон}}
* Basque: {{t|eu|telefono}}
* Belarusian: {{t|be|тэлефо́н|m}}
* Bengali: {{t+|bn|দূরভাষা}}, {{t+|bn|ফোন}}, {{t+|bn|টেলিফোন}}
* Bouyei: {{t|pcc|dianqhuaq}}
* Breton: {{t+|br|pellgomz|m}}
* Bulgarian: {{t|bg|телефо́н|m}}
* Burmese: {{t+|my|တယ်လီဖုန်း}}, {{t+|my|ဖုန်း}}, {{t+|my|စကားပြောကြေးနန်း}}
* Buryat: {{t|bua|телефон}}
* Carpathian Rusyn: {{t|rue|телефо́н|m}}
* Catalan: {{t+|ca|telèfon|m}}
* Cebuano: {{t|ceb|telepono}}
* Chechen: {{t|ce|телефон}}
* Cherokee: {{t|chr|ᎠᎾᎦᎵᏍᎩ ᎠᏏᎳᏛ}}, {{t|chr|ᏗᎵᏃᎮᏗ}}
* Cheyenne: {{t|chy|aseéestsestôtse}}
* Chinese:
*: Cantonese: {{t|yue|電話}}
*: Dungan: {{t|dng|дянхуа}}, {{t|dng|телефон}}
*: Eastern Min: {{t|cdo|電話}}
*: Hakka: {{t|hak|電話|tr=thien-fa}}
*: Hokkien: {{t+|nan-hbl|電話|tr=tiān-ōe}}
*: Jin: {{t|cjy|電話}}
*: Mandarin: {{t+|cmn|電話}}
*: Wu: {{t|wuu|電話}}
* Chukchi: {{t|ckt|вэтгавъёԓгын|tr=vėtgavʺjoḷgyn}}
* Chuvash: {{t|cv|телефон}}
* Comox: {{t|coo|sqʷay}}
* Corsican: {{t|co|telefonu|m}}
* Cree:
*: Plains Cree: {{t|crk|ᓭᐁᐧᐱᒋᑲᐣ|tr=sewepicikan}}, {{t|crk|ᐊᔭᒫᑲᐣ|tr=ayamâkan}}
*: Southern East Cree: {{t|crj|ᑖᐦᑳᐱᐦᒉᓂᑲᓐ}}
* Crimean Tatar: {{t|crh|telefon}}
* Czech: {{t+|cs|telefon|m}}
* Danish: {{t+|da|telefon|c}}
* Dusun:
*: Central Dusun: {{t|dtp|telefon}}
* Dutch: {{t+|nl|telefoon|m}}, {{t|nl|beltoestel|n}}
* Esperanto: {{t+|eo|telefono}}
* Estonian: {{t+|et|telefon}}
* Faroese: {{t|fo|telefon|f}}
* Finnish: {{t+|fi|puhelin}}
* French: {{t+|fr|téléphone|m}}
* Frisian:
*: West Frisian: {{t|fy|telefoan|m}}, {{t|fy|tillefoan|m}}
* Friulian: {{t|fur|telefon|?}}
* Fula:
*: Adlam: {{t|ff|𞤼𞤢𞤤𞤭𞤬𞤮𞤲}}
*: Latin: {{t|ff|talifon}}
* Galician: {{t+|gl|teléfono|m}}
* Georgian: {{t|ka|ტელეფონი}}
* German: {{t+|de|Telefon|n}}, {{t+|de|Telephon|n}} {{qualifier|dated}}, {{t+|de|Fernsprecher|m}} {{qualifier|dated}}, {{t+|de|Fon|n}} {{q|rare}}
*: Central Franconian: {{t|gmw-cfr|Fäänshpräscho|?}}
* Greek: {{t+|el|τηλέφωνο|n}}
* Greenlandic: {{t|kl|oqarasuaat}}
* Guarani:
*: Paraguayan Guarani: {{t-check|gug|pumbyry}}, {{t-check|gug|mombyñe'ẽporu}}, {{t-check|gug|ñe'ẽmbyry}}
* Gujarati: {{t|gu|દૂરબોલ|?}}, {{t|gu|ટેલિફોન|?}}, {{t|gu|દૂરભાષ|?}}
* Haitian Creole: {{t|ht|telefòn}}
* Hawaiian: {{t|haw|kelepona}}
* Hebrew: {{t+|he|טֶלֶפוֹן|m|tr=télefon}}
* Hindi: {{t+|hi|दूरभाष|m}}, {{t|hi|टेलीफ़ोन|m}}, {{t|hi|फ़ोन|m}}, {{t+|hi|टेलिफोन|m}}, {{t+|hi|फोन|m}}
* Hungarian: {{t+|hu|telefon}}, {{t+|hu|távbeszélő}}
* Icelandic: {{t+|is|sími|m}}
* Ido: {{t+|io|telefonilo}}
* Indonesian: {{t+|id|telepon}}, {{t+|id|telefon}}
* Ingrian: {{t|izh|telefona}}
* Inuktitut: {{t|iu|uqaalaut}}
* Irish: {{t|ga|teileafón|m}}, {{t+|ga|guthán|m}}, {{t|ga|fón|m}}
* Italian: {{t+|it|telefono|m}}
* Japanese: {{t+|ja|電話|tr=でんわ, denwa}}
* Kalmyk: {{t|xal|утцн}}
* Kannada: {{t+|kn|ದೂರವಾಣಿ}}, {{t+|kn|ಗೆಂಟುಮಾತು}}
* Kapampangan: {{t|pam|teleponu}}
* Kazakh: {{t+|kk|телефон}}
* Khmer: {{t+|km|ទូរស័ព្ទ}}, {{t|km|តេឡេហ្វូន}}
* Korean: {{t+|ko|전화(電話)}}
* Kurdish:
*: Central Kurdish: {{t|ckb|تهلهفۆن}}
*: Northern Kurdish: {{t+|kmr|telefon|f}}
* Kyrgyz: {{t+|ky|телефон}}
* Lakota: {{t|lkt|omásʼapȟe}}
* Lao: {{t+|lo|ໂທລະສັບ}}, {{t|lo|ໂທຣະສັບ}}, {{t|lo|ເຕເລໂຟນ}}
* Latin: {{q|New}} {{t|la|tēlephōnum|n}}, {{t|la|tēlephōnium|n}}
* Latvian: {{t|lv|telefons|m}}, {{t+|lv|tālrunis|m}}
* Lingala: {{t|ln|ebengeli}}
* Lithuanian: {{t+|lt|telefonas|m}}
* Lü: {{t|khb|ᦶᦎᧃᧈᦧᦱᧈ}}
* Macedonian: {{t+|mk|телефо́н|m}}
* Malagasy: {{t+|mg|telefaonina}}
* Malay: {{t+|ms|telefon}}
*: Brunei Malay: {{t|kxd|talipun}}
* Malayalam: {{t+|ml|ടെലിഫോൺ}}, {{t|ml|ദൂരശ്രാവി}}
* Malecite-Passamaquoddy: {{t|pqm|mattoktihikon}}
* Maltese: {{t|mt|telefon|m}}, {{t|mt|telefown|m}}
* Manx: {{t|gv|çhellvane|m}}
* Māori: {{t|mi|waea}}, {{t|mi|whoounu}}, {{t|mi|waeakōrero}}, {{t|mi|terepōno}} {{qualifier|obsolete}}, {{t|mi|terewhōno}} {{qualifier|obsolete}}
* Marathi: {{t|mr|टेलीफोन|?}}, {{t|mr|फोन|m}}, {{t|mr|दूरध्वनी|?}}
* Minjungbal: {{t|xjb|gulgun biral}}
* Mongolian:
*: Cyrillic: {{t+|mn|утас}}, {{t+|mn|телефон}}, {{t|mn|дянхуа}}
*: Mongolian script: {{t|mn|ᠤᠲᠠᠰᠤ}}, {{t|mn|ᠲ᠋ᠧᠯᠧᠹᠣᠨ}}, {{t|mn|ᠳ᠋ᠢᠶᠠᠩᠬᠤᠸᠠ}}
* Naga:
*: Khiamniungan Naga: {{t|kix|nyūthī}}
* Nahuatl: {{t|nah|mekatlanonotski}}, {{t|nah|huehcacaquiztli}}
* Navajo: {{t|nv|béésh bee haneʼé}}
* Nepali: {{t|ne|टेलिफोन}}
* Norman: {{t|nrf|téléphône|m}}
* Norwegian:
*: Bokmål: {{t+|nb|telefon|m}}
*: Nynorsk: {{t|nn|telefon|m}}
* Occitan: {{t+|oc|telefòn|m}}
* Odia: {{t+|or|ଟେଲିଫୋନ}}
* Ojibwe: {{t|oj|giigidowin}}
* Oromo: {{t|om|bilbila}}
* Pannonian Rusyn: {{t|rsk|телефон|m}}
* Papiamentu: {{t|pap|telefón}}
* Pashto: {{t+|ps|تيلفون|m|tr=telefun}}
* Pawnee: {{t|paw|rarácawakataku}}
* Pennsylvania German: {{t|pdc|Faernschwetzer|m}}
* Persian:
*: Dari: {{t|prs|تیلِفون}}, {{t|prs|فون}}
*: Iranian Persian: {{t|fa-ira|تِلِفُن}}
* Pitcairn-Norfolk: {{t|pih|foen}}
* Plautdietsch: {{t|pdt|Tellefoon|n}}
* Polish: {{t+|pl|telefon|m}}
* Portuguese: {{t+|pt|telefone|m}}
* Punjabi: {{t|pa|ਟੈਲੀਫ਼ੋਨ|m}}, {{t|pa|ਫ਼ੋਨ|m}}
* Quechua: {{t|qu|karu rimay}}
* Romanian: {{t+|ro|telefon|n}}
* Romansh: {{t|rm|telefon|m}}
* Russian: {{t+|ru|телефо́н|m}}
* Sami:
*: Northern Sami: {{t|se|telefovdna}}
* Samoan: {{t+|sm|telefoni}}
* Sanskrit: {{t|sa|दूरभाषा|f}}, {{t|sa|दूरवाणी|f}}
* Sardinian: {{t|sc|telèfonu|m}}
* Scots: {{t|sco|telephone}}
* Scottish Gaelic: {{t|gd|fòn|f}}, {{t|gd|cian-fhuaim|m}}
* Serbo-Croatian:
*: Cyrillic: {{t|sh|телѐфо̄н|m}}
*: Latin: {{t+|sh|telèfōn|m}}
* Shan: {{t|shn|တႄႇလီႇၾူၼ်း}}
* Shona: {{t|sn|runhare}}
* Sicilian: {{t+|scn|tilèfunu|m}}, {{t+|scn|telèfunu|m}}, {{t|scn|talèfunu|m}}
* Sindhi: {{t+|sd|ڏور وايو|alt=ڏُور وايو}}
* Sinhalese: {{t|si|බණුව}}, {{t|si|දුරකථනය}}
* Slovak: {{t|sk|telefón|m}}
* Slovene: {{t+|sl|telefon|m}}
* Spanish: {{t+|es|teléfono|m}}
* Sranan Tongo: {{t|srn|teilefown}}, {{t|srn|konkrutitei}}, {{t|srn|gengen}}
* Swahili: {{t+|sw|simu}}
* Swedish: {{t+|sv|telefon|c}}
* Tagalog: {{t+|tl|telepono}}, {{t+|tl|hatinig}}
* Tahitian: {{t|ty|niuniu paraparau}}
* Tajik: {{t+|tg|телефон}}
* Tamil: {{t+|ta|தொலைபேசி}}, {{t|ta|ஃபோன்}}, {{t|ta|டெலிஃபோன்}}
* Tatar: {{t|tt|телефон}}
* Telugu: {{t+|te|దూరవాణి}}, {{t|te|టెలీఫోను}}, {{t|te|ఫోను}}
* Thai: {{t+|th|โทรศัพท์}}
* Tibetan: {{t|bo|ཁ་པར}}, {{t|bo|ཞལ་པར}} {{qualifier|honorific}}
* Tigrinya: {{t|ti|ተለፎን|?}}, {{t|ti|ስልኪ|?}}
* Tok Pisin: {{t|tpi|telipon}}
* Turkish: {{t+|tr|telefon}}, {{t|tr|alısün}}
*: Ottoman Turkish: {{t|ota|تلفون|tr=téléfon}}, {{t|ota|دور شنید|tr=dūr-şenīd}}
* Turkmen: {{t|tk|telefon}}
* Ukrainian: {{t+|uk|телефо́н|m}}
* Unami: {{t|unm|sëkahsën}}
* Urdu: {{t|ur|ٹیلی فون|m}}, {{t|ur|ہاتِف|f}}, {{t|ur|فون|m}}, {{t|ur|دور گو|tr=dūr-go}}
* Uyghur: {{t+|ug|تېلېفون}}
* Uzbek: {{t+|uz|telefon}}
* Venda: {{t|ve|luṱingo}}
* Vietnamese: {{t+|vi|điện thoại}} ({{t|vi|電話}}), {{t|vi|dây nói}}, {{t+|vi|phôn}} {{qualifier|informal}}
* Volapük: {{t+|vo|telefonöm}}, {{qualifier|complete unit}} {{t+|vo|telefonaparat}}
* Walloon: {{t+|wa|telefone|m}}, {{t|wa|tèlèfone|m}}
* Welsh: {{t+|cy|teleffon|m}}, {{t+|cy|ffôn|m}}
* West Flemish: {{t|vls|telefoeng|m}}, {{t|vls|teelefoeng|m}}
* Xhosa: {{t|xh|umnxeba}}
* Yakut: {{t|sah|телефон}}
* Yami: {{t|tao|dingwa}}
* Yiddish: {{t|yi|טעלעפֿאָן|n}}
* Yup'ik: {{t|esu|qanercuun}}
* Yurok: {{t|yur|'o chweeegeen}}
* Zhuang: {{t|za|denva}}
* Zulu: {{t+|zu|ucingo}}
{{trans-bottom}}
{{trans-see|''synonym of'' telephone call|telephone call}}
{{trans-top|means of communicating information from one person to another or others}}
* Finnish: {{t+|fi|kanava}}, {{t+|fi|puhelin}}
* French: {{t-needed|fr}}
{{trans-bottom}}
{{trans-top|simple communication device which converts sounds into mechanical vibrations along a string, wire, etc.}}
* Finnish: {{t+|fi|puhelin}}
* French: {{t-needed|fr}}
{{trans-bottom}}
{{trans-top|type of foghorn used for sending signals in the form of loud tones or musical notes}}
* Finnish: {{t+|fi|sumutorvi}}
* French: {{t-needed|fr}}
{{trans-bottom}}
{{trans-top|communication device consisting of two aligned gutta-percha speaking tubes}}
* Finnish: {{t+|fi|puhelin}}
* French: {{t-needed|fr}}
{{trans-bottom}}
{{trans-top|system of communication using musical notes}}
* Finnish: {{t+|fi|säveltapailu}}
* French: {{t-needed|fr}}
{{trans-bottom}}
{{trans-see|''synonym of'' Chinese whispers|Chinese whispers}}
=== ක්රියා පදය ===
{{en-verb}}
# {{lb|en|transitive}}
## To [[convey]] ([[information]], a [[message#Noun|message]], [[news#Noun|news]], etc.) [[use#Verb|using]] a [[telephone#Noun|telephone]] ''({{senseno|en|Q11035}})''.
##* {{RQ:Robert Byron Europe|chapter=V|page=31|passage=David '''telephoned''' his apologies to his mother. On the way we had had our first puncture, and had taken some time to change the wheel, as we were unable to find the jack.}}
##* {{quote-book|en|year=1961|author=w:Xavier Herbert|title=Soldiers’ Women|location=Sydney, N.S.W.|publisher=[[w:Angus & Robertson|Angus and Robertson]]|page=395|oclc=4482528|passage=He '''telephoned''' what he knew to his chief, the information such as to cause the smug complacency of that gentlemen in his henchman's prowess to vanish from his expression, {{...}}}}
## To ([[attempt#Verb|attempt]] to) [[contact#Verb|contact]] (someone) using a telephone.
##: {{syn|en|call#Verb|call up#Verb|drop someone a line<alt:drop (someone) a line>|ring#Verb<q:chiefly Commonwealth>|ring up<q:chiefly Commonwealth>|phone#Verb|Thesaurus:telephone}}
##: {{hypo|en|call back#Verb|retelephone#Verb}}
##* {{quote-journal|en|year=1961|month=November|title=Talking of Trains: Derailment near Holmes Chapel|journal=[[w:Modern Railways|Trains Illustrated]]|location=London|publisher=w:Ian Allan Publishing|page=652|issn=0141-9935|oclc=35845948|passage=The length ganger saw the train passing with the van derailed and promptly '''telephoned''' the Sandbach signalman, who restored his signals to danger, but not in time to stop the train before the final derailment occurred.}}
## {{lb|en|obsolete}}
### To [[provide]] (a [[place#Noun|place]]) with a telephone [[system]].
###* {{quote-journal|en|date=14 December 1901|author=J. Williams Benn|title=The Telephone Deal|journal=[[w:The Speaker (periodical)|The Speaker: The Liberal Review]]|location=London; Paris|publisher=[[w:Cassell (publisher)|Cassell and Co.]],{{nb...|Ltd., London, Paris, New York, and Melbourne.}}|volume=V (New Series)|issue=115|page=296|pageurl=https://archive.org/details/sim_speaker-the-liberal-review_1901-12-14_5_115/page/296/mode/1up|column=1|oclc=1566794713|passage=The London County Council prepared careful estimates for '''telephoning''' London in 1898, and those estimates were submitted to Parliament. It contended that it could provide a telephone service for the County Council area of London at £38 per subscriber capital outlay, after setting aside the necessary funds for the debt charge and after paying the Post Office the 10 per cent. royalty.}}
### To [[transmit]] ([[sound#Noun|sounds]]) over a [[distance#Noun|distance]].
###* {{RQ:Lawrence Birds|poem=Bare Almond-trees|stanza=3|page=44|passage=Do you hear the chemical accents of the sun? / Do you '''telephone''' the roar of the waters over the earth?}}
# {{lb|en|intransitive}} To (attempt to) contact someone using a telephone; to [[make#Verb|make]] a [[telephone call]].
#* {{RQ:Barr Stranleigh Abroad|page=139|passage=I came down like a wolf on the fold, didn't I? Why didn't I '''telephone'''? Strategy, my dear boy, strategy. This is a surprise attack, and I'd no wish that the garrison, forewarned, should escape.}}
#* {{quote-journal|en|year=1944|month=July–August|title=Top Link Drivers: XXI—Driver H. Blunt, L.N.E.R.|journal=w:The Railway Magazine|location=London|publisher=Tothill Press|page=226|issn=0033-8923|oclc=1256058197|passage=Having completed their task, Fireman Page '''telephoned''' from a lineside box to the next signal cabin, briefly reported the incident and said that, as no high explosive had dropped and the track was safe, they proposed proceeding "at caution".}}
#* {{quote-book|en|year=1971|author=w:Martin Nordegg|chapter=Convincing a European Expert|editor=T. D. Regehr|title=The Possibilities of Canada are Truly Great: Memoirs 1906–1924|location=Toronto, Ont.|publisher=[[w:Macmillan Publishers|Macmillan of Canada]]|page=89|pageurl=https://archive.org/details/possibilitiesofc0000nord/page/89/mode/1up|oclc=427669|passage=The only chance we had was to '''telephone''' to the manager of the hotel in Calgary to send two bottles of Scotch without fail by the next train leaving Calgary for the west.}}
==== ව්යුත්පන්න යෙදුම් ====
{{col3|en
|phone<pos:v>
|retelephone
|telephonable
|telephoned<pos:a>
|telephoner
|telephoning<pos:n>
}}
==== පරිවර්තන ====
{{trans-top|(''transitive'') to convey (information, a message, news, etc.) using a telephone}}
* Finnish: {{t|fi|[[välittää]] [[puhelimitse]]}}
* French: {{t-needed|fr}}
{{trans-bottom}}
{{trans-top|(''transitive'') to (attempt to) contact (someone) using a telephone; (''intransitive'') to (attempt to) contact someone using a telephone}}
* Albanian: {{t+|sq|telefonoj}}
* Arabic: {{t|ar|تَلْفَنَ}} ({{lang|ar|[[ل|لـِ]]}} {{q|li-}} )
* Armenian: {{t+|hy|զանգել}}, {{t+|hy|զանգահարել}}, {{t+|hy|հեռաձայնել}} {{qualifier|Western Armenian}}
* Azerbaijani: {{t|az|zəng etmək}}, {{t|az|zəng vurmaq}}
* Belarusian: {{t|be|тэлефанава́ць|impf}}, {{t|be|патэлефанава́ць|pf}}, {{t|be|звані́ць|impf}}, {{t|be|пазвані́ць|pf}}
* Bengali: {{t|bn|টেলিফোন করা}}
* Breton: {{t+|br|pellgomz}}
* Bulgarian: {{t+|bg|телефони́рам|impf|pf}}, {{t+|bg|обаждам|impf|alt=оба́ждам се}}, {{t+|bg|обадя|pf|alt=оба́дя се}}
* Burmese: {{t|my|[[ဖုန်း]][[ဆက်]]}}
* Catalan: {{t+|ca|telefonar}}, {{t+|ca|cridar}}, {{t+|ca|trucar}}
* Cherokee: {{t|chr|ᎦᎸᏛᏂᎭ}}
* Chinese:
*: Mandarin: {{t+|cmn|打電話}}
* Crimean Tatar: {{t|crh|telefon etmek}}
* Czech: {{t+|cs|telefonovat|impf}}, {{t|cs|zatelefonovat|pf}}, {{t+|cs|volat|impf}}, {{t+|cs|zavolat|pf}}
* Danish: {{t+|da|ringe}}, {{t+|da|telefonere}}
* Dutch: {{t+|nl|telefoneren}}, {{t+|nl|bellen}}, {{t+|nl|opbellen}}
* Esperanto: {{t+|eo|telefoni}}, {{t|eo|alvoki}}
* Estonian: {{t+|et|helistama}}
* Finnish: {{t|fi|[[soittaa]] (puhelimella)}}
* French: {{t+|fr|téléphoner}}, {{t+|fr|appeler}}
* Galician: {{t+|gl|telefonar}}
* Georgian: {{t|ka|დარეკვა}}
* German: {{t+|de|telefonieren}}, {{t+|de|anrufen}}
* Greek: {{t+|el|τηλεφωνώ}}, {{t+|el|καλώ}}
* Hebrew: {{t+|he|צלצל|tr=tsiltsél|alt=צילצל \ צִלְצֵל}}
* Hindi: {{t|hi|फ़ोन करना}}
* Hungarian: {{t+|hu|telefonál}}
* Icelandic: {{t+|is|hringja}}, {{t|is|hringja í}}
* Ido: {{t+|io|telefonar}}
* Indonesian: {{t+|id|menelepon}}, {{t+|id|memanggil}}
* Italian: {{t+|it|telefonare}}
* Japanese: {{t+|ja|電話をかける|tr=でんわをかける, denwa o kakeru}}, {{t+|ja|電話|tr=でんわする, denwa suru|alt=電話する}}
* Kazakh: {{t|kk|телефон соғу}}, {{t|kk|қоңырау шалу}}
* Khmer: {{t|km|[[និយាយ]][[ទូរសព្ទ]]|tr=niyiəy tuurĕəʼsap}}
* Korean: {{t|ko|전화를 걸다}}, {{t+|ko|전화하다}}
* Kurdish:
*: Northern Kurdish: {{t+|kmr|telefon kirin}}
* Kyrgyz: {{t|ky|шыңгыратуу}}
* Lao: {{t|lo|ຕີເຕເລໂຟນ}}
* Latvian: {{t|lv|telefonēt}}, {{t|lv|piezvanīt}}, {{t|lv|zvanīt}}
* Lithuanian: {{t|lt|telefonuoti}}, {{t|lt|skambinti}}
* Macedonian: {{t|mk|телефони́ра|impf|pf}}, {{t|mk|ѕвони|impf}}, {{t|mk|заѕвони|pf}}
* Malay: {{t|ms|menelefon}}, {{t|ms|memanggil}}
* Maltese: {{t|mt|ċempel|m}}
* Māori: {{t|mi|rīngi}}, {{t|mi|waea}}
* Mongolian:
*: Cyrillic: {{t+|mn|утасдах}}
* Norwegian:
*: Bokmål: {{t+|nb|ringe}}
*: Nynorsk: {{t-needed|nn}}
* Pashto: {{t|ps|تېلېفون کول|tr=telefǔn kawël}}
* Persian: , {{t+|fa|تلفن کردن|tr=telefon kardan}}, {{t+|fa|تلفن زدن|tr=telefon zadan}}, {{t|fa|دورواژیدن|tr=durvâžidan}}, {{t+|fa|زنگ زدن|tr=zang zadań}}
* Polish: {{t+|pl|telefonować|impf}}, {{t+|pl|zatelefonować|pf}}, {{t+|pl|dzwonić|impf}}, {{t+|pl|zadzwonić|pf}}
* Portuguese: {{t+|pt|telefonar}}, {{t+|pt|ligar}}
* Romanian: {{t+|ro|telefona|alt=a telefona}}
* Romansh: {{t|rm|telefonar}}
* Russian: {{t+|ru|телефони́ровать|impf|pf}} {{qualifier|rare}}, {{t+|ru|звони́ть|impf}}, {{t|ru|[[позвони́ть]] по [[телефон|телефо́ну]]|pf}}
* Scottish Gaelic: {{t|gd|fòn}}
* Serbo-Croatian:
*: Cyrillic: {{t|sh|телефони́рати|impf|pf}}, {{t|sh|[[назвати]] [[на]] [[телефон]]|pf}}
*: Latin: {{t+|sh|telefonírati|impf|pf}}, {{t|sh|[[nazvati]] [[na]] [[telefon]]|pf}}
* Slovak: {{t|sk|telefonovať|impf}}, {{t|sk|zatelefonovať|pf}}, {{t|sk|volať|impf}}, {{t|sk|zavolať|pf}}
* Slovene: {{t|sl|telefonirati|impf|pf}}
* Spanish: {{t+|es|telefonear}}, {{t+|es|llamar|alt=llamar por teléfono}}
* Sranan Tongo: {{t|srn|bèl}}, {{t|srn|kari}}, {{t|srn|naki wan konkrutitei}}, {{t|srn|naki wan gengen}}
* Swahili: {{t|sw|piga simu}}
* Swedish: {{t+|sv|telefonera}}, {{t+|sv|ringa}}
* Tajik: {{t|tg|телефон кардан}}
* Thai: {{t+|th|โทร|tr=too}}, {{t+|th|โทรศัพท์}}
* Tibetan: {{t|bo|ཁ་དཔར་གཏོང་བ}}
* Turkish: {{t+|tr|telefon etmek}}, {{t+|tr|telefonlamak}}, {{t+|tr|aramak}}
* Ukrainian: {{t+|uk|телефонува́ти|impf}}, {{t|uk|зателефонува́ти|pf}}, {{t|uk|дзвони́ти|impf}}, {{t|uk|подзвони́ти|pf}}
* Urdu: {{t|ur|فون کرنا|tr=fon karnā}}, {{t|ur|ملانا|tr=milānā}}
* Uyghur: {{t|ug|تېلېفون بەرمەك}}
* Uzbek: {{t|uz|telefon qilmoq}}, {{t|uz|qoʻngʻiroq qilmoq}}
* Vietnamese: {{t+|vi|phôn}}, {{t+|vi|điện}}, {{t+|vi|điện thoại}}, {{t|vi|gọi điện}}, {{t|vi|gọi điện thoại}}, {{t|vi|kêu điện thoại}}
* Volapük: {{t+|vo|telefonön}}
* Yiddish: {{t|yi|טעלעפֿאָנירן}}
{{trans-bottom}}
=== මූලාශ්ර ===
<references/>
=== වැඩිදුර් කියවීම සඳහා ===
* {{pedia}}
===Anagrams===
* {{anagrams|en|a=eeehlnopt|phenetole}}
0xnybqxc2dicbwcdzmc5q6uvr7bb3cd
234051
234049
2026-05-15T03:37:02Z
Lee
19
234051
wikitext
text/x-wiki
{{also|Telephone|téléphone|téléphoné|téléphône}}
== ඉංග්රීසි ==
{{was wotd|2026|March|10}}
{{multiple images
|image1 = Dialog gr 1972.jpg
|caption1 = A [[rotary dial|rotary-dial]] telephone ''({{senseno|en|Q11035}})''.
|image2 = Hand-smartphone-technology-calling.jpg
|caption2 = A [[mobile telephone]] ''({{senseno|en|Q11035}})'' or [[mobile phone]].
|image3 = Fig 7 Le Telephone by T du Moncel Paris 1880 (Large).jpg
|caption3 = An 1880 drawing of a [[tin can telephone]] ''({{senseno|en|Q863640}})''.
}}
=== නිරුක්තිය ===
{{etymon|en|:bor|fr:téléphone<id:telephone>|id=device}}
The {{lg|noun}} is derived from {{affix|en|tele-|pos1={{lg|prefix}} meaning ‘from a distance’|-phone|pos2={{lg|suffix}} denoting a device which makes a sound}}, modelled after {{cog|de|Telephon|t=early apparatus converting sound into electrical signals}} {{qualifier|dated}} (now {{cog|de|Telefon}}).<ref name="OED">{{R:OED Online|pos=n|id=2015603579|date=September 2025|nodot=1}}; {{R:Lexico|pos=n}}</ref> The word was first used to refer to the modern device in 1876 by the Scottish-born Canadian-American engineer {{w|Alexander Graham Bell}} (1847–1922).
The prefix {{m|en||tele-}} is ultimately derived from {{der|en|grc|τῆλε|t=afar, far away, far off}}, from {{der|en|ine-pro|*kʷelh₁-|t=to turn end-over-end; to revolve around; hence, to dwell, sojourn}}.<ref>{{R:OED Online|entry=tele-|pos=''comb. form''|noformat=1|id=3978633267|date=December 2025|nodot=1}}; {{R:Lexico|entry=tele-}}</ref> The suffix {{m|en||-phone}} is ultimately from {{der|en|grc|φωνή|t=sound; voice}},<ref>{{R:OED Online|entry=-phone|pos=''comb. form''|noformat=1|id=2891556446|date=December 2024|nodot=1}}; {{R:Lexico|entry=-phone}}</ref> and {{der|en|ine-pro|*bʰeh₂-|t=to say; to speak}}.
{{senseno|en|Q36764|uc=1}} (“system of communication using musical notes”) is borrowed from {{bor|en|fr|téléphone|t=kind of megaphone; system of communication using musical notes}}.<ref name="OED"/>
The {{lg|verb}} is derived from the noun.<ref>{{R:OED Online|pos=v|id=1448846986|date=September 2025|nodot=1}}; {{R:Lexico|pos=v}}</ref>
=== උච්චාරණය ===
* {{IPA|en|/ˈtɛlɪfəʊn/|a=RP}}
* {{IPA|en|/ˈtɛləˌfoʊn/|[ˈtɛɫ-]|a=GA}}
** {{audio|en|En-us-telephone.ogg|a=GA}}
* {{IPA|en|[ˈteɫəˌfəʉn]|a=AU}}
* {{IPA|en|[ˈteɫəˌfɐʉn]|a=NZ}}
* {{IPA|en|/ˈtɛlɪfon/|a=Scotland}}
* {{IPA|en|/ˈtɛlɪfoːn/|a=Wales,non-toe-tow}}
* {{hyphenation|en|tel|e|phone}}
=== නාම පදය ===
{{en-noun|~}}
# {{senseid|en|Q11035}}{{lb|en|countable|telephony}} [[තෙලබණුව]]
#: {{syn|en|Ameche<q:US, slang, dated>|blower<q:slang>|dog and bone<q:slang>|horn<q:informal>|phone|pipe<q:slang>|Thesaurus:phone}}
#: {{hypo|en|cellphone|;|cordless phone|cordless telephone|;|mobile phone|mobile telephone|;|payphone|;|satellite phone|satellite telephone}}
#* {{quote-journal|en|year='''1876''' May 10 (date delivered)|author=[[w:Alexander Graham Bell|A[lexander] Graham Bell]]|title=Researches in Telephony|journal=[[w:Daedalus (journal)|Proceedings of the American Academy of Arts and Sciences]]|location=Boston, Mass.|publisher=Press of John Wilson and Son|year_published=1877|volume=IV (New Series; volume XII overall)|pages=7–8|pageurl=https://archive.org/details/proceedingsofame12amer/page/7/mode/1up|issn=0199-9818|oclc=835587818|passage=The '''telephones''' so constructed were placed in different rooms. {{...}} Upon singing into the '''telephone''', the tones of the voice were reproduced by the instrument in the distant room. When two persons sang simultaneously into the instrument, two notes were emitted simultaneously by the '''telephone''' in the other house. {{...}} I placed the membrane of the '''telephone''' near my mouth, and uttered the sentence, "Do you understand what I say?" Presently an answer was returned through the instrument in my hand. Articular words proceeded from the clock-spring attached to the membrane, and I heard the sentence, "Yes; I understand you perfectly."}}
==== භාවිත සටහන් ====
Regarding {{senseno|en|Q11035}} (“telecommunication device which converts data or sounds into electrical signals which are then transmitted”), ''telephone'' tends to be used to mean a fixed-line or [[landline]] telephone rather than a [[mobile phone]].<ref name="OED"/>
=== ක්රියා පදය ===
{{en-verb}}
# {{lb|en|transitive}}
## To [[convey]] ([[information]], a [[message#Noun|message]], [[news#Noun|news]], etc.) [[use#Verb|using]] a [[telephone#Noun|telephone]] ''({{senseno|en|Q11035}})''.
##* {{RQ:Robert Byron Europe|chapter=V|page=31|passage=David '''telephoned''' his apologies to his mother. On the way we had had our first puncture, and had taken some time to change the wheel, as we were unable to find the jack.}}
##* {{quote-book|en|year=1961|author=w:Xavier Herbert|title=Soldiers’ Women|location=Sydney, N.S.W.|publisher=[[w:Angus & Robertson|Angus and Robertson]]|page=395|oclc=4482528|passage=He '''telephoned''' what he knew to his chief, the information such as to cause the smug complacency of that gentlemen in his henchman's prowess to vanish from his expression, {{...}}}}
## To ([[attempt#Verb|attempt]] to) [[contact#Verb|contact]] (someone) using a telephone.
##: {{syn|en|call#Verb|call up#Verb|drop someone a line<alt:drop (someone) a line>|ring#Verb<q:chiefly Commonwealth>|ring up<q:chiefly Commonwealth>|phone#Verb|Thesaurus:telephone}}
##: {{hypo|en|call back#Verb|retelephone#Verb}}
##* {{quote-journal|en|year=1961|month=November|title=Talking of Trains: Derailment near Holmes Chapel|journal=[[w:Modern Railways|Trains Illustrated]]|location=London|publisher=w:Ian Allan Publishing|page=652|issn=0141-9935|oclc=35845948|passage=The length ganger saw the train passing with the van derailed and promptly '''telephoned''' the Sandbach signalman, who restored his signals to danger, but not in time to stop the train before the final derailment occurred.}}
## {{lb|en|obsolete}}
### To [[provide]] (a [[place#Noun|place]]) with a telephone [[system]].
###* {{quote-journal|en|date=14 December 1901|author=J. Williams Benn|title=The Telephone Deal|journal=[[w:The Speaker (periodical)|The Speaker: The Liberal Review]]|location=London; Paris|publisher=[[w:Cassell (publisher)|Cassell and Co.]],{{nb...|Ltd., London, Paris, New York, and Melbourne.}}|volume=V (New Series)|issue=115|page=296|pageurl=https://archive.org/details/sim_speaker-the-liberal-review_1901-12-14_5_115/page/296/mode/1up|column=1|oclc=1566794713|passage=The London County Council prepared careful estimates for '''telephoning''' London in 1898, and those estimates were submitted to Parliament. It contended that it could provide a telephone service for the County Council area of London at £38 per subscriber capital outlay, after setting aside the necessary funds for the debt charge and after paying the Post Office the 10 per cent. royalty.}}
### To [[transmit]] ([[sound#Noun|sounds]]) over a [[distance#Noun|distance]].
###* {{RQ:Lawrence Birds|poem=Bare Almond-trees|stanza=3|page=44|passage=Do you hear the chemical accents of the sun? / Do you '''telephone''' the roar of the waters over the earth?}}
# {{lb|en|intransitive}} To (attempt to) contact someone using a telephone; to [[make#Verb|make]] a [[telephone call]].
#* {{RQ:Barr Stranleigh Abroad|page=139|passage=I came down like a wolf on the fold, didn't I? Why didn't I '''telephone'''? Strategy, my dear boy, strategy. This is a surprise attack, and I'd no wish that the garrison, forewarned, should escape.}}
#* {{quote-journal|en|year=1944|month=July–August|title=Top Link Drivers: XXI—Driver H. Blunt, L.N.E.R.|journal=w:The Railway Magazine|location=London|publisher=Tothill Press|page=226|issn=0033-8923|oclc=1256058197|passage=Having completed their task, Fireman Page '''telephoned''' from a lineside box to the next signal cabin, briefly reported the incident and said that, as no high explosive had dropped and the track was safe, they proposed proceeding "at caution".}}
#* {{quote-book|en|year=1971|author=w:Martin Nordegg|chapter=Convincing a European Expert|editor=T. D. Regehr|title=The Possibilities of Canada are Truly Great: Memoirs 1906–1924|location=Toronto, Ont.|publisher=[[w:Macmillan Publishers|Macmillan of Canada]]|page=89|pageurl=https://archive.org/details/possibilitiesofc0000nord/page/89/mode/1up|oclc=427669|passage=The only chance we had was to '''telephone''' to the manager of the hotel in Calgary to send two bottles of Scotch without fail by the next train leaving Calgary for the west.}}
=== මූලාශ්ර ===
<references/>
=== වැඩිදුර් කියවීම සඳහා ===
* {{pedia}}
f9hgo8ln06me7cpu2hqrz30w45wco8e
234052
234051
2026-05-15T03:39:10Z
Lee
19
234052
wikitext
text/x-wiki
{{also|Telephone|téléphone|téléphoné|téléphône}}
== ඉංග්රීසි ==
{{multiple images
|image1 = Dialog gr 1972.jpg
|caption1 = A [[rotary dial|rotary-dial]] telephone ''({{senseno|en|Q11035}})''.
|image2 = Hand-smartphone-technology-calling.jpg
|caption2 = A [[mobile telephone]] ''({{senseno|en|Q11035}})'' or [[mobile phone]].
}}
=== නිරුක්තිය ===
{{etymon|en|:bor|fr:téléphone<id:telephone>|id=device}}
The {{lg|noun}} is derived from {{affix|en|tele-|pos1={{lg|prefix}} meaning ‘from a distance’|-phone|pos2={{lg|suffix}} denoting a device which makes a sound}}, modelled after {{cog|de|Telephon|t=early apparatus converting sound into electrical signals}} {{qualifier|dated}} (now {{cog|de|Telefon}}).<ref name="OED">{{R:OED Online|pos=n|id=2015603579|date=September 2025|nodot=1}}; {{R:Lexico|pos=n}}</ref> The word was first used to refer to the modern device in 1876 by the Scottish-born Canadian-American engineer {{w|Alexander Graham Bell}} (1847–1922).
The prefix {{m|en||tele-}} is ultimately derived from {{der|en|grc|τῆλε|t=afar, far away, far off}}, from {{der|en|ine-pro|*kʷelh₁-|t=to turn end-over-end; to revolve around; hence, to dwell, sojourn}}.<ref>{{R:OED Online|entry=tele-|pos=''comb. form''|noformat=1|id=3978633267|date=December 2025|nodot=1}}; {{R:Lexico|entry=tele-}}</ref> The suffix {{m|en||-phone}} is ultimately from {{der|en|grc|φωνή|t=sound; voice}},<ref>{{R:OED Online|entry=-phone|pos=''comb. form''|noformat=1|id=2891556446|date=December 2024|nodot=1}}; {{R:Lexico|entry=-phone}}</ref> and {{der|en|ine-pro|*bʰeh₂-|t=to say; to speak}}.
{{senseno|en|Q36764|uc=1}} (“system of communication using musical notes”) is borrowed from {{bor|en|fr|téléphone|t=kind of megaphone; system of communication using musical notes}}.<ref name="OED"/>
The {{lg|verb}} is derived from the noun.<ref>{{R:OED Online|pos=v|id=1448846986|date=September 2025|nodot=1}}; {{R:Lexico|pos=v}}</ref>
=== උච්චාරණය ===
* {{IPA|en|/ˈtɛlɪfəʊn/|a=RP}}
* {{IPA|en|/ˈtɛləˌfoʊn/|[ˈtɛɫ-]|a=GA}}
** {{audio|en|En-us-telephone.ogg|a=GA}}
* {{IPA|en|[ˈteɫəˌfəʉn]|a=AU}}
* {{IPA|en|[ˈteɫəˌfɐʉn]|a=NZ}}
* {{IPA|en|/ˈtɛlɪfon/|a=Scotland}}
* {{IPA|en|/ˈtɛlɪfoːn/|a=Wales,non-toe-tow}}
* {{hyphenation|en|tel|e|phone}}
=== නාම පදය ===
{{en-noun|~}}
# {{senseid|en|Q11035}}{{lb|en|countable|telephony}} [[තෙලබණුව]]
#: {{syn|en|Ameche<q:US, slang, dated>|blower<q:slang>|dog and bone<q:slang>|horn<q:informal>|phone|pipe<q:slang>|Thesaurus:phone}}
#: {{hypo|en|cellphone|;|cordless phone|cordless telephone|;|mobile phone|mobile telephone|;|payphone|;|satellite phone|satellite telephone}}
#* {{quote-journal|en|year='''1876''' May 10 (date delivered)|author=[[w:Alexander Graham Bell|A[lexander] Graham Bell]]|title=Researches in Telephony|journal=[[w:Daedalus (journal)|Proceedings of the American Academy of Arts and Sciences]]|location=Boston, Mass.|publisher=Press of John Wilson and Son|year_published=1877|volume=IV (New Series; volume XII overall)|pages=7–8|pageurl=https://archive.org/details/proceedingsofame12amer/page/7/mode/1up|issn=0199-9818|oclc=835587818|passage=The '''telephones''' so constructed were placed in different rooms. {{...}} Upon singing into the '''telephone''', the tones of the voice were reproduced by the instrument in the distant room. When two persons sang simultaneously into the instrument, two notes were emitted simultaneously by the '''telephone''' in the other house. {{...}} I placed the membrane of the '''telephone''' near my mouth, and uttered the sentence, "Do you understand what I say?" Presently an answer was returned through the instrument in my hand. Articular words proceeded from the clock-spring attached to the membrane, and I heard the sentence, "Yes; I understand you perfectly."}}
==== භාවිත සටහන් ====
Regarding {{senseno|en|Q11035}} (“telecommunication device which converts data or sounds into electrical signals which are then transmitted”), ''telephone'' tends to be used to mean a fixed-line or [[landline]] telephone rather than a [[mobile phone]].<ref name="OED"/>
=== ක්රියා පදය ===
{{en-verb}}
# {{lb|en|transitive}}
## To [[convey]] ([[information]], a [[message#Noun|message]], [[news#Noun|news]], etc.) [[use#Verb|using]] a [[telephone#Noun|telephone]] ''({{senseno|en|Q11035}})''.
##* {{RQ:Robert Byron Europe|chapter=V|page=31|passage=David '''telephoned''' his apologies to his mother. On the way we had had our first puncture, and had taken some time to change the wheel, as we were unable to find the jack.}}
##* {{quote-book|en|year=1961|author=w:Xavier Herbert|title=Soldiers’ Women|location=Sydney, N.S.W.|publisher=[[w:Angus & Robertson|Angus and Robertson]]|page=395|oclc=4482528|passage=He '''telephoned''' what he knew to his chief, the information such as to cause the smug complacency of that gentlemen in his henchman's prowess to vanish from his expression, {{...}}}}
## To ([[attempt#Verb|attempt]] to) [[contact#Verb|contact]] (someone) using a telephone.
##: {{syn|en|call#Verb|call up#Verb|drop someone a line<alt:drop (someone) a line>|ring#Verb<q:chiefly Commonwealth>|ring up<q:chiefly Commonwealth>|phone#Verb|Thesaurus:telephone}}
##: {{hypo|en|call back#Verb|retelephone#Verb}}
##* {{quote-journal|en|year=1961|month=November|title=Talking of Trains: Derailment near Holmes Chapel|journal=[[w:Modern Railways|Trains Illustrated]]|location=London|publisher=w:Ian Allan Publishing|page=652|issn=0141-9935|oclc=35845948|passage=The length ganger saw the train passing with the van derailed and promptly '''telephoned''' the Sandbach signalman, who restored his signals to danger, but not in time to stop the train before the final derailment occurred.}}
## {{lb|en|obsolete}}
### To [[provide]] (a [[place#Noun|place]]) with a telephone [[system]].
###* {{quote-journal|en|date=14 December 1901|author=J. Williams Benn|title=The Telephone Deal|journal=[[w:The Speaker (periodical)|The Speaker: The Liberal Review]]|location=London; Paris|publisher=[[w:Cassell (publisher)|Cassell and Co.]],{{nb...|Ltd., London, Paris, New York, and Melbourne.}}|volume=V (New Series)|issue=115|page=296|pageurl=https://archive.org/details/sim_speaker-the-liberal-review_1901-12-14_5_115/page/296/mode/1up|column=1|oclc=1566794713|passage=The London County Council prepared careful estimates for '''telephoning''' London in 1898, and those estimates were submitted to Parliament. It contended that it could provide a telephone service for the County Council area of London at £38 per subscriber capital outlay, after setting aside the necessary funds for the debt charge and after paying the Post Office the 10 per cent. royalty.}}
### To [[transmit]] ([[sound#Noun|sounds]]) over a [[distance#Noun|distance]].
###* {{RQ:Lawrence Birds|poem=Bare Almond-trees|stanza=3|page=44|passage=Do you hear the chemical accents of the sun? / Do you '''telephone''' the roar of the waters over the earth?}}
# {{lb|en|intransitive}} To (attempt to) contact someone using a telephone; to [[make#Verb|make]] a [[telephone call]].
#* {{RQ:Barr Stranleigh Abroad|page=139|passage=I came down like a wolf on the fold, didn't I? Why didn't I '''telephone'''? Strategy, my dear boy, strategy. This is a surprise attack, and I'd no wish that the garrison, forewarned, should escape.}}
#* {{quote-journal|en|year=1944|month=July–August|title=Top Link Drivers: XXI—Driver H. Blunt, L.N.E.R.|journal=w:The Railway Magazine|location=London|publisher=Tothill Press|page=226|issn=0033-8923|oclc=1256058197|passage=Having completed their task, Fireman Page '''telephoned''' from a lineside box to the next signal cabin, briefly reported the incident and said that, as no high explosive had dropped and the track was safe, they proposed proceeding "at caution".}}
#* {{quote-book|en|year=1971|author=w:Martin Nordegg|chapter=Convincing a European Expert|editor=T. D. Regehr|title=The Possibilities of Canada are Truly Great: Memoirs 1906–1924|location=Toronto, Ont.|publisher=[[w:Macmillan Publishers|Macmillan of Canada]]|page=89|pageurl=https://archive.org/details/possibilitiesofc0000nord/page/89/mode/1up|oclc=427669|passage=The only chance we had was to '''telephone''' to the manager of the hotel in Calgary to send two bottles of Scotch without fail by the next train leaving Calgary for the west.}}
=== මූලාශ්ර ===
<references/>
=== වැඩිදුර් කියවීම සඳහා ===
* {{pedia}}
hrtbbg0fjtcy4648c09jgfehmflaiw4
234053
234052
2026-05-15T03:39:47Z
Lee
19
234053
wikitext
text/x-wiki
{{also|Telephone|téléphone|téléphoné|téléphône}}
== ඉංග්රීසි ==
{{multiple images
|image1 = Dialog gr 1972.jpg
|caption1 = A [[rotary dial|rotary-dial]] telephone ''({{senseno|en|Q11035}})''.
|image2 = Hand-smartphone-technology-calling.jpg
|caption2 = A [[mobile telephone]] ''({{senseno|en|Q11035}})'' or [[mobile phone]].
}}
=== නිරුක්තිය ===
{{etymon|en|:bor|fr:téléphone<id:telephone>|id=device}}
The {{lg|noun}} is derived from {{affix|en|tele-|pos1={{lg|prefix}} meaning ‘from a distance’|-phone|pos2={{lg|suffix}} denoting a device which makes a sound}}, modelled after {{cog|de|Telephon|t=early apparatus converting sound into electrical signals}} {{qualifier|dated}} (now {{cog|de|Telefon}}).<ref name="OED">{{R:OED Online|pos=n|id=2015603579|date=September 2025|nodot=1}}; {{R:Lexico|pos=n}}</ref> The word was first used to refer to the modern device in 1876 by the Scottish-born Canadian-American engineer {{w|Alexander Graham Bell}} (1847–1922).
The prefix {{m|en||tele-}} is ultimately derived from {{der|en|grc|τῆλε|t=afar, far away, far off}}, from {{der|en|ine-pro|*kʷelh₁-|t=to turn end-over-end; to revolve around; hence, to dwell, sojourn}}.<ref>{{R:OED Online|entry=tele-|pos=''comb. form''|noformat=1|id=3978633267|date=December 2025|nodot=1}}; {{R:Lexico|entry=tele-}}</ref> The suffix {{m|en||-phone}} is ultimately from {{der|en|grc|φωνή|t=sound; voice}},<ref>{{R:OED Online|entry=-phone|pos=''comb. form''|noformat=1|id=2891556446|date=December 2024|nodot=1}}; {{R:Lexico|entry=-phone}}</ref> and {{der|en|ine-pro|*bʰeh₂-|t=to say; to speak}}.
The {{lg|verb}} is derived from the noun.<ref>{{R:OED Online|pos=v|id=1448846986|date=September 2025|nodot=1}}; {{R:Lexico|pos=v}}</ref>
=== උච්චාරණය ===
* {{IPA|en|/ˈtɛlɪfəʊn/|a=RP}}
* {{IPA|en|/ˈtɛləˌfoʊn/|[ˈtɛɫ-]|a=GA}}
** {{audio|en|En-us-telephone.ogg|a=GA}}
* {{IPA|en|[ˈteɫəˌfəʉn]|a=AU}}
* {{IPA|en|[ˈteɫəˌfɐʉn]|a=NZ}}
* {{IPA|en|/ˈtɛlɪfon/|a=Scotland}}
* {{IPA|en|/ˈtɛlɪfoːn/|a=Wales,non-toe-tow}}
* {{hyphenation|en|tel|e|phone}}
=== නාම පදය ===
{{en-noun|~}}
# {{senseid|en|Q11035}}{{lb|en|countable|telephony}} [[තෙලබණුව]]
#: {{syn|en|Ameche<q:US, slang, dated>|blower<q:slang>|dog and bone<q:slang>|horn<q:informal>|phone|pipe<q:slang>|Thesaurus:phone}}
#: {{hypo|en|cellphone|;|cordless phone|cordless telephone|;|mobile phone|mobile telephone|;|payphone|;|satellite phone|satellite telephone}}
#* {{quote-journal|en|year='''1876''' May 10 (date delivered)|author=[[w:Alexander Graham Bell|A[lexander] Graham Bell]]|title=Researches in Telephony|journal=[[w:Daedalus (journal)|Proceedings of the American Academy of Arts and Sciences]]|location=Boston, Mass.|publisher=Press of John Wilson and Son|year_published=1877|volume=IV (New Series; volume XII overall)|pages=7–8|pageurl=https://archive.org/details/proceedingsofame12amer/page/7/mode/1up|issn=0199-9818|oclc=835587818|passage=The '''telephones''' so constructed were placed in different rooms. {{...}} Upon singing into the '''telephone''', the tones of the voice were reproduced by the instrument in the distant room. When two persons sang simultaneously into the instrument, two notes were emitted simultaneously by the '''telephone''' in the other house. {{...}} I placed the membrane of the '''telephone''' near my mouth, and uttered the sentence, "Do you understand what I say?" Presently an answer was returned through the instrument in my hand. Articular words proceeded from the clock-spring attached to the membrane, and I heard the sentence, "Yes; I understand you perfectly."}}
==== භාවිත සටහන් ====
Regarding {{senseno|en|Q11035}} (“telecommunication device which converts data or sounds into electrical signals which are then transmitted”), ''telephone'' tends to be used to mean a fixed-line or [[landline]] telephone rather than a [[mobile phone]].<ref name="OED"/>
=== ක්රියා පදය ===
{{en-verb}}
# {{lb|en|transitive}}
## To [[convey]] ([[information]], a [[message#Noun|message]], [[news#Noun|news]], etc.) [[use#Verb|using]] a [[telephone#Noun|telephone]] ''({{senseno|en|Q11035}})''.
##* {{RQ:Robert Byron Europe|chapter=V|page=31|passage=David '''telephoned''' his apologies to his mother. On the way we had had our first puncture, and had taken some time to change the wheel, as we were unable to find the jack.}}
##* {{quote-book|en|year=1961|author=w:Xavier Herbert|title=Soldiers’ Women|location=Sydney, N.S.W.|publisher=[[w:Angus & Robertson|Angus and Robertson]]|page=395|oclc=4482528|passage=He '''telephoned''' what he knew to his chief, the information such as to cause the smug complacency of that gentlemen in his henchman's prowess to vanish from his expression, {{...}}}}
## To ([[attempt#Verb|attempt]] to) [[contact#Verb|contact]] (someone) using a telephone.
##: {{syn|en|call#Verb|call up#Verb|drop someone a line<alt:drop (someone) a line>|ring#Verb<q:chiefly Commonwealth>|ring up<q:chiefly Commonwealth>|phone#Verb|Thesaurus:telephone}}
##: {{hypo|en|call back#Verb|retelephone#Verb}}
##* {{quote-journal|en|year=1961|month=November|title=Talking of Trains: Derailment near Holmes Chapel|journal=[[w:Modern Railways|Trains Illustrated]]|location=London|publisher=w:Ian Allan Publishing|page=652|issn=0141-9935|oclc=35845948|passage=The length ganger saw the train passing with the van derailed and promptly '''telephoned''' the Sandbach signalman, who restored his signals to danger, but not in time to stop the train before the final derailment occurred.}}
## {{lb|en|obsolete}}
### To [[provide]] (a [[place#Noun|place]]) with a telephone [[system]].
###* {{quote-journal|en|date=14 December 1901|author=J. Williams Benn|title=The Telephone Deal|journal=[[w:The Speaker (periodical)|The Speaker: The Liberal Review]]|location=London; Paris|publisher=[[w:Cassell (publisher)|Cassell and Co.]],{{nb...|Ltd., London, Paris, New York, and Melbourne.}}|volume=V (New Series)|issue=115|page=296|pageurl=https://archive.org/details/sim_speaker-the-liberal-review_1901-12-14_5_115/page/296/mode/1up|column=1|oclc=1566794713|passage=The London County Council prepared careful estimates for '''telephoning''' London in 1898, and those estimates were submitted to Parliament. It contended that it could provide a telephone service for the County Council area of London at £38 per subscriber capital outlay, after setting aside the necessary funds for the debt charge and after paying the Post Office the 10 per cent. royalty.}}
### To [[transmit]] ([[sound#Noun|sounds]]) over a [[distance#Noun|distance]].
###* {{RQ:Lawrence Birds|poem=Bare Almond-trees|stanza=3|page=44|passage=Do you hear the chemical accents of the sun? / Do you '''telephone''' the roar of the waters over the earth?}}
# {{lb|en|intransitive}} To (attempt to) contact someone using a telephone; to [[make#Verb|make]] a [[telephone call]].
#* {{RQ:Barr Stranleigh Abroad|page=139|passage=I came down like a wolf on the fold, didn't I? Why didn't I '''telephone'''? Strategy, my dear boy, strategy. This is a surprise attack, and I'd no wish that the garrison, forewarned, should escape.}}
#* {{quote-journal|en|year=1944|month=July–August|title=Top Link Drivers: XXI—Driver H. Blunt, L.N.E.R.|journal=w:The Railway Magazine|location=London|publisher=Tothill Press|page=226|issn=0033-8923|oclc=1256058197|passage=Having completed their task, Fireman Page '''telephoned''' from a lineside box to the next signal cabin, briefly reported the incident and said that, as no high explosive had dropped and the track was safe, they proposed proceeding "at caution".}}
#* {{quote-book|en|year=1971|author=w:Martin Nordegg|chapter=Convincing a European Expert|editor=T. D. Regehr|title=The Possibilities of Canada are Truly Great: Memoirs 1906–1924|location=Toronto, Ont.|publisher=[[w:Macmillan Publishers|Macmillan of Canada]]|page=89|pageurl=https://archive.org/details/possibilitiesofc0000nord/page/89/mode/1up|oclc=427669|passage=The only chance we had was to '''telephone''' to the manager of the hotel in Calgary to send two bottles of Scotch without fail by the next train leaving Calgary for the west.}}
=== මූලාශ්ර ===
<references/>
=== වැඩිදුර් කියවීම සඳහා ===
* {{pedia}}
ixvcyftfddstjbjai8k25iwtlvd1u0t
telephones
0
143585
234046
2023-07-20T05:03:40Z
en>WingerBot
0
rename {{en-third-person singular of}} to {{infl of|en}} with appropriate param changes
234046
wikitext
text/x-wiki
{{also|téléphones|téléphonés|téléphônes}}
==English==
===Noun===
{{head|en|noun form}}
# {{plural of|en|telephone}}
===Verb===
{{head|en|verb form}}
# {{infl of|en|telephone||s-verb-form}}
===Anagrams===
* {{anagrams|en|a=eeehlnopst|phenetoles}}
n1f1iwtglrqkwxjju1afmcnbx685kbf
234047
234046
2026-05-15T03:30:13Z
Lee
19
[[:en:telephones]] වෙතින් එක් සංශෝධනයක්
234046
wikitext
text/x-wiki
{{also|téléphones|téléphonés|téléphônes}}
==English==
===Noun===
{{head|en|noun form}}
# {{plural of|en|telephone}}
===Verb===
{{head|en|verb form}}
# {{infl of|en|telephone||s-verb-form}}
===Anagrams===
* {{anagrams|en|a=eeehlnopst|phenetoles}}
n1f1iwtglrqkwxjju1afmcnbx685kbf
234048
234047
2026-05-15T03:31:57Z
Pinthura
2424
යොමු තොරතුරු පරිවර්තනය
234048
wikitext
text/x-wiki
{{also|téléphones|téléphonés|téléphônes}}
== ඉංග්රීසි ==
=== නාම පදය ===
{{head|en|noun form}}
# {{plural of|en|telephone}}
=== ක්රියා පදය ===
{{head|en|verb form}}
# {{infl of|en|telephone||s-verb-form}}
===Anagrams===
* {{anagrams|en|a=eeehlnopst|phenetoles}}
8o4r0qco4kc6zrc0cste20u3uhfjkzt
234050
234048
2026-05-15T03:32:14Z
Lee
19
/* Anagrams */
234050
wikitext
text/x-wiki
{{also|téléphones|téléphonés|téléphônes}}
== ඉංග්රීසි ==
=== නාම පදය ===
{{head|en|noun form}}
# {{plural of|en|telephone}}
=== ක්රියා පදය ===
{{head|en|verb form}}
# {{infl of|en|telephone||s-verb-form}}
djm4889s4qih1dnb4hya7su4mw7siv0
Module:category tree/fam/jpx/what-categorizes-msg
828
143586
234071
2026-04-11T01:50:10Z
en>Shlyst
0
234071
Scribunto
text/plain
local export = {}
local m_str_utils = require("Module:string utilities")
local d_range = mw.loadData("Module:ja/data/range")
-- Handles the "Terms are placed in this category..." text in Japanese affix categories
-- Used in
-- [[Module:category tree/affixes and compounds]]
-- [[Module:category tree/fam/jpx]]
function export.get_what_categorizes_msg(affix, affix_reading, affix_type)
if not affix_reading then
if m_str_utils.find(affix, "[" .. d_range.kanji .. "々〻]") then
--Category has kanji but no reading "read as"
return nil
end
affix_reading = affix
end
local tl
if affix_type == "suffix" then
tl = "{{tl|ja-compound|<var>|...|</var>|" .. affix .. "|-" .. affix_reading .. "}}"
elseif affix_type == "prefix" then
tl = "{{tl|ja-compound|" .. affix .. "|" .. affix_reading .. "-|<var>|...|</var>}}"
elseif affix_type == "infix" then
tl = "{{tl|ja-compound|<var>|...|</var>|" .. affix .. "|-" .. affix_reading .. "-|<var>|...|</var>}}"
end
if tl then
tl = "Terms are placed in this category using " .. tl .. "."
end
return tl
end
return export
aseik7d8zcfi37ce42nxrihk8lz825b
234072
234071
2026-05-15T07:23:05Z
Lee
19
[[:en:Module:category_tree/fam/jpx/what-categorizes-msg]] වෙතින් එක් සංශෝධනයක්
234071
Scribunto
text/plain
local export = {}
local m_str_utils = require("Module:string utilities")
local d_range = mw.loadData("Module:ja/data/range")
-- Handles the "Terms are placed in this category..." text in Japanese affix categories
-- Used in
-- [[Module:category tree/affixes and compounds]]
-- [[Module:category tree/fam/jpx]]
function export.get_what_categorizes_msg(affix, affix_reading, affix_type)
if not affix_reading then
if m_str_utils.find(affix, "[" .. d_range.kanji .. "々〻]") then
--Category has kanji but no reading "read as"
return nil
end
affix_reading = affix
end
local tl
if affix_type == "suffix" then
tl = "{{tl|ja-compound|<var>|...|</var>|" .. affix .. "|-" .. affix_reading .. "}}"
elseif affix_type == "prefix" then
tl = "{{tl|ja-compound|" .. affix .. "|" .. affix_reading .. "-|<var>|...|</var>}}"
elseif affix_type == "infix" then
tl = "{{tl|ja-compound|<var>|...|</var>|" .. affix .. "|-" .. affix_reading .. "-|<var>|...|</var>}}"
end
if tl then
tl = "Terms are placed in this category using " .. tl .. "."
end
return tl
end
return export
aseik7d8zcfi37ce42nxrihk8lz825b
sweep
0
143587
234076
2026-05-15T07:30:34Z
WrdSrchSi
3305
Page created: + en-verb|+|+|swept + wikitable
234076
wikitext
text/x-wiki
==ඉංග්රීසි==
===ක්රියා පද===
{{en-verb|+|+|swept}}
# {{{1|{{rfdef|en}}}}} #: ''{{{2|<!-- example sentence -->}}}''
{| class="wikitable"
|+
|-
! !!අන්ය පුරුෂ<br>ඒකවචන!!අන්ය පුරුෂ<br>බහුවචන!!උත්තම පුරුෂ<br>ඒකවචන!!උත්තම පුරුෂ<br>බහුවචන
|-
|අනතීත-සකර්මක||[[අමදී]]<br>[[අමඳී]]||[[අමදිති]]<br>[[අමඳිති]]||[[අමදිමි]]<br>[[අමඳිමි]]||[[අමදිමු]]<br>[[අමඳිමු]]
|-
|අනතීත-සකර්මක||||||||
|-
|}
ocyaisusjr1h88ooxzx39fq3wk8fud8
පතුරත්
0
143588
234078
2026-05-15T07:47:51Z
WrdSrchSi
3305
Page created: + IPA|si + head|si|verb forms + alternative form of|si + ප්රවර්ගය + head|si|noun form + example + ආශ්රිත පද
234078
wikitext
text/x-wiki
==සිංහල==
=== නිරුක්තිය 1 ===
{{rfe|si}}
===උච්චාරණය===
* {{IPA|si|/ˈpaturat/}}
===ක්රියා පද===
{{head|si|verb forms}}
# {{alternative form of|si|පතුරති#ක්රියා පද}}
=== නිරුක්තිය 2 ===
{{rfe|si}}
===නාම පදය===
{{head|si|noun form}}
# {{rfdef|si}}
#: ''{{{2|එ '''පතුරත්''' තවත් පතුරකුත් ගෙනැ .....}}}''
====ආශ්රිත පද====
* {{l|si|පතුර#නාම පදය}}
[[ප්රවර්ගය: සිංහල ආඛ්යාත ක්රියා පද]]
fjt37k6ob4sjs70f91vkz62fl45n5zp
පතුරා
0
143589
234079
2026-05-15T07:53:46Z
WrdSrchSi
3305
Page created: + etymon|si + IPA|si + head|si|verb forms|head= + alternative form of|si + infl of|si + ප්රවර්ග
234079
wikitext
text/x-wiki
==සිංහල==
=== නිරුක්තිය ===
{{etymon|si|id=පතුර ආ|af|si>පතුර#ධාතු ප්රකෘතිය>ප්රකෘතිය|si>-ආ>ප්රත්ය|tree=1}}
''[[පතුර#ධාතු ප්රකෘතිය|පතුර]] (ප්රකෘතිය) + [[-ආ]] (ප්රත්ය) > පතුර් - '''අ''' ([[ස්වර ලොපය]]) + -ආ >'' [[පතුරා]]
===උච්චාරණය===
* {{IPA|si|/ˈpaturaː/}}
===ක්රියා පද===
{{head|si|verb forms|head=පතුරා|සකර්මක වර්තමාන-නිපාත|පතුරමින්#ක්රියා පද|සකර්මක අනාගත-නිපාත|පතුරනුව#ක්රියා පද|කර්ම කාරක අතීත-නිපාත|පැතිරී#ක්රියා පද 2}}
# {{lb|si|සකර්මක}} {{alternative form of|si|පතුරයි#ක්රියා පද}}
# {{lb|si|සකර්මක}} {{infl of|si|පතුරයි#ක්රියා පද||අතීත|නිපාත ක්රියා}}
[[ප්රවර්ගය: සිංහල ආඛ්යාත ක්රියා පද]] [[ප්රවර්ගය: සිංහල නිපාත ක්රියා පද]] [[ප්රවර්ගය: සිංහල අතීත නිපාත ක්රියා පද]]
im8qldcqby1h5qwyex0zno6usigao3m
පැතිරෙත්
0
143590
234080
2026-05-15T07:58:15Z
WrdSrchSi
3305
Page created: + IPA|si + head|si|verb forms + alternative form of|si + ප්රවර්ගය
234080
wikitext
text/x-wiki
==සිංහල==
===උච්චාරණය===
* {{IPA|si|/ˈpætiret/}}
===ක්රියා පද===
{{head|si|verb forms}}
# {{alternative form of|si|පැතිරෙති#ක්රියා පද}}
[[ප්රවර්ගය: සිංහල ආඛ්යාත ක්රියා පද]]
rle7ibqelrragkup0ehss277epwvix8
පතුර
0
143591
234081
2026-05-15T08:29:27Z
WrdSrchSi
3305
Page created: + වෙනත් ආකාර + IPA|si + head|si|root + wikitable + මූලාශ්ර + si-noun
234081
wikitext
text/x-wiki
== සිංහල ==
===වෙනත් ආකාර===
* {{l|si|පතුරු#ක්රියා පද|පතුරු}} ''(ධාතු ප්රකෘතිය)''
=== නිරුක්තිය 1 ===
{{rfe|si}}
===උච්චාරණය===
* {{IPA|si|/ˈpaturə/}}
===ධාතු ප්රකෘතිය===
{{head|si|root}}
# {{rfdef|si}}
====ආඛ්යාත ක්රියා පද====
{| class="wikitable"
|+
|-
! !!අන්ය පුරුෂ<br>ඒකවචන!!අන්ය පුරුෂ<br>බහුවචන!!උත්තම පුරුෂ<br>ඒකවචන!!උත්තම පුරුෂ<br>බහුවචන
|-
|අනතීත-සකර්මක||align="center"|[[පතුරයි#ක්රියා පද|පතුරයි]]||align="center"|[[පතුරති#ක්රියා පද|පතුරති]]||align="center"|[[පතුරමි#ක්රියා පද|පතුරමි]]||align="center"|[[පතුරමු#ක්රියා පද|පතුරමු]]
|-
|අතීත-සකර්මක||||||||
|-
|අනතීත-කර්ම කාරක||||||||
|-
|අතීත-කර්ම කාරක||||||||
|-
|අනතීත-අකර්මක||align="center"|[[පැතිරේ#ක්රියා පද|පැතිරේ]]||align="center"|[[පැතිරෙති#ක්රියා පද|පැතිරෙති]]||align="center"|[[පැතිරෙමි#ක්රියා පද|පැතිරෙමි]]||align="center"|[[පැතිරෙමු#ක්රියා පද|පැතිරෙමු]]
|-
|අතීත-අකර්මක||||||||
|-
|}
=== මූලාශ්ර ===
<references/>
* "[https://tipitaka.lk/library/963 පතුර]", කුමාරණතුංග මුනිදාස, '''''ක්රියා විවරණය''''', — 155 පිටුව
* "[https://tipitaka.lk/library/955 පතුරු (ධා)]", වැලිවිටියේ සෝරත හිමි, '''''ශ්රී සුමංගල සිංහල ශබ්දකෝෂය 2 ප-ළ 1956''''', — 550 පිටුව
=== නිරුක්තිය 2 ===
{{rfe|si}}
=== නාම පදය ===
{{si-noun|පතුරු#නාම පදය}}
# {{rfdef|si}}
[[ප්රවර්ගය:සිංහල ධාතු ප්රකෘති]]
<!--
==== පරිවර්තන ====
{{trans-top|පරිවර්තන}}
* ඉංග්රීසි: {{t|en|<<ඉංග්රීසි වචනය>>}}
{{trans-bottom}}
=== අමතර අවධානයට ===
* {{l|si|<<ආශ්රිත පවතින වෙනත් වචන>>}}
-->
gqfj5qjgrmll5l4dvr4vgiij5i5t21v
පතුරයි
0
143592
234082
2026-05-15T08:39:18Z
WrdSrchSi
3305
Page created: + වෙනත් ආකාර + etymon|si + IPA|si + head|si|verb + ආශ්රිත පද + මූලාශ්ර + ප්රවර්ගය + head|si|noun + ආශ්රිත පද form +
234082
wikitext
text/x-wiki
==සිංහල==
===වෙනත් ආකාර===
* {{l|si|පතුරා#ක්රියා පද|පතුරා}}
=== නිරුක්තිය 1 ===
{{etymon|si|id=පතුරා යි|af|si>පතුරා#ක්රියා පද>පදය|si>යි>පදය|tree=1}}
''[[පතුර#ධාතු ප්රකෘතිය|පතුර]] (ප්රකෘතිය) + [[-ආ]] (ප්රත්ය) > පතුර් - '''අ''' ([[ස්වර ලොපය]]) + -ආ > [[පතුරා#ක්රියා පද|පතුරා]] (වෙනත් ආකාර) + [[යි]] >'' [[පතුරයි]]
===උච්චාරණය===
* {{IPA|si|/ˈpaturaji/}}
===ක්රියා පද===
{{head|si|verb
|අතීත-සකර්මක අන්ය පුරුෂ ඒකවචන|පැතිරී#ක්රියා පද 1
|අනතීත-කර්ම කාරක අන්ය පුරුෂ ඒකවචන|පැතිරේ#ක්රියා පද 2
|අතීත-කර්ම කාරක අන්ය පුරුෂ ඒකවචන|පැතිරිණි#ක්රියා පද 2
|අනතීත-සකර්මක අන්ය පුරුෂ බහුවචන|පතුරති#ක්රියා පද
|අනතීත-සකර්මක උත්තම ඒකවචන|පතුරමි#ක්රියා පද
|අනතීත-සකර්මක උත්තම බහුවචන|පතුරමු#ක්රියා පද
|අනතීත-ප්රයුක්ත|පතුරවයි#ක්රියා පද
|අනතීත-භාව නාම ක්රියා|පතුරනවා#ක්රියා පද
|අනතීත-කාරක නාම ක්රියා|පතුරන්නේ#ක්රියා පද
|සකර්මක වර්තමාන-නිපාත|පතුරමින්#ක්රියා පද
}}
# {{lb|si||සකර්මක}} {{rfdef|si}}
====ආශ්රිත පද====
{{top4}}
* {{l|si|පැතිරුම්}}
* {{l|si|පැතිරුම}}
* {{l|si|පැතිරූ}}
* {{l|si|පැතිරුණු}}
* {{l|si|පතුරා#ක්රියා පද|පතුරා}} ''(සකර්මක අතීත නිපාත)''
{{bottom}}
=== මූලාශ්ර ===
<references/>
* "[[පතුර#ධාතු ප්රකෘතිය|පතුර]] [https://tipitaka.lk/library/963]", කුමාරණතුංග මුනිදාස, '''''ක්රියා විවරණය''''', — 110 පිටුව
* "[[පතුර#ධාතු ප්රකෘතිය|පතුරු (ධා)]] [https://tipitaka.lk/library/875]", වැලිවිටියේ සෝරත හිමි, '''''ශ්රී සුමංගල සිංහල ශබ්දකෝෂය 1 අ-න''''', — 41 පිටුව
=== නිරුක්තිය 2 ===
{{rfe|si}}
===නාම පදය===
{{head|si|noun form}}
# {{rfdef|si}}
====ආශ්රිත පද====
* {{l|si|පතුර#නාම පදය}}
[[ප්රවර්ගය: සිංහල ආඛ්යාත ක්රියා පද]]
<!--
==== පරිවර්තන ====
{{trans-top|පරිවර්තන}}
* ඉංග්රීසි: {{t|en|<<ඉංග්රීසි වචනය>>}}
{{trans-bottom}}
=== අමතර අවධානයට ===
* {{l|si|<<ආශ්රිත පවතින වෙනත් වචන>>}}
-->
jf9hg284gmcpgxktehmgh7xo4buagli
spread
0
143593
234083
2026-05-15T08:47:03Z
WrdSrchSi
3305
Page created: + en-verb|+|+|~ + wikitable
234083
wikitext
text/x-wiki
==ඉංග්රීසි==
===ක්රියා පද===
{{en-verb|+|+|~}}
# {{{1|{{rfdef|en}}}}} #: ''{{{2|<!-- example sentence -->}}}''
{| class="wikitable"
|+
|-
! !!අන්ය පුරුෂ<br>ඒකවචන!!අන්ය පුරුෂ<br>බහුවචන!!උත්තම පුරුෂ<br>ඒකවචන!!උත්තම පුරුෂ<br>බහුවචන
|-
|අනතීත-සකර්මක||[[පතුරයි#ක්රියා පද|පතුරයි]]||[[පතුරති#ක්රියා පද|පතුරති]]||[[පතුරමි#ක්රියා පද|පතුරමි]]||[[පතුරමු#ක්රියා පද|පතුරමු]]
|-
|අනතීත-අකර්මක||[[පැතිරේ#ක්රියා පද|පැතිරේ]]||[[පැතිරෙති#ක්රියා පද|පැතිරෙති]]||[[පැතිරෙමි#ක්රියා පද|පැතිරෙමි]]||[[පැතිරෙමු#ක්රියා පද|පැතිරෙමු]]
|-
|}
8k6g26pucdu8uyd7ta8qy46aw30o3xa
ප්රවර්ගය:භාෂාව අනුව යෙදුම්, Indo-Iranian භාෂා වෙතින් ව්යුත්පන්න
14
143594
234086
2026-05-15T09:26:23Z
Lee
19
Lee විසින් [[ප්රවර්ගය:භාෂාව අනුව යෙදුම්, Indo-Iranian භාෂා වෙතින් ව්යුත්පන්න]] සිට [[ප්රවර්ගය:භාෂාව අනුව යෙදුම්, ඉන්දු-ඉරාන භාෂා වෙතින් ව්යුත්පන්න]] වෙත පිටුව ගෙන යන ලදී
234086
wikitext
text/x-wiki
#යළියොමුව [[:ප්රවර්ගය:භාෂාව අනුව යෙදුම්, ඉන්දු-ඉරාන භාෂා වෙතින් ව්යුත්පන්න]]
jrd3gerz4yafzdgcdcb62dij4j7vmyy
234087
234086
2026-05-15T09:26:37Z
Pinthura
2424
රොබෝ: යළියොමුව, මෘදු ප්රවර්ග යළියොමුවක් බවට හැරවීම
234087
wikitext
text/x-wiki
{{category redirect|භාෂාව අනුව යෙදුම්, ඉන්දු-ඉරාන භාෂා වෙතින් ව්යුත්පන්න}}
nwcdk50zy2wq8kl433ymvcdv07yh2u8
ප්රවර්ගය:යෙදුම්, Adyghe පරිවර්තන සහිත
14
143595
234090
2026-05-15T09:33:15Z
Lee
19
Lee විසින් [[ප්රවර්ගය:යෙදුම්, Adyghe පරිවර්තන සහිත]] සිට [[ප්රවර්ගය:යෙදුම්, West Circassian පරිවර්තන සහිත]] වෙත පිටුව ගෙන යන ලදී
234090
wikitext
text/x-wiki
#යළියොමුව [[:ප්රවර්ගය:යෙදුම්, West Circassian පරිවර්තන සහිත]]
oyurd1ag3t67rlba4q0gzo3x4vqmt5t
234101
234090
2026-05-15T09:48:16Z
Pinthura
2424
රොබෝ: යළියොමුව, මෘදු ප්රවර්ග යළියොමුවක් බවට හැරවීම
234101
wikitext
text/x-wiki
{{category redirect|යෙදුම්, West Circassian පරිවර්තන සහිත}}
ni99z9ty4de0gzd2ym67230f32jruev
ප්රවර්ගය:යෙදුම්, Ashokan Prakrit පරිවර්තන සහිත
14
143596
234092
2026-05-15T09:34:14Z
Pinthura
2424
Pinthura විසින් [[ප්රවර්ගය:යෙදුම්, Ashokan Prakrit පරිවර්තන සහිත]] සිට [[ප්රවර්ගය:යෙදුම්, අශෝක ප්රාකෘත පරිවර්තන සහිත]] වෙත පිටුව ගෙන යන ලදී: සේවා: නව ප්රවර්ග නාමය වෙත ගෙනයාම.
234092
wikitext
text/x-wiki
#යළියොමුව [[:ප්රවර්ගය:යෙදුම්, අශෝක ප්රාකෘත පරිවර්තන සහිත]]
llp2g33inz9reyq0qcwqw4fbeg5eex7
234093
234092
2026-05-15T09:34:23Z
Pinthura
2424
සේවා: යළියොමුව, මෘදු ප්රවර්ග යළියොමුවක් බවට හැරවීම.
234093
wikitext
text/x-wiki
{{category redirect|යෙදුම්, අශෝක ප්රාකෘත පරිවර්තන සහිත}}
6br4s3hx9lu8u18ic7h77gotieuvoym
ප්රවර්ගය:Terms with අශෝක ප්රාකෘත translations
14
143597
234094
2026-05-15T09:34:33Z
Pinthura
2424
සේවා: මෘදු ප්රවර්ග යළියොමුවක් නිර්මාණය.
234094
wikitext
text/x-wiki
{{category redirect|යෙදුම්, අශෝක ප්රාකෘත පරිවර්තන සහිත}}
6br4s3hx9lu8u18ic7h77gotieuvoym
ප්රවර්ගය:යෙදුම්, Bikol Central පරිවර්තන සහිත
14
143598
234096
2026-05-15T09:34:41Z
Lee
19
Lee විසින් [[ප්රවර්ගය:යෙදුම්, Bikol Central පරිවර්තන සහිත]] සිට [[ප්රවර්ගය:යෙදුම්, Central Bikol පරිවර්තන සහිත]] වෙත පිටුව ගෙන යන ලදී
234096
wikitext
text/x-wiki
#යළියොමුව [[:ප්රවර්ගය:යෙදුම්, Central Bikol පරිවර්තන සහිත]]
0gna493tws26w9t5hq4xte3ger8ohha
234102
234096
2026-05-15T09:48:26Z
Pinthura
2424
රොබෝ: යළියොමුව, මෘදු ප්රවර්ග යළියොමුවක් බවට හැරවීම
234102
wikitext
text/x-wiki
{{category redirect|යෙදුම්, Central Bikol පරිවර්තන සහිත}}
pm6dqu3jw10bssvex3592ierzzah8lo
පතුරති
0
143599
234098
2026-05-15T09:40:09Z
WrdSrchSi
3305
Page created: + වෙනත් ආකාර + etymon|si + IPA|si + head|si|verb forms|head= + infl of|si + ප්රවර්ගය
234098
wikitext
text/x-wiki
==සිංහල==
===වෙනත් ආකාර===
* {{l|si|පතුරත්#ක්රියා පද|පතුරත්}}
=== නිරුක්තිය ===
{{etymon|si|id=පතුර අති|af|si>පතුර#ධාතු ප්රකෘතිය>ප්රකෘතිය|si>-අති>ප්රත්ය|tree=1}}
''[[පතුර#ධාතු ප්රකෘතිය|පතුර]] (ප්රකෘතිය) + [[-අති]] (ප්රත්ය) > පතුර් - '''අ''' ([[ස්වර ලොපය]]) + -අති > '' [[පතුරති]]
===උච්චාරණය===
* {{IPA|si|/ˈpaturəti/}}
===ක්රියා පද===
{{head|si|verb forms|head=පතුරති|අතීත-සකර්මක අන්ය පුරුෂ බහුවචන|පැතිරූ#ක්රියා පද|අනතීත-කර්ම කාරක අන්ය පුරුෂ බහුවචන|පැතිරෙති#ක්රියා පද 2|අතීත-කර්ම කාරක අන්ය පුරුෂ බහුවචන|පැතිරුණු#ක්රියා පද 2}}
# {{lb|si|සකර්මක}} {{infl of|si|පතුරයි#ක්රියා පද||අනතීත|අන්ය පුරුෂ|බහුවචන|ආඛ්යාත ක්රියා}}
[[ප්රවර්ගය: සිංහල ආඛ්යාත ක්රියා පද]]
jimqduga6pc41e7mruhjd8j6uwuewd5
පතුරමි
0
143600
234099
2026-05-15T09:42:21Z
WrdSrchSi
3305
Page created: + IPA|si + head|si|verb forms|head= + infl of|si + ප්රවර්ගය
234099
wikitext
text/x-wiki
==සිංහල==
===උච්චාරණය===
* {{IPA|si|/ˈpaturəmi/}}
===ක්රියා පද===
{{head|si|verb forms|head=පතුරමි|අතීත-සකර්මක උත්තම ඒකවචන|පැතිරීමි#ක්රියා පද|අනතීත-කර්ම කාරක උත්තම ඒකවචන|පැතිරෙමි#ක්රියා පද 2|අතීත-කර්ම කාරක උත්තම ඒකවචන|පැතිරිණිමි#ක්රියා පද 2}}
# {{lb|si|transitive}} {{infl of|si|පතුරයි#ක්රියා පද||අනතීත|උත්තම පුරුෂ|ඒකවචන|ආඛ්යාත ක්රියා}}
[[ප්රවර්ගය: සිංහල ආඛ්යාත ක්රියා පද]]
evw0ttcayb80ne5v469w10w6gj992xc
පතුරමු
0
143601
234100
2026-05-15T09:44:10Z
WrdSrchSi
3305
Page created: + IPA|si + head|si|verb forms|head= + infl of|si + ප්රවර්ගය
234100
wikitext
text/x-wiki
==සිංහල==
===උච්චාරණය===
* {{IPA|si|/ˈpaturəmu/}}
===ක්රියා පද===
{{head|si|verb forms|head=පතුරමු|අතීත-සකර්මක උත්තම බහුවචන|පැතිරූමු#ක්රියා පද|අනතීත-කර්ම කාරක උත්තම බහුවචන|පැතිරෙමු#ක්රියා පද 2|අතීත-කර්ම කාරක උත්තම බහුවචන|පැතිරුණුමු#ක්රියා පද 2}}
# {{lb|si|transitive}} {{infl of|si|පතුරයි#ක්රියා පද||අනතීත|උත්තම පුරුෂ|බහුවචන|ආඛ්යාත ක්රියා}}
[[ප්රවර්ගය: සිංහල ආඛ්යාත ක්රියා පද]]
rstklk05vx7xol356tlx5y5vbiglp9y
ප්රවර්ගය:යෙදුම්, Kabardian පරිවර්තන සහිත
14
143602
234104
2026-05-15T09:51:58Z
Lee
19
Lee විසින් [[ප්රවර්ගය:යෙදුම්, Kabardian පරිවර්තන සහිත]] සිට [[ප්රවර්ගය:යෙදුම්, East Circassian පරිවර්තන සහිත]] වෙත පිටුව ගෙන යන ලදී
234104
wikitext
text/x-wiki
#යළියොමුව [[:ප්රවර්ගය:යෙදුම්, East Circassian පරිවර්තන සහිත]]
p7ca74alunxsrqjnu3nqvuwl7qcjoe6
234129
234104
2026-05-15T10:11:01Z
Pinthura
2424
රොබෝ: යළියොමුව, මෘදු ප්රවර්ග යළියොමුවක් බවට හැරවීම
234129
wikitext
text/x-wiki
{{category redirect|යෙදුම්, East Circassian පරිවර්තන සහිත}}
fwedn0jslosihozxtomjthuvndh8kpr
ප්රවර්ගය:යෙදුම්, Maori පරිවර්තන සහිත
14
143603
234106
2026-05-15T09:53:08Z
Lee
19
Lee විසින් [[ප්රවර්ගය:යෙදුම්, Maori පරිවර්තන සහිත]] සිට [[ප්රවර්ගය:යෙදුම්, Māori පරිවර්තන සහිත]] වෙත පිටුව ගෙන යන ලදී
234106
wikitext
text/x-wiki
#යළියොමුව [[:ප්රවර්ගය:යෙදුම්, Māori පරිවර්තන සහිත]]
24sj90u0wlusd48fjkef2zhgd4ld5iz
234130
234106
2026-05-15T10:11:11Z
Pinthura
2424
රොබෝ: යළියොමුව, මෘදු ප්රවර්ග යළියොමුවක් බවට හැරවීම
234130
wikitext
text/x-wiki
{{category redirect|යෙදුම්, Māori පරිවර්තන සහිත}}
cxe18e0r70l1cl9degoy4jx1hfxehve
ප්රවර්ගය:යෙදුම්, Mbyá Guaraní පරිවර්තන සහිත
14
143604
234108
2026-05-15T09:53:42Z
Lee
19
Lee විසින් [[ප්රවර්ගය:යෙදුම්, Mbyá Guaraní පරිවර්තන සහිත]] සිට [[ප්රවර්ගය:යෙදුම්, Mbya Guarani පරිවර්තන සහිත]] වෙත පිටුව ගෙන යන ලදී
234108
wikitext
text/x-wiki
#යළියොමුව [[:ප්රවර්ගය:යෙදුම්, Mbya Guarani පරිවර්තන සහිත]]
n073ndhkoji8yer93n7vnv61szozvci
234131
234108
2026-05-15T10:11:21Z
Pinthura
2424
රොබෝ: යළියොමුව, මෘදු ප්රවර්ග යළියොමුවක් බවට හැරවීම
234131
wikitext
text/x-wiki
{{category redirect|යෙදුම්, Mbya Guarani පරිවර්තන සහිත}}
q4ym0644bi2j8phz32lyb5sxb9iocwh
ප්රවර්ගය:යෙදුම්, Paraguayan Guaraní පරිවර්තන සහිත
14
143605
234110
2026-05-15T09:54:11Z
Lee
19
Lee විසින් [[ප්රවර්ගය:යෙදුම්, Paraguayan Guaraní පරිවර්තන සහිත]] සිට [[ප්රවර්ගය:යෙදුම්, Paraguayan Guarani පරිවර්තන සහිත]] වෙත පිටුව ගෙන යන ලදී
234110
wikitext
text/x-wiki
#යළියොමුව [[:ප්රවර්ගය:යෙදුම්, Paraguayan Guarani පරිවර්තන සහිත]]
a04rjvonebed44odx22nuc2pkmumnpe
234132
234110
2026-05-15T10:11:31Z
Pinthura
2424
රොබෝ: යළියොමුව, මෘදු ප්රවර්ග යළියොමුවක් බවට හැරවීම
234132
wikitext
text/x-wiki
{{category redirect|යෙදුම්, Paraguayan Guarani පරිවර්තන සහිත}}
p9misxkpktk8icfz00gq28w84pqefh8
Module:category tree/lang/gug
828
143606
234111
2025-12-06T03:49:46Z
en>Benwing2
0
Benwing2 moved page [[Module:category tree/lang/gn]] to [[Module:category tree/lang/gug]] without leaving a redirect: merge Guaraní into Paraguayan Guaraní per [[WT:LTR#Paraguayan_Guaraní_(again)]]
234111
Scribunto
text/plain
local labels = {}
labels["circumflex-system forms"] = {
description = "{{{langname}}} spellings which use circumflexes to indicate nasalisation, instead of the now more common tilde.",
parents = "terms by orthographic property",
breadcrumb = "Circumflex",
}
return { LABELS = labels }
tgagl17630qhm33ari32vrgbcarazg4
234112
234111
2026-05-15T09:54:31Z
Lee
19
[[:en:Module:category_tree/lang/gug]] වෙතින් එක් සංශෝධනයක්
234111
Scribunto
text/plain
local labels = {}
labels["circumflex-system forms"] = {
description = "{{{langname}}} spellings which use circumflexes to indicate nasalisation, instead of the now more common tilde.",
parents = "terms by orthographic property",
breadcrumb = "Circumflex",
}
return { LABELS = labels }
tgagl17630qhm33ari32vrgbcarazg4
ප්රවර්ගය:යෙදුම්, Romansch පරිවර්තන සහිත
14
143607
234114
2026-05-15T09:56:33Z
Lee
19
Lee විසින් [[ප්රවර්ගය:යෙදුම්, Romansch පරිවර්තන සහිත]] සිට [[ප්රවර්ගය:යෙදුම්, Romansh පරිවර්තන සහිත]] වෙත පිටුව ගෙන යන ලදී
234114
wikitext
text/x-wiki
#යළියොමුව [[:ප්රවර්ගය:යෙදුම්, Romansh පරිවර්තන සහිත]]
7riibnjdwpf04pynt3ddtzqfb6g1iyq
234133
234114
2026-05-15T10:11:41Z
Pinthura
2424
රොබෝ: යළියොමුව, මෘදු ප්රවර්ග යළියොමුවක් බවට හැරවීම
234133
wikitext
text/x-wiki
{{category redirect|යෙදුම්, Romansh පරිවර්තන සහිත}}
ru00vzul7eewsg7rij603chtsr40zvd
ප්රවර්ගය:යෙදුම්, Serbo-Croatian පරිවර්තන සහිත
14
143608
234116
2026-05-15T09:57:35Z
Pinthura
2424
Pinthura විසින් [[ප්රවර්ගය:යෙදුම්, Serbo-Croatian පරිවර්තන සහිත]] සිට [[ප්රවර්ගය:යෙදුම්, සර්බෝ-ක්රොඒෂියානු පරිවර්තන සහිත]] වෙත පිටුව ගෙන යන ලදී: සේවා: නව ප්රවර්ග නාමය වෙත ගෙනයාම.
234116
wikitext
text/x-wiki
#යළියොමුව [[:ප්රවර්ගය:යෙදුම්, සර්බෝ-ක්රොඒෂියානු පරිවර්තන සහිත]]
8wzikma296x7myl8zyez8pd7w6o0od1
234117
234116
2026-05-15T09:57:45Z
Pinthura
2424
සේවා: යළියොමුව, මෘදු ප්රවර්ග යළියොමුවක් බවට හැරවීම.
234117
wikitext
text/x-wiki
{{category redirect|යෙදුම්, සර්බෝ-ක්රොඒෂියානු පරිවර්තන සහිත}}
tdaj3nydgoqobxwz82h8fitzgz3p3ex
ප්රවර්ගය:Terms with සර්බෝ-ක්රොඒෂියානු translations
14
143609
234118
2026-05-15T09:57:55Z
Pinthura
2424
සේවා: මෘදු ප්රවර්ග යළියොමුවක් නිර්මාණය.
234118
wikitext
text/x-wiki
{{category redirect|යෙදුම්, සර්බෝ-ක්රොඒෂියානු පරිවර්තන සහිත}}
tdaj3nydgoqobxwz82h8fitzgz3p3ex
ප්රවර්ගය:ස්පාඤ්ඤ යෙදුම්, Proto-Italic වෙතින් උරුම වූ
14
143610
234120
2026-05-15T09:58:23Z
Pinthura
2424
Pinthura විසින් [[ප්රවර්ගය:ස්පාඤ්ඤ යෙදුම්, Proto-Italic වෙතින් උරුම වූ]] සිට [[ප්රවර්ගය:ස්පාඤ්ඤ යෙදුම්, ප්රොටෝ-ඉතාලිකා වෙතින් උරුම වූ]] වෙත පිටුව ගෙන යන ලදී: සේවා: නව ප්රවර්ග නාමය වෙත ගෙනයාම.
234120
wikitext
text/x-wiki
#යළියොමුව [[:ප්රවර්ගය:ස්පාඤ්ඤ යෙදුම්, ප්රොටෝ-ඉතාලිකා වෙතින් උරුම වූ]]
402obxyszqd6q7yws1xmb5j9xy9eh8f
234121
234120
2026-05-15T09:58:32Z
Pinthura
2424
සේවා: යළියොමුව, මෘදු ප්රවර්ග යළියොමුවක් බවට හැරවීම.
234121
wikitext
text/x-wiki
{{category redirect|ස්පාඤ්ඤ යෙදුම්, ප්රොටෝ-ඉතාලිකා වෙතින් උරුම වූ}}
ljxoyybnebiybikfox3ozuhkmcx9a1k
ප්රවර්ගය:ස්පාඤ්ඤ terms inherited from ප්රොටෝ-ඉතාලිකා
14
143611
234123
2026-05-15T09:58:53Z
Pinthura
2424
සේවා: මෘදු ප්රවර්ග යළියොමුවක් නිර්මාණය.
234123
wikitext
text/x-wiki
{{category redirect|ස්පාඤ්ඤ යෙදුම්, ප්රොටෝ-ඉතාලිකා වෙතින් උරුම වූ}}
ljxoyybnebiybikfox3ozuhkmcx9a1k
Module:category tree/lang/sh
828
143612
234124
2025-07-31T05:54:37Z
en>TongcyDai
0
234124
Scribunto
text/plain
local labels = {}
local handlers = {}
local lang = require("Module:languages").getByCode("sh")
local rfind = mw.ustring.find
local rmatch = mw.ustring.match
for _, pos in ipairs { "nouns" } do
labels["masculine animate " .. pos] = {
description = "{{{langname}}} masculine " .. pos .. " that refer to humans or animals.",
breadcrumb = "animate",
parents = {{name = "masculine " .. pos, sort = "animate"}},
}
labels["masculine inanimate " .. pos] = {
description = "{{{langname}}} masculine " .. pos .. " that refer to inanimate objects.",
breadcrumb = "inanimate",
parents = {{name = "masculine " .. pos, sort = "inanimate"}},
}
end
return {LABELS = labels}
482dpk5ewtb3mh92elxn8o2k8t10ll1
234125
234124
2026-05-15T09:59:13Z
Lee
19
[[:en:Module:category_tree/lang/sh]] වෙතින් එක් සංශෝධනයක්
234124
Scribunto
text/plain
local labels = {}
local handlers = {}
local lang = require("Module:languages").getByCode("sh")
local rfind = mw.ustring.find
local rmatch = mw.ustring.match
for _, pos in ipairs { "nouns" } do
labels["masculine animate " .. pos] = {
description = "{{{langname}}} masculine " .. pos .. " that refer to humans or animals.",
breadcrumb = "animate",
parents = {{name = "masculine " .. pos, sort = "animate"}},
}
labels["masculine inanimate " .. pos] = {
description = "{{{langname}}} masculine " .. pos .. " that refer to inanimate objects.",
breadcrumb = "inanimate",
parents = {{name = "masculine " .. pos, sort = "inanimate"}},
}
end
return {LABELS = labels}
482dpk5ewtb3mh92elxn8o2k8t10ll1
පැතිරී
0
143613
234134
2026-05-15T11:04:32Z
WrdSrchSi
3305
Page created: + etymon|si + IPA|si + head|si|verb forms + infl of|si (ක්රියා පද 1, ක්රියා පද 2) + ප්රවර්ග
234134
wikitext
text/x-wiki
==සිංහල==
=== නිරුක්තිය ===
{{etymon|si|id=පතුර ඊ|af|si>පතුර#ධාතු ප්රකෘතිය>ප්රකෘතිය|si>-ඊ>ප්රත්ය|tree=1}}
''[[පතුර#ධාතු ප්රකෘතිය|පතුර]] (ප්රකෘතිය) + [[-ඊ]] (ප්රත්ය) >'' [[පැතිරී]]
===උච්චාරණය===
* {{IPA|si|/ˈpætiriː/}}
===ක්රියා පද 1===
{{head|si|verb forms}}
# {{lb|si|සකර්මක}} {{infl of|si|පතුරයි#ක්රියා පද||අතීත|අන්ය පුරුෂ|ඒකවචන|ආඛ්යාත ක්රියා}}
===ක්රියා පද 2===
{{head|si|verb forms|සකර්මක අතීත-නිපාත|පතුරා#ක්රියා පද|අනතීත-කර්ම කාරක අන්ය පුරුෂ ඒකවචන ආඛ්යාත|පැතිරේ#ක්රියා පද 2}}
# {{infl of|si|පතුරයි#ක්රියා පද||කර්ම කාරක|අතීත|නිපාත ක්රියා}}
[[ප්රවර්ගය: සිංහල ආඛ්යාත ක්රියා පද]] [[ප්රවර්ගය: සිංහල නිපාත ක්රියා පද]]
39drvocdsdsf7drly9x35zzuaifltk2
පැතිරේ
0
143614
234136
2026-05-15T11:11:38Z
WrdSrchSi
3305
Page created: + වෙනත් ආකාර + etymon|si + IPA|si + head|si|verb + head|si|verb forms|head= + අමතර අවධානයට + මූලාශ්ර + ප්රවර්ගය
234136
wikitext
text/x-wiki
==සිංහල==
===වෙනත් ආකාර===
* {{l|si|පැතිරෙයි#ක්රියා පද|පැතිරෙයි}}
=== නිරුක්තිය ===
{{etymon|si|id=පතුර ඒ|af|si>පතුර#ධාතු ප්රකෘතිය>ප්රකෘතිය|si>-ඒ>ප්රත්ය|tree=1}}
''[[පතුර#ධාතු ප්රකෘතිය|පතුර]] ([[ප්රකෘතිය]]) + [[-ඒ]] ([[ප්රත්ය]]) >'' [[පැතිරේ]]
===උච්චාරණය===
* {{IPA|si|/ˈpætireː/}}
===ක්රියා පද 1===
{{head|si|verb
|අතීත-අකර්මක අන්ය පුරුෂ ඒකවචන|පැතිරිණි#ක්රියා පද 1
|අනතීත-අකර්මක අන්ය පුරුෂ බහුවචන|පැතිරෙති#ක්රියා පද 1
|අනතීත-අකර්මක උත්තම ඒකවචන|පැතිරෙමි#ක්රියා පද 1
|අනතීත-අකර්මක උත්තම බහුවචන|පැතිරෙමු#ක්රියා පද 1
|අනතීත-ප්රයුක්ත|?
|අනතීත-භාව නාම|පැතිරෙනවා#ක්රියා පද 1
|අනතීත-කාරක නාම|පැතිරෙන්නේ#ක්රියා පද 1
|වර්තමාන-නිපාත|පැතිරෙමින්#ක්රියා පද 1}}
# {{lb|si|අකර්මක}} {{rfdef|si}}
===ක්රියා පද 2===
{{head|si|verb forms|head=පැතිරේ|අතීත-කර්ම කාරක අන්ය පුරුෂ ඒකවචන|පැතිරිණි#ක්රියා පද 2|අනතීත-කර්ම කාරක අන්ය පුරුෂ බහුවචන|පැතිරෙති#ක්රියා පද 2|අනතීත-කර්ම කාරක උත්තම ඒකවචන|පැතිරෙමි#ක්රියා පද 2|අනතීත-කර්ම කාරක උත්තම බහුවචන|පැතිරෙමු#ක්රියා පද 2}}
# {{infl of|si|පතුරයි#ක්රියා පද||අනතීත|කර්ම කාරක|අන්ය පුරුෂ|ඒකවචන|ආඛ්යාත ක්රියා}}
=== අමතර අවධානයට ===
{{top4}}
* {{l|si|ඇතිරේ}}
* {{l|si|විසිරේ}}
* {{l|si|ඉතිරේ}}
* {{l|si|වැතිරේ}}
{{bottom}}
=== මූලාශ්ර ===
<references/>
* "[[අතුර#ධාතු ප්රකෘතිය|අතුර]] [https://tipitaka.lk/library/963]", කුමාරණතුංග මුනිදාස, '''''ක්රියා විවරණය''''', — 110 පිටුව
[[ප්රවර්ගය: සිංහල ආඛ්යාත ක්රියා පද]]
52yw0i7kd65vjbxeqigvsnf6lg7hr66
පැතිරූ
0
143615
234137
2026-05-15T11:20:55Z
WrdSrchSi
3305
Page created: + වෙනත් ආකාර + etymon|si + IPA|si + head|si|verb forms + infl of|si + ප්රවර්ගය
234137
wikitext
text/x-wiki
==සිංහල==
===වෙනත් ආකාර===
* {{l|si|පැතුරූ#ක්රියා පද|පැතුරූ}} ''(ක්රියා පද සඳහා පමණි)''
=== නිරුක්තිය 1 ===
{{etymon|si|id=අතුර ඌ|af|si>අතුර#ධාතු ප්රකෘතිය>ප්රකෘතිය|si>-ඌ>ප්රත්ය|tree=1}}
''[[පතුර#ධාතු ප්රකෘතිය|පතුර]] (ප්රකෘතිය) + [[-ඌ]] (ප්රත්ය) >'' [[පැතිරූ]]
===උච්චාරණය===
* {{IPA|si|/ˈpætiruː/}}
===ක්රියා පද===
{{head|si|verb forms}}
# {{lb|si|සකර්මක}} {{infl of|si|පතුරයි#ක්රියා පද||අතීත|අන්ය පුරුෂ|බහුවචන|ආඛ්යාත ක්රියා}}
[[ප්රවර්ගය: සිංහල ආඛ්යාත ක්රියා පද]]
59gq8qq4kv0tlggfbfpgg3eoxdv5oa5
234138
234137
2026-05-15T11:22:38Z
WrdSrchSi
3305
/*නිරුක්තිය*/ Fixed.
234138
wikitext
text/x-wiki
==සිංහල==
===වෙනත් ආකාර===
* {{l|si|පැතුරූ#ක්රියා පද|පැතුරූ}}
=== නිරුක්තිය ===
{{etymon|si|id=පතුර ඌ|af|si>පතුර#ධාතු ප්රකෘතිය>ප්රකෘතිය|si>-ඌ>ප්රත්ය|tree=1}}
''[[පතුර#ධාතු ප්රකෘතිය|පතුර]] (ප්රකෘතිය) + [[-ඌ]] (ප්රත්ය) >'' [[පැතිරූ]]
===උච්චාරණය===
* {{IPA|si|/ˈpætiruː/}}
===ක්රියා පද===
{{head|si|verb forms}}
# {{lb|si|සකර්මක}} {{infl of|si|පතුරයි#ක්රියා පද||අතීත|අන්ය පුරුෂ|බහුවචන|ආඛ්යාත ක්රියා}}
[[ප්රවර්ගය: සිංහල ආඛ්යාත ක්රියා පද]]
2a4xxx4xeihsqqjq8mzulht6nh9wzj2
සාකච්ඡාව:පැතිරූ
1
143616
234139
2026-05-15T11:28:15Z
WrdSrchSi
3305
/* පැතිරුව */ නව ඡේදය
234139
wikitext
text/x-wiki
== පැතිරුව ==
@[[පරිශීලක:Lee|Lee]]; පිළිරුව වගේ "පැතිරුව" කියලා නාම පදයක් ව්යවහරේ තියෙනවනම් කියන්න. තියෙනවනම් එකේ නාම ප්රකෘතිය වෙන්නේ "පැතිරූ" නිසා ඒක මේ පිටුවට දාන්න ඕනේ. [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 11:28, 15 මැයි 2026 (යූටීසී)
bw2z94qoq5gtgogj687ap6leb1zsbm0