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.46.0-wmf.22 case-sensitive මාධ්‍යය විශේෂ සාකච්ඡාව පරිශීලක පරිශීලක සාකච්ඡාව වික්ෂනරි වික්ෂනරි සාකච්ඡාව ගොනුව ගොනුව සාකච්ඡාව මාධ්‍යවිකි මාධ්‍යවිකි සාකච්ඡාව සැකිල්ල සැකිලි සාකච්ඡාව උදවු උදවු සාකච්ඡාව ප්‍රවර්ගය ප්‍රවර්ග සාකච්ඡාව TimedText TimedText talk Module Module talk Event Event talk වික්ෂනරි:වින්කලය 4 4920 230606 228197 2026-04-05T14:27:44Z Lee 19 /* MediaWiki:Gadget-Palette.css */ නව ඡේදය 230606 wikitext text/x-wiki __NEWSECTIONLINK__ <small>වික්ෂණරිය > [[Wiktionary:Discussion rooms|සාකච්ඡා මණ්ඩප]] >වින්කලය</small> {{shortcut|WT:GP}} <inputbox> bgcolor=transparent type=fulltext prefix=වික්ෂනරි:වින්කලය break=no width=50 searchbuttonlabel=වින්කලය ලේඛනාගාරය තුළ සොයන්න </inputbox> <div style="padding:1em;font-size:1.4em;text-align:center" class="plainlinks" id="new-section-redirect">{{clickable button|නව සාකච්ඡාවකට මෙතැන ක්ලික් කරන්න|class=mw-ui-progressive|url={{fullurl:වික්ෂනරි:වින්කලය|action=edit&section=new}}}}</div> {{Wiktionary:Discussion rooms}} {{වික්ෂනරි:වින්කලය/ශීර්ෂකය}} [[Category:High volume discussion pages]] [[cs:Wikislovník:Pod lípou (technika)]] [[de:Wiktionary:Meinungsbild/Vorlage und Standards]] [[en:Wiktionary:Grease pit]] [[fr:Wiktionnaire:Questions techniques]] [[it:Wikizionario:Discussione policy/Template/Discussioni]] == ඉංග්‍රීසි ප්‍රවර්ග ක්‍රමය == වඩා හොඳ ක්‍රමයක් හොයා ගන්න බැරිනම් අපිත් ඉංග්‍රීසි ප්‍රවර්ග ක්‍රමයම භාවිතා කරමු නේද? -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 12:19, 29 සැප්තැම්බර් 2023 (යූටීසී) == උපග්‍රන්තය නාමාවකාශය ලබා ගැනීම == === තාක්ෂණික කරුණු === ==== මූලික ==== * හැඳිනුම් අංකය (NS): 100 * නාමාවකාශ නාමය (Name): උපග්‍රන්ථය * හරවා යැවීම් (Redirect): Appendix ==== සාකච්ඡා ==== * හැඳිනුම් අංකය (NS): 101 * නාමාවකාශ නාමය (Name): උපග්‍රන්ථ සාකච්ඡාව * හරවා යැවීම් (Redirect): Appendix talk === යෝජනාව === දැනට මෙම ව්‍යාපෘතිය තුළ "උපග්‍රන්ථය" නමින් නාමාවකාශයක් නොපවතියි. ඉංග්‍රීසි ව්‍යාපෘතියේ පවතින බොහෝ සැකිලි මගින් "Appendix" නාමාවකාශය බලාපොරොත්තු වන බැවින් සහ, උපග්‍රන්ත ලෙස වෙන් කළ යුතු කරුණු එසේ යොමු කිරීම සඳහා මෙම ව්‍යාපෘතිය තුළ ද එම නාමාවකාශය නිර්මාණය කළ යුතු බවට යෝජනා කරමි. -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 15:08, 13 ජූලි 2025 (යූටීසී) === සහාය === # යෝජකයා ලෙස. --[[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 15:09, 13 ජූලි 2025 (යූටීසී) #--[[පරිශීලක:සමන්|සමන්]] ([[පරිශීලක සාකච්ඡාව:සමන්|සාකච්ඡාව]]) 04:25, 17 ජූලි 2025 (යූටීසී) === අදහස් === වෙනත් අදහස් වෙතොත් පහත දක්වන්න: == නිරුක්ති ශාඛා, පරිවර්තන වැඩතලයේ දී පෙන්නන්නේ නැත්තේ ඇයි? == *{{revision|221377|පෙර සාකච්ඡාව සඳහා මෙතැන බලන්න}}. @[[පරිශීලක:WrdSrchSi|WrdSrchSi]], මෙම ගැටළුව ලොග් වෙලා නොමැති පරිශිලකයන් හට පමණයි නේද? -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 10:07, 16 ජනවාරි 2026 (යූටීසී) :@[[පරිශීලක:Lee|Lee]]; නැහැ. මට '''වැඩතලයේ''' දී ලොග් වෙලා ඉඳිද්දිත් නිරුක්ති ශාඛා, පරිවර්තන පේන්නේ නැහැ. (මට ජංගම දසුනේ දී තත්වය නම් දැන් බලන්න විදිහක් නැහැ.) [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 10:48, 16 ජනවාරි 2026 (යූටීසී) ::@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], [[computings]] යොමුවේ quotation නිවැරදි ලෙස පෙන්වනවා ද? මට ලොග් වෙලා සිටින විට නිවැරදිව පෙන්වනවා, නමුත් ලොග් වෙලා නොමැති නම්, වැඩ නෑ. -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 14:05, 16 ජනවාරි 2026 (යූටීසී) :::@[[පරිශීලක:Lee|Lee]], ලොග් වෙලා ඉන්න කොට quotation පෙනෙන්නෙ නැහැ. පෙනෙන්නේ මෙහෙම: computing යන යෙදුමෙහි බහුවචන පදය [] [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 16:19, 16 ජනවාරි 2026 (යූටීසී) ::::@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], මාර වැඩේ. මට ලොග් වෙලා නම් හරියට පෙන්වනවා. ලොග් වෙලා නැත්නම් ඔය කියන විදිහට තමා පේන්නේ. JS අවුලක් ද CSS අවුලක් ද? -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 15:37, 17 ජනවාරි 2026 (යූටීසී) :::::@[[පරිශීලක:Lee|Lee]], අපි දෙන්නගේ විකිපීඩියා ගිණුම් දෙක වර්ග දෙකක් වෙනවා ඇති නේ ද? මගේ මට්ටමේ වෙන කෙනෙක් ගෙනුත් අහලා බැලුව ද? [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 17:17, 17 ජනවාරි 2026 (යූටීසී) ::::::@[[පරිශීලක:Lee|Lee]], අර wikitable, center align එක නම් හම්බ වුණා. හැබැයි manually කරන්න ඕනේ. align="center"| කියලා දාන්න වෙනවා. [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 16:52, 9 පෙබරවාරි 2026 (යූටීසී) == MediaWiki:Gadget-Palette.css == ඉංග්‍රීසි වික්ෂණරියේ සිට [[:en:MediaWiki:Gadget-Palette.css]] මෙම ව්‍යාපෘතියට ආයාත කිරීමට යෝජනා කරමි. * ප්‍රභවය: [[:en:MediaWiki:Gadget-Palette.css]] * ඉලක්කය: [[:MediaWiki:Gadget-Palette.css]] විරුද්ධතා ඇතොත් පහත දක්වන්න. එසේ නැත්නම් සහාය දක්වන්න. -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 14:27, 5 අප්‍රේල් 2026 (යූටීසී) 8frdst6deejbetvfth3gkk4rsak4am8 230607 230606 2026-04-05T14:28:28Z Lee 19 /* MediaWiki:Gadget-Palette.css */ 230607 wikitext text/x-wiki __NEWSECTIONLINK__ <small>වික්ෂණරිය > [[Wiktionary:Discussion rooms|සාකච්ඡා මණ්ඩප]] >වින්කලය</small> {{shortcut|WT:GP}} <inputbox> bgcolor=transparent type=fulltext prefix=වික්ෂනරි:වින්කලය break=no width=50 searchbuttonlabel=වින්කලය ලේඛනාගාරය තුළ සොයන්න </inputbox> <div style="padding:1em;font-size:1.4em;text-align:center" class="plainlinks" id="new-section-redirect">{{clickable button|නව සාකච්ඡාවකට මෙතැන ක්ලික් කරන්න|class=mw-ui-progressive|url={{fullurl:වික්ෂනරි:වින්කලය|action=edit&section=new}}}}</div> {{Wiktionary:Discussion rooms}} {{වික්ෂනරි:වින්කලය/ශීර්ෂකය}} [[Category:High volume discussion pages]] [[cs:Wikislovník:Pod lípou (technika)]] [[de:Wiktionary:Meinungsbild/Vorlage und Standards]] [[en:Wiktionary:Grease pit]] [[fr:Wiktionnaire:Questions techniques]] [[it:Wikizionario:Discussione policy/Template/Discussioni]] == ඉංග්‍රීසි ප්‍රවර්ග ක්‍රමය == වඩා හොඳ ක්‍රමයක් හොයා ගන්න බැරිනම් අපිත් ඉංග්‍රීසි ප්‍රවර්ග ක්‍රමයම භාවිතා කරමු නේද? -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 12:19, 29 සැප්තැම්බර් 2023 (යූටීසී) == උපග්‍රන්තය නාමාවකාශය ලබා ගැනීම == === තාක්ෂණික කරුණු === ==== මූලික ==== * හැඳිනුම් අංකය (NS): 100 * නාමාවකාශ නාමය (Name): උපග්‍රන්ථය * හරවා යැවීම් (Redirect): Appendix ==== සාකච්ඡා ==== * හැඳිනුම් අංකය (NS): 101 * නාමාවකාශ නාමය (Name): උපග්‍රන්ථ සාකච්ඡාව * හරවා යැවීම් (Redirect): Appendix talk === යෝජනාව === දැනට මෙම ව්‍යාපෘතිය තුළ "උපග්‍රන්ථය" නමින් නාමාවකාශයක් නොපවතියි. ඉංග්‍රීසි ව්‍යාපෘතියේ පවතින බොහෝ සැකිලි මගින් "Appendix" නාමාවකාශය බලාපොරොත්තු වන බැවින් සහ, උපග්‍රන්ත ලෙස වෙන් කළ යුතු කරුණු එසේ යොමු කිරීම සඳහා මෙම ව්‍යාපෘතිය තුළ ද එම නාමාවකාශය නිර්මාණය කළ යුතු බවට යෝජනා කරමි. -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 15:08, 13 ජූලි 2025 (යූටීසී) === සහාය === # යෝජකයා ලෙස. --[[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 15:09, 13 ජූලි 2025 (යූටීසී) #--[[පරිශීලක:සමන්|සමන්]] ([[පරිශීලක සාකච්ඡාව:සමන්|සාකච්ඡාව]]) 04:25, 17 ජූලි 2025 (යූටීසී) === අදහස් === වෙනත් අදහස් වෙතොත් පහත දක්වන්න: == නිරුක්ති ශාඛා, පරිවර්තන වැඩතලයේ දී පෙන්නන්නේ නැත්තේ ඇයි? == *{{revision|221377|පෙර සාකච්ඡාව සඳහා මෙතැන බලන්න}}. @[[පරිශීලක:WrdSrchSi|WrdSrchSi]], මෙම ගැටළුව ලොග් වෙලා නොමැති පරිශිලකයන් හට පමණයි නේද? -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 10:07, 16 ජනවාරි 2026 (යූටීසී) :@[[පරිශීලක:Lee|Lee]]; නැහැ. මට '''වැඩතලයේ''' දී ලොග් වෙලා ඉඳිද්දිත් නිරුක්ති ශාඛා, පරිවර්තන පේන්නේ නැහැ. (මට ජංගම දසුනේ දී තත්වය නම් දැන් බලන්න විදිහක් නැහැ.) [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 10:48, 16 ජනවාරි 2026 (යූටීසී) ::@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], [[computings]] යොමුවේ quotation නිවැරදි ලෙස පෙන්වනවා ද? මට ලොග් වෙලා සිටින විට නිවැරදිව පෙන්වනවා, නමුත් ලොග් වෙලා නොමැති නම්, වැඩ නෑ. -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 14:05, 16 ජනවාරි 2026 (යූටීසී) :::@[[පරිශීලක:Lee|Lee]], ලොග් වෙලා ඉන්න කොට quotation පෙනෙන්නෙ නැහැ. පෙනෙන්නේ මෙහෙම: computing යන යෙදුමෙහි බහුවචන පදය [] [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 16:19, 16 ජනවාරි 2026 (යූටීසී) ::::@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], මාර වැඩේ. මට ලොග් වෙලා නම් හරියට පෙන්වනවා. ලොග් වෙලා නැත්නම් ඔය කියන විදිහට තමා පේන්නේ. JS අවුලක් ද CSS අවුලක් ද? -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 15:37, 17 ජනවාරි 2026 (යූටීසී) :::::@[[පරිශීලක:Lee|Lee]], අපි දෙන්නගේ විකිපීඩියා ගිණුම් දෙක වර්ග දෙකක් වෙනවා ඇති නේ ද? මගේ මට්ටමේ වෙන කෙනෙක් ගෙනුත් අහලා බැලුව ද? [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 17:17, 17 ජනවාරි 2026 (යූටීසී) ::::::@[[පරිශීලක:Lee|Lee]], අර wikitable, center align එක නම් හම්බ වුණා. හැබැයි manually කරන්න ඕනේ. align="center"| කියලා දාන්න වෙනවා. [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 16:52, 9 පෙබරවාරි 2026 (යූටීසී) == MediaWiki:Gadget-Palette.css == ඉංග්‍රීසි වික්ෂණරියේ සිට [[:en:MediaWiki:Gadget-Palette.css]] මෙම ව්‍යාපෘතියට ආයාත කිරීමට යෝජනා කරමි. * ප්‍රභවය: [[:en:MediaWiki:Gadget-Palette.css]] * ඉලක්කය: [[:MediaWiki:Gadget-Palette.css]] විරුද්ධතා ඇතොත් පහත දක්වන්න. එසේ නැත්නම් සහාය දක්වන්න. -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 14:27, 5 අප්‍රේල් 2026 (යූටීසී) === අදහස් === ==== සහාය ==== ==== විරුද්ධ ==== 82m88jesaz7onfeep92j7nv84q9ev4f 230608 230607 2026-04-05T14:28:56Z Lee 19 /* සහාය */ 230608 wikitext text/x-wiki __NEWSECTIONLINK__ <small>වික්ෂණරිය > [[Wiktionary:Discussion rooms|සාකච්ඡා මණ්ඩප]] >වින්කලය</small> {{shortcut|WT:GP}} <inputbox> bgcolor=transparent type=fulltext prefix=වික්ෂනරි:වින්කලය break=no width=50 searchbuttonlabel=වින්කලය ලේඛනාගාරය තුළ සොයන්න </inputbox> <div style="padding:1em;font-size:1.4em;text-align:center" class="plainlinks" id="new-section-redirect">{{clickable button|නව සාකච්ඡාවකට මෙතැන ක්ලික් කරන්න|class=mw-ui-progressive|url={{fullurl:වික්ෂනරි:වින්කලය|action=edit&section=new}}}}</div> {{Wiktionary:Discussion rooms}} {{වික්ෂනරි:වින්කලය/ශීර්ෂකය}} [[Category:High volume discussion pages]] [[cs:Wikislovník:Pod lípou (technika)]] [[de:Wiktionary:Meinungsbild/Vorlage und Standards]] [[en:Wiktionary:Grease pit]] [[fr:Wiktionnaire:Questions techniques]] [[it:Wikizionario:Discussione policy/Template/Discussioni]] == ඉංග්‍රීසි ප්‍රවර්ග ක්‍රමය == වඩා හොඳ ක්‍රමයක් හොයා ගන්න බැරිනම් අපිත් ඉංග්‍රීසි ප්‍රවර්ග ක්‍රමයම භාවිතා කරමු නේද? -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 12:19, 29 සැප්තැම්බර් 2023 (යූටීසී) == උපග්‍රන්තය නාමාවකාශය ලබා ගැනීම == === තාක්ෂණික කරුණු === ==== මූලික ==== * හැඳිනුම් අංකය (NS): 100 * නාමාවකාශ නාමය (Name): උපග්‍රන්ථය * හරවා යැවීම් (Redirect): Appendix ==== සාකච්ඡා ==== * හැඳිනුම් අංකය (NS): 101 * නාමාවකාශ නාමය (Name): උපග්‍රන්ථ සාකච්ඡාව * හරවා යැවීම් (Redirect): Appendix talk === යෝජනාව === දැනට මෙම ව්‍යාපෘතිය තුළ "උපග්‍රන්ථය" නමින් නාමාවකාශයක් නොපවතියි. ඉංග්‍රීසි ව්‍යාපෘතියේ පවතින බොහෝ සැකිලි මගින් "Appendix" නාමාවකාශය බලාපොරොත්තු වන බැවින් සහ, උපග්‍රන්ත ලෙස වෙන් කළ යුතු කරුණු එසේ යොමු කිරීම සඳහා මෙම ව්‍යාපෘතිය තුළ ද එම නාමාවකාශය නිර්මාණය කළ යුතු බවට යෝජනා කරමි. -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 15:08, 13 ජූලි 2025 (යූටීසී) === සහාය === # යෝජකයා ලෙස. --[[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 15:09, 13 ජූලි 2025 (යූටීසී) #--[[පරිශීලක:සමන්|සමන්]] ([[පරිශීලක සාකච්ඡාව:සමන්|සාකච්ඡාව]]) 04:25, 17 ජූලි 2025 (යූටීසී) === අදහස් === වෙනත් අදහස් වෙතොත් පහත දක්වන්න: == නිරුක්ති ශාඛා, පරිවර්තන වැඩතලයේ දී පෙන්නන්නේ නැත්තේ ඇයි? == *{{revision|221377|පෙර සාකච්ඡාව සඳහා මෙතැන බලන්න}}. @[[පරිශීලක:WrdSrchSi|WrdSrchSi]], මෙම ගැටළුව ලොග් වෙලා නොමැති පරිශිලකයන් හට පමණයි නේද? -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 10:07, 16 ජනවාරි 2026 (යූටීසී) :@[[පරිශීලක:Lee|Lee]]; නැහැ. මට '''වැඩතලයේ''' දී ලොග් වෙලා ඉඳිද්දිත් නිරුක්ති ශාඛා, පරිවර්තන පේන්නේ නැහැ. (මට ජංගම දසුනේ දී තත්වය නම් දැන් බලන්න විදිහක් නැහැ.) [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 10:48, 16 ජනවාරි 2026 (යූටීසී) ::@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], [[computings]] යොමුවේ quotation නිවැරදි ලෙස පෙන්වනවා ද? මට ලොග් වෙලා සිටින විට නිවැරදිව පෙන්වනවා, නමුත් ලොග් වෙලා නොමැති නම්, වැඩ නෑ. -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 14:05, 16 ජනවාරි 2026 (යූටීසී) :::@[[පරිශීලක:Lee|Lee]], ලොග් වෙලා ඉන්න කොට quotation පෙනෙන්නෙ නැහැ. පෙනෙන්නේ මෙහෙම: computing යන යෙදුමෙහි බහුවචන පදය [] [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 16:19, 16 ජනවාරි 2026 (යූටීසී) ::::@[[පරිශීලක:WrdSrchSi|WrdSrchSi]], මාර වැඩේ. මට ලොග් වෙලා නම් හරියට පෙන්වනවා. ලොග් වෙලා නැත්නම් ඔය කියන විදිහට තමා පේන්නේ. JS අවුලක් ද CSS අවුලක් ද? -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 15:37, 17 ජනවාරි 2026 (යූටීසී) :::::@[[පරිශීලක:Lee|Lee]], අපි දෙන්නගේ විකිපීඩියා ගිණුම් දෙක වර්ග දෙකක් වෙනවා ඇති නේ ද? මගේ මට්ටමේ වෙන කෙනෙක් ගෙනුත් අහලා බැලුව ද? [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 17:17, 17 ජනවාරි 2026 (යූටීසී) ::::::@[[පරිශීලක:Lee|Lee]], අර wikitable, center align එක නම් හම්බ වුණා. හැබැයි manually කරන්න ඕනේ. align="center"| කියලා දාන්න වෙනවා. [[පරිශීලක:WrdSrchSi|WrdSrchSi]] ([[පරිශීලක සාකච්ඡාව:WrdSrchSi|සාකච්ඡාව]]) 16:52, 9 පෙබරවාරි 2026 (යූටීසී) == MediaWiki:Gadget-Palette.css == ඉංග්‍රීසි වික්ෂණරියේ සිට [[:en:MediaWiki:Gadget-Palette.css]] මෙම ව්‍යාපෘතියට ආයාත කිරීමට යෝජනා කරමි. * ප්‍රභවය: [[:en:MediaWiki:Gadget-Palette.css]] * ඉලක්කය: [[:MediaWiki:Gadget-Palette.css]] විරුද්ධතා ඇතොත් පහත දක්වන්න. එසේ නැත්නම් සහාය දක්වන්න. -- [[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 14:27, 5 අප්‍රේල් 2026 (යූටීසී) === අදහස් === ==== සහාය ==== # යෝජකයා ලෙස. --[[පරිශීලක:Lee|Lee]] ([[පරිශීලක සාකච්ඡාව:Lee|සාකච්ඡාව]]) 14:28, 5 අප්‍රේල් 2026 (යූටීසී) ==== විරුද්ධ ==== h6pqrzc12pjey00qadawvjtpnivfiif සැකිල්ල:ස්ථානය/documentation 10 32585 230598 82913 2026-03-19T00:29:56Z en>Emanuele6 0 fix overlapping 230598 wikitext text/x-wiki {{documentation subpage}} {{hatnote|For a list of types of place name of each country, see '''[[Wiktionary:Place names]]''' .}} {{rfc|und|Missing documentation for many parameters and features.}} {{uses lua|Module:place}} This template generates definition lines and categories for [[placename]]s. ==Usage== The basic usage is as follows (e.g. for {{m|en|Germany}}): <syntaxhighlight lang="wikitext"> # {{place|en|country|cont/Europe}}. </syntaxhighlight> which generates: # {{place|en|country|cont/Europe}}. and places the page in [[:Category:en:Countries in Europe]]. The second parameter is the type of the place, while the third and further parameters are ''holonyms'', indicating the larger entities that the place is contained within. Each holonym is of the form <code>TYPE/NAME</code>. The type can be spelled out in full, e.g. <code>continent</code>; common types can also be abbreviated, e.g. <code>cont</code> for <code>continent</code> (as above), <code>s</code> for <code>state</code>, <code>p</code> for <code>province</code>, <code>c</code> for <code>country</code>, etc. The full list of abbreviations is given below. More than one holonym can be given, e.g. for {{m|en|Toronto}}: <syntaxhighlight lang="wikitext"> # {{place|en|city|p/Ontario|c/Canada}}. </syntaxhighlight> which generates: # {{place|en|city|p/Ontario|c/Canada}}. and places the page in [[:Category:en:Cities in Ontario, Canada]]. The categorization system automatically generates the correct-format definition and category/categories, even when that requires computing a variant name, e.g. for {{m|en|Amsterdam}}: <syntaxhighlight lang="wikitext"> # {{place|en|city|c/Netherlands}}. </syntaxhighlight> which generates: # {{place|en|city|c/Netherlands}}. and places the page in [[:Category:en:Cities in the Netherlands]]. In this case, both the definition and category need to have "the" prefixed to the country name, which automatically happens. As another example, for {{m|en|Pittsburgh}}: <syntaxhighlight lang="wikitext"> # {{place|en|city|s/Pennsylvania|c/United States}}. </syntaxhighlight> which generates: # {{place|en|city|s/Pennsylvania|c/United States}}. and places the page in [[:Category:en:Cities in Pennsylvania, USA]]. (States of the United States are suffixed with <code>, USA</code> in some categories, to aid in distinguishing the US state of Georgia from the country of Georgia.) For place names in foreign languages, a translation in English can be given, which changes the definition format, e.g. for {{m|fr|Allemagne}} (the French term for Germany): <syntaxhighlight lang="wikitext"> # {{place|fr|country|cont/Europe|t1=Germany}} </syntaxhighlight> which generates: # {{place|fr|country|cont/Europe|t1=Germany}} and places the page in [[:Category:fr:Countries in Europe]]. (Note that this category has language code <code>fr</code>, which contains ''French'' terms for countries in Europe, rather than English terms.) Some place types use "of" instead of "in" in the definition and category, e.g. for {{m|en|Fairfax County}}: <syntaxhighlight lang="wikitext"> # {{place|en|county|s/Virginia|c/United States}}. </syntaxhighlight> which generates: # {{place|en|county|s/Virginia|c/United States}}. and places the page in [[:Category:en:Counties of Virginia, USA]]. Additional descriptive text can be present among the holonyms, and will be formatted correctly in the definition, e.g. for {{m|en|Germany}}: <syntaxhighlight lang="wikitext"> # {{place|en|country|in central|cont/Europe}}. </syntaxhighlight> which generates: # {{place|en|country|in central|cont/Europe}}. and places the page in [[:Category:en:Countries in Europe]], as above. ==Single-spec format== For complex cases, an alternative format can be used, known as ''single spec'', which freely allows for placetypes and holonyms to be interspersed among raw text, e.g. as follows (for {{m|en|Fener}}): <syntaxhighlight lang="wikitext"># {{place|en|A <<neighborhood>> midway up the <<inlet/Golden Horn>> within <<dist/Fatih>> in <<city/Istanbul>>, <<c/Turkey>>}}.</syntaxhighlight> which generates # {{place|en|A <<neighborhood>> midway up the <<inlet/Golden Horn>> within <<dist/Fatih>> in <<city/Istanbul>>, <<c/Turkey>>}}. and places the page in [[:Category:en:Neighborhoods in Turkey]]. In this format, placetypes and holonyms are surrounded by <code><<...>></code>. The presence of a slash indicates a holonym; no slash indicates a placetype. There is no requirement that placetypes precede holonyms. In this format, it is possible to break up a multiword placetype if the initial word or words are recognized qualifiers (see below), such as "former" or "ancient". Example: <syntaxhighlight lang="wikitext"># {{lb|en|now|historical}} {{place|en|A <<former>> French <<colony>> on the <<isl:pref/Hispaniola>> from 1659 to 1809, roughly equivalent to modern-day <<c/Haiti>>}}.</syntaxhighlight> which generates # {{lb|en|now|historical}} {{place|en|A <<former>> French <<colony>> on the <<isl:pref/Hispaniola>> from 1659 to 1809, roughly equivalent to modern-day <<c/Haiti>>}}. and places the page in [[:Category:en:Former dependent territories]] (as <code><<former colony>></code> would do), rather than in [[:Category:en:Dependent territories]] (as <code><<colony>></code> would normally do). ==Mixed format== You can also mix the separate-parameter and single-spec formats, as long as the single spec precedes the separate parameters. For example, for {{m|en|Kodungallur}}: <syntaxhighlight lang="wikitext"># {{place|en|A historically significant <<town>> in|dist/Thrissur|s/Kerala|in southwestern|c/India}}.</syntaxhighlight> which generates # {{place|en|A historically significant <<town>> in|dist/Thrissur|s/Kerala|in southwestern|c/India}}. In this format, no text (e.g. {{cd|the}}, {{cd|in}}, {{cd|of}}) is added prior to the first holonym; thus you must include it in the single spec parameter, as follows: <syntaxhighlight lang="wikitext"># {{place|yo|t={{w|Isin, Kwara|Owu}}|an {{l|yo|Ìgbómìnà}} [[Yoruba]] <<town>> in the|lgarea:pref/Isin|s/Kwara|c/Nigeria}}</syntaxhighlight> which generates # {{place|yo|t={{w|Isin, Kwara|Owu}}|an {{l|yo|Ìgbómìnà}} [[Yoruba]] <<town>> in the|lgarea:pref/Isin|s/Kwara|c/Nigeria}} ==Parameters== Primary parameters: ; {{para|1}}: the language code of the entry ; {{para|2}}: ''see [[#Placetype parameter]]'' ; {{para|3}}, {{para|4}}, {{para|5}}, ...: ''see [[#Holonym parameters]]'' ; {{para|t1}}, {{para|t2}}, {{para|t3}}, ...: English translation(s) of the place ; {{para|tid1}}, {{para|tid2}}, {{para|tid3}}, ...: sense ID's for the English translation(s) of the place; see {{temp|senseid}} ; {{para|cat}}, {{para|cat2}}, ...: extra categories to add to the page; automatically prefixed by the language code, e.g. {{para|cat|Towns in England}} will add the page to [[:Category:fr:Towns in England]] if the specified language code is <code>fr</code> ; {{para|sort}}: the sort key for the categories generated by the template; rarely needs to be specified, except perhaps for Japanese Suppression and text parameters: ; {{para|def}}: replaces the entire definition without affecting the categorization ; {{para|addl}}: adds further text to the end of the definition without affecting categorization ; {{para|a}}: replaces the indefinite article at the beginning of the definition Extra information parameters: ; {{para|modern}}, {{para|modern2}}, ...: the modern name(s) or location(s) of the place ; {{para|official}}, {{para|official2}}, ...: the official name(s) of the place (e.g. [[People's Republic of China]] for [[China]]) ; {{para|capital}}, {{para|capital2}}, ...: the capital city/cities of the place ; {{para|largest city}}, {{para|largest city2}}, ...: the largest city/cities of the place ; {{para|caplc}}: the capital and largest city of the place ; {{para|seat}}, {{para|seat2}}, ...: the [[seat]](s) of the place, particularly for counties and equivalents; displays "county seat", "parish seat" or "borough seat" for counties, parishes and boroughs respectively; otherwise, displays just "seat" ; {{para|shire town}}, {{para|shire town2}}, ...: the [[shire town]] (similar to a [[county seat]]) of the place, particularly for counties in [[Vermont]] As with holonym parameters (see below), all of these parameters can be prefixed with a language code such as <code>fr:</code>, and prefixing just with <code>:</code> suppresses automatic linking. ===Placetype parameter=== The type(s) of place of the entry, such as <code>city</code>, <code>country</code> or <code>lake</code>. Multiple values are separated by a slash (<code>/</code>). The special value <code>and</code> suppresses the comma and doesn’t affect categorization. The placetype parameter can be pluralized and will be handled correctly. For example: <syntaxhighlight lang="wikitext"># {{place|en|Two <<former unincorporated communities>> in <<co/Williamson County>>, <<s/Illinois>>, <<c/USA>>}}.</syntaxhighlight> displays as # {{place|en|Two <<former unincorporated communities>> in <<co/Williamson County>>, <<s/Illinois>>, <<c/USA>>}}. and places the page in [[:Category:en:Unincorporated communities in Illinois, USA]] and [[:Category:en:Unincorporated communities in the United States]]. The aliases that are recognized for holonym placetypes (see below) can also be used here and will automatically be expanded, but as a matter of style it is recommended to spell out the placetype in full except for generally-recognized aliases such as <code>CDP</code> for ''[[census-designated place]]''. ===Holonym parameters=== A holonym parameter has the following format: ''placetype''/''placename''. The format ''placetype''/''langcode'':''placename'' can be used to specify a non-English placename. Normally, the placename will automatically be linked; using <code>:</code> with no langcode suppresses automatic linking. Automatic linking is done exactly as if {{temp|l}} were being used, which means that square brackets can be used inside it to link to individual parts, and {{temp|w}} can be used to link to Wikipedia. If the ''placetype'' and following slash are omitted, the parameter is displayed as regular text. If there are multiple holonyms, commas are placed before all holonyms except the first, according to the following algorithm: # No comma is placed before the first holonym (whether a placename or raw text). # No comma is placed before a holonym (whether a placename or raw text) preceded by raw text. # No comma is placed before the special raw-text values <code>and</code> and <code>in</code>. # No comma is placed before raw text beginning with {{cd|*}}. # A comma is placed before all other holonyms. This does not apply to the [[#Alternative format|alternative format]] described above, where raw text, placetypes and placenames are freely interspersed and no extra commas are added unless multiple placenames are grouped together (see below). ====Grouped holonyms==== Multiple comma-separated placenames can be given, and are formatted correctly and individually linked. For example: # <code><nowiki>{{place|en|river|c/Ukraine,Belarus,Poland}}.</nowiki></code> #: {{place|en|river|c/Ukraine,Belarus,Poland}}. # <code><nowiki>{{place|en|several cities|c/Argentina,Chile,Philippines,Spain,United States}}.</nowiki></code> #: {{place|en|several cities|c/Argentina,Chile,Philippines,Spain,United States}}. ====Holonyms that take "the"==== Some holonyms are normally preceded by "the", as in "the United States", while others aren't, e.g. "France". Holonyms that are normally preceded by "the" will have this added if they occur either as (1) the first-specified holonym parameter; (2) the non-first holonym in a multi-holonym list (for this, see the example just above); (3) when accompanied by the <code>:pref</code> or <code>:Pref</code> modifiers (see below). In other positions, they will not be preceded by "the", e.g.: # <code><nowiki>{{place|en|city|in the southern|c/United States}}.</nowiki></code> #: {{place|en|city|in the southern|c/United States}}. # <code><nowiki>{{place|en|city|s/Georgia|c/United States}}.</nowiki></code> #: {{place|en|city|s/Georgia|c/United States}}. ====Holonym placetype aliases==== Several aliases are recognized for ''placetype'': * <code>c</code> → <code>country</code> * <code>r</code> → <code>region</code> * <code>p</code> → <code>province</code> * <code>s</code> → <code>state</code> * <code>cc</code> → <code>constituent country</code> (should be used for England, Scotland, and Wales) * <code>cont</code> → <code>continent</code> * <code>dept</code> → <code>department</code> * <code>dist</code> → <code>district</code> * <code>riv</code> → <code>river</code> * <code>carea</code> → <code>council area</code> * <code>cdp</code>, <code>CDP</code> → <code>census-designated place</code> [etc.] The full list can be found below under [[#Recognized placetypes|Recognized placetypes]], which lists all recognized placetypes along with the aliases (if any) of each placetype. ====Holonym placetype modifiers==== Following the holonym placetype can be a colon followed by one or more comma-separated modifiers, e.g. <code>s:suf/New York</code>. Currently, the following modifiers are recognized: * {{cd|suf}}: Display the full placetype as a lowercase suffix, e.g. <code>s:suf/New York</code> → <code>New York state</code>. * {{cd|Suf}}: Display the full placetype as a capitalized suffix, e.g. <code>s:Suf/New York</code> → <code>New York State</code>. * {{cd|pref}}: Display the full placetype as a lowercase prefix, e.g. <code>s:pref/New York</code> → <code>(the) state of New York</code> (the initial "the" is displayed in the same circumstances as when it is displayed before a holonym like "United States"; see above). * {{cd|Pref}}: Display the full placetype as a capitalized prefix, e.g. <code>s:Pref/New York</code> → <code>(the) State of New York</code> (the initial "the" is displayed in the same circumstances as when it is displayed before a holonym like "United States"; see above). * {{cd|noaff}}: Suppress the default display of a prefix or suffix (see below). * {{cd|also}}: Specify that categorization should happen with this holonym as well as any previous holonyms. See [[#Multiple holonyms of different types]] below for examples. * {{cd|the}}: Force insertion of {{cd|the}} before the holonym. The reasons for using such a modifier are that (a) category recognition code is based off the full holonym placename, and hence won't work properly if a holonym like <code><nowiki>s/[[New York]] State</nowiki></code> is used; and (b) the bare holonym without the prefix or suffix will be autolinked, without the need to explicitly inserted brackets around the bare holonym. Note that some holonym placetypes have prefixes or suffixes attached by default, e.g.: * "canton", "civil parish", "community development block", "council area", "county borough", "department", "district", "district municipality", "local government district" (suffixed with "district"), "London borough" (suffixed with "borough"), "parish", "peninsula", "subdivision", "tehsil" (<code>suf</code>) * "autonomous oblast", "autonomous okrug", "census area", "krai", "oblast", "okrug", "regional county municipality" (<code>Suf</code>) * "metropolitan borough", "municipal district", "regional district", "regional municipality", "rural municipality" (<code>Pref</code>) This affixing does not happen if the holonym placename already has the placetype or a part of it in it, if an explicit prefixing or suffixing modifier is used, or if the modifier <code>noaff</code> is used. Examples: # <code><nowiki>{{place|en|city|carea/Highland|cc/Scotland}}.</nowiki></code> #: {{place|en|city|carea/Highland|cc/Scotland}}. # <code><nowiki>{{place|en|capital city|c:pref/Georgia}}.</nowiki></code> #: {{place|en|capital city|c:pref/Georgia}}. ====Multiple holonyms of different types==== Normally, when categorizing a place in a given holonym, all other holonyms of the same type also get categorized. For example, the following description of the [[Columbia River]]: {{demo|<nowiki># {{place|en|river|c/USA|and|c/Canada}}.</nowiki>|sep=produces}} and categorizes into [[:Category:Rivers in the United States]] and [[:Category:Rivers in Canada]]. However, once a holonym and other holonyms of the same type are categorized, no further categorization normally happens for the placetype in question. For example, the following: {{demo|<nowiki># {{place|en|river|p/British Columbia|c/Canada|and|s/Washington,Oregon|c/USA}}.</nowiki>|sep=produces}} but categorizes only into [[:Category:Rivers in British Columbia, Canada]] and [[:Category:Rivers in Canada]] and does not include categorizes the the states of the United States. To fix this, use the {{cd|:also}} modifier: {{demo|<nowiki># {{place|en|river|p/British Columbia|c/Canada|and|s:also/Washington,Oregon|c/USA}}.</nowiki>}} and categorizes into [[:Category:Rivers in British Columbia, Canada]], [[:Category:Rivers in Canada]], [[:Category:Rivers in Washington, USA]], [[:Category:Rivers in Oregon, USA]] and [[:Category:Rivers in the United States]]. Another common use of {{cd|:also}} is when describing a city that is the capital of several administrative divisions at different levels. An example is the city of [[Trento]] in [[Italy]], which is the capital both of the surrounding province of [[Trentino]] and the larger region of [[Trentino-Alto Adige]]. This could be specified as follows: {{demo|<nowiki># {{place|en|city/capital|p:pref/Trentino|*and the|r:pref:also/Trentino-Alto Adige|c/Italy}}.</nowiki>}} and categorizes both into [[:Category:Provincial capitals]] as well as [[:Category:Regional capitals of Italy]] (among other categories). As shown in this example, modifiers can be stacked one on another. This also uses {{cd|*}} to suppress the comma that would normally be added before the text {{cd|and the}}. ===Multiple descriptions=== The special value <code>;</code> restarts the description and categorization (except for the language code), and joins the two descriptions with a semicolon. For example: # {{m|en|Rio de Janeiro}} #: {{temp demo|place|pt|city/state capital|s/Rio de Janeiro|c/Brazil|;|former capital city|of|c/Brazil}} The main reason to use this format, as opposed to simply stringing the entire description together, is that categorization is restarted. This allows for more flexible categorization of places that serve multiple functions than would otherwise be possible. More generally, any value beginning with a <code>;</code> and not immediately followed by a space has the same restarting behavior, and in addition the text after the semicolon serves as the joining text, in place of a semicolon. For example: # {{m|en|Vatican City}} #: {{temp demo|place|en|city-state|r/Southern Europe|;,|an <<enclave>> within the city of <<city/Rome>>, <<c/Italy>>}}. If the joining text begins with an ASCII or Unicode letter, a space is placed before the joining text, otherwise no space is added, as above. Finally, the special value <code>;;</code> joins the descriptions with only a space. ==More complex examples== # {{m|en|Scranton}} #: <code><nowiki>{{place|en|city|in northeastern|s/Pennsylvania|c/United States}}.</nowiki></code> #: {{place|en|city|in northeastern|s/Pennsylvania|c/United States}}. #:: {{i|adds [[:Category:en:Cities in Pennsylvania, USA]]}} # {{m|en|Italy}} #: <code><nowiki>{{place|en|country|in southern|cont/Europe|caplc=Rome}}.</nowiki></code> #: {{place|en|country|in southern|cont/Europe|caplc=Rome}}. #:: {{i|adds [[:Category:en:Countries in Europe]]}} # {{m|it|Roma}} #: <code><nowiki>{{place|it|capital city|c/Italy|t1=Rome}}</nowiki></code> #: {{place|it|capital city|c/Italy|t1=Rome}} #:: {{i|adds [[:Category:it:Capital cities]]}} # {{m|fr|Wavrin}} #: <code><nowiki>{{place|fr|town/and/municipality|dept/Nord|r:suf/Hauts-de-France|c/France}}</nowiki></code> #: {{place|fr|town/and/municipality|dept/Nord|r:suf/Hauts-de-France|c/France}} #:: {{i|adds [[:Category:fr:Towns in Nord, France]] and [[:Category:fr:Communes of Nord, France]]}} # {{m|en|Bernicia}} #: <code><nowiki>{{place|en|A <<medieval>> [[Anglo-Saxon]] <<kingdom>>|in northeastern|cc/England|and|southeastern|c/Scotland}}.</nowiki></code> #: {{place|en|A <<medieval>> [[Anglo-Saxon]] <<kingdom>>|in northeastern|cc/England|and|southeastern|c/Scotland}}. #:: {{i|adds [[:Category:en:Polities]], for lack of a more specific category}} #: <code><nowiki>{{place|en|A <<medieval>> [[Anglo-Saxon]] <<kingdom>> in northeastern <<c/England>> and southeastern <<c/Scotland>>.}}</nowiki></code> #: {{place|en|A <<medieval>> [[Anglo-Saxon]] <<kingdom>> in northeastern <<c/England>> and southeastern <<c/Scotland>>}}. #:: {{i|same as previous example, using the alternative format}} # {{m|en|Yuzhne}} #: <code><nowiki>{{place|en|@former name of:Pivdenne|city|raion/Odesa|oblast/Odesa|in southern|c/Ukraine|;|name used before November 2024}}.</nowiki></code> #: {{place|en|@former name of:Pivdenne|city|raion/Odesa|oblast/Odesa|in southern|c/Ukraine|;|name used before November 2024}}. #:: {{i|adds [[:Category:en:Former names of settlements]]}} # {{m|uk|Змії́вка}} #: <code><nowiki>{{place|uk|@former name of:uk:Кідьош|village|urban hromada:suf/Berehove|raion/Berehove|obl/Zakarpattia|c/Ukraine|;|name used from 1946 to 1991; first mentioned in 1332|t=Zmiivka}}.</nowiki></code> #: {{place|uk|@former name of:uk:Кідьош|village|urban hromada:suf/Berehove|raion/Berehove|obl/Zakarpattia|c/Ukraine|;|name used from 1946 to 1991; first mentioned in 1332|t=Zmiivka}}. #:: {{i|adds [[:Category:uk:Former names of settlements]]}} ==Recognized placetypes== The following placetypes are recognized by the module, and processed specially. This does not mean that other placetypes cannot be used, but they will not get special handling (e.g. their display form will not be linked and they will not trigger any categorization). {{#invoke:place doc|placetype_table}} ==Recognized placenames== The following place names are recognized by the module, and handled specially in some fashion. Note that there's nothing preventing any place name from being used. Note that items in the third and fourth columns are boldfaced if they are different from the placename in the first column. {{#invoke:place doc|placename_table}} ==Recognized qualifiers== The following qualifiers are recognized by the module. This means that if such a qualifier is used before a recognized placetype, the placetype will still be recognized and processed as normal. Note that items in the second column are boldfaced if they are different from the qualifier in the first column. {{#invoke:place doc|qualifier_table}} <includeonly> [[Category:Place name templates]] </includeonly> qnlm8u1i7x8e0houkeorqdu37iagwyg 230599 230598 2026-04-05T14:13:11Z Lee 19 [[:en:Template:place/documentation]] වෙතින් එක් සංශෝධනයක් 230598 wikitext text/x-wiki {{documentation subpage}} {{hatnote|For a list of types of place name of each country, see '''[[Wiktionary:Place names]]''' .}} {{rfc|und|Missing documentation for many parameters and features.}} {{uses lua|Module:place}} This template generates definition lines and categories for [[placename]]s. ==Usage== The basic usage is as follows (e.g. for {{m|en|Germany}}): <syntaxhighlight lang="wikitext"> # {{place|en|country|cont/Europe}}. </syntaxhighlight> which generates: # {{place|en|country|cont/Europe}}. and places the page in [[:Category:en:Countries in Europe]]. The second parameter is the type of the place, while the third and further parameters are ''holonyms'', indicating the larger entities that the place is contained within. Each holonym is of the form <code>TYPE/NAME</code>. The type can be spelled out in full, e.g. <code>continent</code>; common types can also be abbreviated, e.g. <code>cont</code> for <code>continent</code> (as above), <code>s</code> for <code>state</code>, <code>p</code> for <code>province</code>, <code>c</code> for <code>country</code>, etc. The full list of abbreviations is given below. More than one holonym can be given, e.g. for {{m|en|Toronto}}: <syntaxhighlight lang="wikitext"> # {{place|en|city|p/Ontario|c/Canada}}. </syntaxhighlight> which generates: # {{place|en|city|p/Ontario|c/Canada}}. and places the page in [[:Category:en:Cities in Ontario, Canada]]. The categorization system automatically generates the correct-format definition and category/categories, even when that requires computing a variant name, e.g. for {{m|en|Amsterdam}}: <syntaxhighlight lang="wikitext"> # {{place|en|city|c/Netherlands}}. </syntaxhighlight> which generates: # {{place|en|city|c/Netherlands}}. and places the page in [[:Category:en:Cities in the Netherlands]]. In this case, both the definition and category need to have "the" prefixed to the country name, which automatically happens. As another example, for {{m|en|Pittsburgh}}: <syntaxhighlight lang="wikitext"> # {{place|en|city|s/Pennsylvania|c/United States}}. </syntaxhighlight> which generates: # {{place|en|city|s/Pennsylvania|c/United States}}. and places the page in [[:Category:en:Cities in Pennsylvania, USA]]. (States of the United States are suffixed with <code>, USA</code> in some categories, to aid in distinguishing the US state of Georgia from the country of Georgia.) For place names in foreign languages, a translation in English can be given, which changes the definition format, e.g. for {{m|fr|Allemagne}} (the French term for Germany): <syntaxhighlight lang="wikitext"> # {{place|fr|country|cont/Europe|t1=Germany}} </syntaxhighlight> which generates: # {{place|fr|country|cont/Europe|t1=Germany}} and places the page in [[:Category:fr:Countries in Europe]]. (Note that this category has language code <code>fr</code>, which contains ''French'' terms for countries in Europe, rather than English terms.) Some place types use "of" instead of "in" in the definition and category, e.g. for {{m|en|Fairfax County}}: <syntaxhighlight lang="wikitext"> # {{place|en|county|s/Virginia|c/United States}}. </syntaxhighlight> which generates: # {{place|en|county|s/Virginia|c/United States}}. and places the page in [[:Category:en:Counties of Virginia, USA]]. Additional descriptive text can be present among the holonyms, and will be formatted correctly in the definition, e.g. for {{m|en|Germany}}: <syntaxhighlight lang="wikitext"> # {{place|en|country|in central|cont/Europe}}. </syntaxhighlight> which generates: # {{place|en|country|in central|cont/Europe}}. and places the page in [[:Category:en:Countries in Europe]], as above. ==Single-spec format== For complex cases, an alternative format can be used, known as ''single spec'', which freely allows for placetypes and holonyms to be interspersed among raw text, e.g. as follows (for {{m|en|Fener}}): <syntaxhighlight lang="wikitext"># {{place|en|A <<neighborhood>> midway up the <<inlet/Golden Horn>> within <<dist/Fatih>> in <<city/Istanbul>>, <<c/Turkey>>}}.</syntaxhighlight> which generates # {{place|en|A <<neighborhood>> midway up the <<inlet/Golden Horn>> within <<dist/Fatih>> in <<city/Istanbul>>, <<c/Turkey>>}}. and places the page in [[:Category:en:Neighborhoods in Turkey]]. In this format, placetypes and holonyms are surrounded by <code><<...>></code>. The presence of a slash indicates a holonym; no slash indicates a placetype. There is no requirement that placetypes precede holonyms. In this format, it is possible to break up a multiword placetype if the initial word or words are recognized qualifiers (see below), such as "former" or "ancient". Example: <syntaxhighlight lang="wikitext"># {{lb|en|now|historical}} {{place|en|A <<former>> French <<colony>> on the <<isl:pref/Hispaniola>> from 1659 to 1809, roughly equivalent to modern-day <<c/Haiti>>}}.</syntaxhighlight> which generates # {{lb|en|now|historical}} {{place|en|A <<former>> French <<colony>> on the <<isl:pref/Hispaniola>> from 1659 to 1809, roughly equivalent to modern-day <<c/Haiti>>}}. and places the page in [[:Category:en:Former dependent territories]] (as <code><<former colony>></code> would do), rather than in [[:Category:en:Dependent territories]] (as <code><<colony>></code> would normally do). ==Mixed format== You can also mix the separate-parameter and single-spec formats, as long as the single spec precedes the separate parameters. For example, for {{m|en|Kodungallur}}: <syntaxhighlight lang="wikitext"># {{place|en|A historically significant <<town>> in|dist/Thrissur|s/Kerala|in southwestern|c/India}}.</syntaxhighlight> which generates # {{place|en|A historically significant <<town>> in|dist/Thrissur|s/Kerala|in southwestern|c/India}}. In this format, no text (e.g. {{cd|the}}, {{cd|in}}, {{cd|of}}) is added prior to the first holonym; thus you must include it in the single spec parameter, as follows: <syntaxhighlight lang="wikitext"># {{place|yo|t={{w|Isin, Kwara|Owu}}|an {{l|yo|Ìgbómìnà}} [[Yoruba]] <<town>> in the|lgarea:pref/Isin|s/Kwara|c/Nigeria}}</syntaxhighlight> which generates # {{place|yo|t={{w|Isin, Kwara|Owu}}|an {{l|yo|Ìgbómìnà}} [[Yoruba]] <<town>> in the|lgarea:pref/Isin|s/Kwara|c/Nigeria}} ==Parameters== Primary parameters: ; {{para|1}}: the language code of the entry ; {{para|2}}: ''see [[#Placetype parameter]]'' ; {{para|3}}, {{para|4}}, {{para|5}}, ...: ''see [[#Holonym parameters]]'' ; {{para|t1}}, {{para|t2}}, {{para|t3}}, ...: English translation(s) of the place ; {{para|tid1}}, {{para|tid2}}, {{para|tid3}}, ...: sense ID's for the English translation(s) of the place; see {{temp|senseid}} ; {{para|cat}}, {{para|cat2}}, ...: extra categories to add to the page; automatically prefixed by the language code, e.g. {{para|cat|Towns in England}} will add the page to [[:Category:fr:Towns in England]] if the specified language code is <code>fr</code> ; {{para|sort}}: the sort key for the categories generated by the template; rarely needs to be specified, except perhaps for Japanese Suppression and text parameters: ; {{para|def}}: replaces the entire definition without affecting the categorization ; {{para|addl}}: adds further text to the end of the definition without affecting categorization ; {{para|a}}: replaces the indefinite article at the beginning of the definition Extra information parameters: ; {{para|modern}}, {{para|modern2}}, ...: the modern name(s) or location(s) of the place ; {{para|official}}, {{para|official2}}, ...: the official name(s) of the place (e.g. [[People's Republic of China]] for [[China]]) ; {{para|capital}}, {{para|capital2}}, ...: the capital city/cities of the place ; {{para|largest city}}, {{para|largest city2}}, ...: the largest city/cities of the place ; {{para|caplc}}: the capital and largest city of the place ; {{para|seat}}, {{para|seat2}}, ...: the [[seat]](s) of the place, particularly for counties and equivalents; displays "county seat", "parish seat" or "borough seat" for counties, parishes and boroughs respectively; otherwise, displays just "seat" ; {{para|shire town}}, {{para|shire town2}}, ...: the [[shire town]] (similar to a [[county seat]]) of the place, particularly for counties in [[Vermont]] As with holonym parameters (see below), all of these parameters can be prefixed with a language code such as <code>fr:</code>, and prefixing just with <code>:</code> suppresses automatic linking. ===Placetype parameter=== The type(s) of place of the entry, such as <code>city</code>, <code>country</code> or <code>lake</code>. Multiple values are separated by a slash (<code>/</code>). The special value <code>and</code> suppresses the comma and doesn’t affect categorization. The placetype parameter can be pluralized and will be handled correctly. For example: <syntaxhighlight lang="wikitext"># {{place|en|Two <<former unincorporated communities>> in <<co/Williamson County>>, <<s/Illinois>>, <<c/USA>>}}.</syntaxhighlight> displays as # {{place|en|Two <<former unincorporated communities>> in <<co/Williamson County>>, <<s/Illinois>>, <<c/USA>>}}. and places the page in [[:Category:en:Unincorporated communities in Illinois, USA]] and [[:Category:en:Unincorporated communities in the United States]]. The aliases that are recognized for holonym placetypes (see below) can also be used here and will automatically be expanded, but as a matter of style it is recommended to spell out the placetype in full except for generally-recognized aliases such as <code>CDP</code> for ''[[census-designated place]]''. ===Holonym parameters=== A holonym parameter has the following format: ''placetype''/''placename''. The format ''placetype''/''langcode'':''placename'' can be used to specify a non-English placename. Normally, the placename will automatically be linked; using <code>:</code> with no langcode suppresses automatic linking. Automatic linking is done exactly as if {{temp|l}} were being used, which means that square brackets can be used inside it to link to individual parts, and {{temp|w}} can be used to link to Wikipedia. If the ''placetype'' and following slash are omitted, the parameter is displayed as regular text. If there are multiple holonyms, commas are placed before all holonyms except the first, according to the following algorithm: # No comma is placed before the first holonym (whether a placename or raw text). # No comma is placed before a holonym (whether a placename or raw text) preceded by raw text. # No comma is placed before the special raw-text values <code>and</code> and <code>in</code>. # No comma is placed before raw text beginning with {{cd|*}}. # A comma is placed before all other holonyms. This does not apply to the [[#Alternative format|alternative format]] described above, where raw text, placetypes and placenames are freely interspersed and no extra commas are added unless multiple placenames are grouped together (see below). ====Grouped holonyms==== Multiple comma-separated placenames can be given, and are formatted correctly and individually linked. For example: # <code><nowiki>{{place|en|river|c/Ukraine,Belarus,Poland}}.</nowiki></code> #: {{place|en|river|c/Ukraine,Belarus,Poland}}. # <code><nowiki>{{place|en|several cities|c/Argentina,Chile,Philippines,Spain,United States}}.</nowiki></code> #: {{place|en|several cities|c/Argentina,Chile,Philippines,Spain,United States}}. ====Holonyms that take "the"==== Some holonyms are normally preceded by "the", as in "the United States", while others aren't, e.g. "France". Holonyms that are normally preceded by "the" will have this added if they occur either as (1) the first-specified holonym parameter; (2) the non-first holonym in a multi-holonym list (for this, see the example just above); (3) when accompanied by the <code>:pref</code> or <code>:Pref</code> modifiers (see below). In other positions, they will not be preceded by "the", e.g.: # <code><nowiki>{{place|en|city|in the southern|c/United States}}.</nowiki></code> #: {{place|en|city|in the southern|c/United States}}. # <code><nowiki>{{place|en|city|s/Georgia|c/United States}}.</nowiki></code> #: {{place|en|city|s/Georgia|c/United States}}. ====Holonym placetype aliases==== Several aliases are recognized for ''placetype'': * <code>c</code> → <code>country</code> * <code>r</code> → <code>region</code> * <code>p</code> → <code>province</code> * <code>s</code> → <code>state</code> * <code>cc</code> → <code>constituent country</code> (should be used for England, Scotland, and Wales) * <code>cont</code> → <code>continent</code> * <code>dept</code> → <code>department</code> * <code>dist</code> → <code>district</code> * <code>riv</code> → <code>river</code> * <code>carea</code> → <code>council area</code> * <code>cdp</code>, <code>CDP</code> → <code>census-designated place</code> [etc.] The full list can be found below under [[#Recognized placetypes|Recognized placetypes]], which lists all recognized placetypes along with the aliases (if any) of each placetype. ====Holonym placetype modifiers==== Following the holonym placetype can be a colon followed by one or more comma-separated modifiers, e.g. <code>s:suf/New York</code>. Currently, the following modifiers are recognized: * {{cd|suf}}: Display the full placetype as a lowercase suffix, e.g. <code>s:suf/New York</code> → <code>New York state</code>. * {{cd|Suf}}: Display the full placetype as a capitalized suffix, e.g. <code>s:Suf/New York</code> → <code>New York State</code>. * {{cd|pref}}: Display the full placetype as a lowercase prefix, e.g. <code>s:pref/New York</code> → <code>(the) state of New York</code> (the initial "the" is displayed in the same circumstances as when it is displayed before a holonym like "United States"; see above). * {{cd|Pref}}: Display the full placetype as a capitalized prefix, e.g. <code>s:Pref/New York</code> → <code>(the) State of New York</code> (the initial "the" is displayed in the same circumstances as when it is displayed before a holonym like "United States"; see above). * {{cd|noaff}}: Suppress the default display of a prefix or suffix (see below). * {{cd|also}}: Specify that categorization should happen with this holonym as well as any previous holonyms. See [[#Multiple holonyms of different types]] below for examples. * {{cd|the}}: Force insertion of {{cd|the}} before the holonym. The reasons for using such a modifier are that (a) category recognition code is based off the full holonym placename, and hence won't work properly if a holonym like <code><nowiki>s/[[New York]] State</nowiki></code> is used; and (b) the bare holonym without the prefix or suffix will be autolinked, without the need to explicitly inserted brackets around the bare holonym. Note that some holonym placetypes have prefixes or suffixes attached by default, e.g.: * "canton", "civil parish", "community development block", "council area", "county borough", "department", "district", "district municipality", "local government district" (suffixed with "district"), "London borough" (suffixed with "borough"), "parish", "peninsula", "subdivision", "tehsil" (<code>suf</code>) * "autonomous oblast", "autonomous okrug", "census area", "krai", "oblast", "okrug", "regional county municipality" (<code>Suf</code>) * "metropolitan borough", "municipal district", "regional district", "regional municipality", "rural municipality" (<code>Pref</code>) This affixing does not happen if the holonym placename already has the placetype or a part of it in it, if an explicit prefixing or suffixing modifier is used, or if the modifier <code>noaff</code> is used. Examples: # <code><nowiki>{{place|en|city|carea/Highland|cc/Scotland}}.</nowiki></code> #: {{place|en|city|carea/Highland|cc/Scotland}}. # <code><nowiki>{{place|en|capital city|c:pref/Georgia}}.</nowiki></code> #: {{place|en|capital city|c:pref/Georgia}}. ====Multiple holonyms of different types==== Normally, when categorizing a place in a given holonym, all other holonyms of the same type also get categorized. For example, the following description of the [[Columbia River]]: {{demo|<nowiki># {{place|en|river|c/USA|and|c/Canada}}.</nowiki>|sep=produces}} and categorizes into [[:Category:Rivers in the United States]] and [[:Category:Rivers in Canada]]. However, once a holonym and other holonyms of the same type are categorized, no further categorization normally happens for the placetype in question. For example, the following: {{demo|<nowiki># {{place|en|river|p/British Columbia|c/Canada|and|s/Washington,Oregon|c/USA}}.</nowiki>|sep=produces}} but categorizes only into [[:Category:Rivers in British Columbia, Canada]] and [[:Category:Rivers in Canada]] and does not include categorizes the the states of the United States. To fix this, use the {{cd|:also}} modifier: {{demo|<nowiki># {{place|en|river|p/British Columbia|c/Canada|and|s:also/Washington,Oregon|c/USA}}.</nowiki>}} and categorizes into [[:Category:Rivers in British Columbia, Canada]], [[:Category:Rivers in Canada]], [[:Category:Rivers in Washington, USA]], [[:Category:Rivers in Oregon, USA]] and [[:Category:Rivers in the United States]]. Another common use of {{cd|:also}} is when describing a city that is the capital of several administrative divisions at different levels. An example is the city of [[Trento]] in [[Italy]], which is the capital both of the surrounding province of [[Trentino]] and the larger region of [[Trentino-Alto Adige]]. This could be specified as follows: {{demo|<nowiki># {{place|en|city/capital|p:pref/Trentino|*and the|r:pref:also/Trentino-Alto Adige|c/Italy}}.</nowiki>}} and categorizes both into [[:Category:Provincial capitals]] as well as [[:Category:Regional capitals of Italy]] (among other categories). As shown in this example, modifiers can be stacked one on another. This also uses {{cd|*}} to suppress the comma that would normally be added before the text {{cd|and the}}. ===Multiple descriptions=== The special value <code>;</code> restarts the description and categorization (except for the language code), and joins the two descriptions with a semicolon. For example: # {{m|en|Rio de Janeiro}} #: {{temp demo|place|pt|city/state capital|s/Rio de Janeiro|c/Brazil|;|former capital city|of|c/Brazil}} The main reason to use this format, as opposed to simply stringing the entire description together, is that categorization is restarted. This allows for more flexible categorization of places that serve multiple functions than would otherwise be possible. More generally, any value beginning with a <code>;</code> and not immediately followed by a space has the same restarting behavior, and in addition the text after the semicolon serves as the joining text, in place of a semicolon. For example: # {{m|en|Vatican City}} #: {{temp demo|place|en|city-state|r/Southern Europe|;,|an <<enclave>> within the city of <<city/Rome>>, <<c/Italy>>}}. If the joining text begins with an ASCII or Unicode letter, a space is placed before the joining text, otherwise no space is added, as above. Finally, the special value <code>;;</code> joins the descriptions with only a space. ==More complex examples== # {{m|en|Scranton}} #: <code><nowiki>{{place|en|city|in northeastern|s/Pennsylvania|c/United States}}.</nowiki></code> #: {{place|en|city|in northeastern|s/Pennsylvania|c/United States}}. #:: {{i|adds [[:Category:en:Cities in Pennsylvania, USA]]}} # {{m|en|Italy}} #: <code><nowiki>{{place|en|country|in southern|cont/Europe|caplc=Rome}}.</nowiki></code> #: {{place|en|country|in southern|cont/Europe|caplc=Rome}}. #:: {{i|adds [[:Category:en:Countries in Europe]]}} # {{m|it|Roma}} #: <code><nowiki>{{place|it|capital city|c/Italy|t1=Rome}}</nowiki></code> #: {{place|it|capital city|c/Italy|t1=Rome}} #:: {{i|adds [[:Category:it:Capital cities]]}} # {{m|fr|Wavrin}} #: <code><nowiki>{{place|fr|town/and/municipality|dept/Nord|r:suf/Hauts-de-France|c/France}}</nowiki></code> #: {{place|fr|town/and/municipality|dept/Nord|r:suf/Hauts-de-France|c/France}} #:: {{i|adds [[:Category:fr:Towns in Nord, France]] and [[:Category:fr:Communes of Nord, France]]}} # {{m|en|Bernicia}} #: <code><nowiki>{{place|en|A <<medieval>> [[Anglo-Saxon]] <<kingdom>>|in northeastern|cc/England|and|southeastern|c/Scotland}}.</nowiki></code> #: {{place|en|A <<medieval>> [[Anglo-Saxon]] <<kingdom>>|in northeastern|cc/England|and|southeastern|c/Scotland}}. #:: {{i|adds [[:Category:en:Polities]], for lack of a more specific category}} #: <code><nowiki>{{place|en|A <<medieval>> [[Anglo-Saxon]] <<kingdom>> in northeastern <<c/England>> and southeastern <<c/Scotland>>.}}</nowiki></code> #: {{place|en|A <<medieval>> [[Anglo-Saxon]] <<kingdom>> in northeastern <<c/England>> and southeastern <<c/Scotland>>}}. #:: {{i|same as previous example, using the alternative format}} # {{m|en|Yuzhne}} #: <code><nowiki>{{place|en|@former name of:Pivdenne|city|raion/Odesa|oblast/Odesa|in southern|c/Ukraine|;|name used before November 2024}}.</nowiki></code> #: {{place|en|@former name of:Pivdenne|city|raion/Odesa|oblast/Odesa|in southern|c/Ukraine|;|name used before November 2024}}. #:: {{i|adds [[:Category:en:Former names of settlements]]}} # {{m|uk|Змії́вка}} #: <code><nowiki>{{place|uk|@former name of:uk:Кідьош|village|urban hromada:suf/Berehove|raion/Berehove|obl/Zakarpattia|c/Ukraine|;|name used from 1946 to 1991; first mentioned in 1332|t=Zmiivka}}.</nowiki></code> #: {{place|uk|@former name of:uk:Кідьош|village|urban hromada:suf/Berehove|raion/Berehove|obl/Zakarpattia|c/Ukraine|;|name used from 1946 to 1991; first mentioned in 1332|t=Zmiivka}}. #:: {{i|adds [[:Category:uk:Former names of settlements]]}} ==Recognized placetypes== The following placetypes are recognized by the module, and processed specially. This does not mean that other placetypes cannot be used, but they will not get special handling (e.g. their display form will not be linked and they will not trigger any categorization). {{#invoke:place doc|placetype_table}} ==Recognized placenames== The following place names are recognized by the module, and handled specially in some fashion. Note that there's nothing preventing any place name from being used. Note that items in the third and fourth columns are boldfaced if they are different from the placename in the first column. {{#invoke:place doc|placename_table}} ==Recognized qualifiers== The following qualifiers are recognized by the module. This means that if such a qualifier is used before a recognized placetype, the placetype will still be recognized and processed as normal. Note that items in the second column are boldfaced if they are different from the qualifier in the first column. {{#invoke:place doc|qualifier_table}} <includeonly> [[Category:Place name templates]] </includeonly> qnlm8u1i7x8e0houkeorqdu37iagwyg 230600 230599 2026-04-05T14:13:58Z Lee 19 Lee විසින් [[සැකිල්ල:place/documentation]] සිට [[සැකිල්ල:ස්ථානය/documentation]] වෙත පිටුව ගෙන යන ලදී 230598 wikitext text/x-wiki {{documentation subpage}} {{hatnote|For a list of types of place name of each country, see '''[[Wiktionary:Place names]]''' .}} {{rfc|und|Missing documentation for many parameters and features.}} {{uses lua|Module:place}} This template generates definition lines and categories for [[placename]]s. ==Usage== The basic usage is as follows (e.g. for {{m|en|Germany}}): <syntaxhighlight lang="wikitext"> # {{place|en|country|cont/Europe}}. </syntaxhighlight> which generates: # {{place|en|country|cont/Europe}}. and places the page in [[:Category:en:Countries in Europe]]. The second parameter is the type of the place, while the third and further parameters are ''holonyms'', indicating the larger entities that the place is contained within. Each holonym is of the form <code>TYPE/NAME</code>. The type can be spelled out in full, e.g. <code>continent</code>; common types can also be abbreviated, e.g. <code>cont</code> for <code>continent</code> (as above), <code>s</code> for <code>state</code>, <code>p</code> for <code>province</code>, <code>c</code> for <code>country</code>, etc. The full list of abbreviations is given below. More than one holonym can be given, e.g. for {{m|en|Toronto}}: <syntaxhighlight lang="wikitext"> # {{place|en|city|p/Ontario|c/Canada}}. </syntaxhighlight> which generates: # {{place|en|city|p/Ontario|c/Canada}}. and places the page in [[:Category:en:Cities in Ontario, Canada]]. The categorization system automatically generates the correct-format definition and category/categories, even when that requires computing a variant name, e.g. for {{m|en|Amsterdam}}: <syntaxhighlight lang="wikitext"> # {{place|en|city|c/Netherlands}}. </syntaxhighlight> which generates: # {{place|en|city|c/Netherlands}}. and places the page in [[:Category:en:Cities in the Netherlands]]. In this case, both the definition and category need to have "the" prefixed to the country name, which automatically happens. As another example, for {{m|en|Pittsburgh}}: <syntaxhighlight lang="wikitext"> # {{place|en|city|s/Pennsylvania|c/United States}}. </syntaxhighlight> which generates: # {{place|en|city|s/Pennsylvania|c/United States}}. and places the page in [[:Category:en:Cities in Pennsylvania, USA]]. (States of the United States are suffixed with <code>, USA</code> in some categories, to aid in distinguishing the US state of Georgia from the country of Georgia.) For place names in foreign languages, a translation in English can be given, which changes the definition format, e.g. for {{m|fr|Allemagne}} (the French term for Germany): <syntaxhighlight lang="wikitext"> # {{place|fr|country|cont/Europe|t1=Germany}} </syntaxhighlight> which generates: # {{place|fr|country|cont/Europe|t1=Germany}} and places the page in [[:Category:fr:Countries in Europe]]. (Note that this category has language code <code>fr</code>, which contains ''French'' terms for countries in Europe, rather than English terms.) Some place types use "of" instead of "in" in the definition and category, e.g. for {{m|en|Fairfax County}}: <syntaxhighlight lang="wikitext"> # {{place|en|county|s/Virginia|c/United States}}. </syntaxhighlight> which generates: # {{place|en|county|s/Virginia|c/United States}}. and places the page in [[:Category:en:Counties of Virginia, USA]]. Additional descriptive text can be present among the holonyms, and will be formatted correctly in the definition, e.g. for {{m|en|Germany}}: <syntaxhighlight lang="wikitext"> # {{place|en|country|in central|cont/Europe}}. </syntaxhighlight> which generates: # {{place|en|country|in central|cont/Europe}}. and places the page in [[:Category:en:Countries in Europe]], as above. ==Single-spec format== For complex cases, an alternative format can be used, known as ''single spec'', which freely allows for placetypes and holonyms to be interspersed among raw text, e.g. as follows (for {{m|en|Fener}}): <syntaxhighlight lang="wikitext"># {{place|en|A <<neighborhood>> midway up the <<inlet/Golden Horn>> within <<dist/Fatih>> in <<city/Istanbul>>, <<c/Turkey>>}}.</syntaxhighlight> which generates # {{place|en|A <<neighborhood>> midway up the <<inlet/Golden Horn>> within <<dist/Fatih>> in <<city/Istanbul>>, <<c/Turkey>>}}. and places the page in [[:Category:en:Neighborhoods in Turkey]]. In this format, placetypes and holonyms are surrounded by <code><<...>></code>. The presence of a slash indicates a holonym; no slash indicates a placetype. There is no requirement that placetypes precede holonyms. In this format, it is possible to break up a multiword placetype if the initial word or words are recognized qualifiers (see below), such as "former" or "ancient". Example: <syntaxhighlight lang="wikitext"># {{lb|en|now|historical}} {{place|en|A <<former>> French <<colony>> on the <<isl:pref/Hispaniola>> from 1659 to 1809, roughly equivalent to modern-day <<c/Haiti>>}}.</syntaxhighlight> which generates # {{lb|en|now|historical}} {{place|en|A <<former>> French <<colony>> on the <<isl:pref/Hispaniola>> from 1659 to 1809, roughly equivalent to modern-day <<c/Haiti>>}}. and places the page in [[:Category:en:Former dependent territories]] (as <code><<former colony>></code> would do), rather than in [[:Category:en:Dependent territories]] (as <code><<colony>></code> would normally do). ==Mixed format== You can also mix the separate-parameter and single-spec formats, as long as the single spec precedes the separate parameters. For example, for {{m|en|Kodungallur}}: <syntaxhighlight lang="wikitext"># {{place|en|A historically significant <<town>> in|dist/Thrissur|s/Kerala|in southwestern|c/India}}.</syntaxhighlight> which generates # {{place|en|A historically significant <<town>> in|dist/Thrissur|s/Kerala|in southwestern|c/India}}. In this format, no text (e.g. {{cd|the}}, {{cd|in}}, {{cd|of}}) is added prior to the first holonym; thus you must include it in the single spec parameter, as follows: <syntaxhighlight lang="wikitext"># {{place|yo|t={{w|Isin, Kwara|Owu}}|an {{l|yo|Ìgbómìnà}} [[Yoruba]] <<town>> in the|lgarea:pref/Isin|s/Kwara|c/Nigeria}}</syntaxhighlight> which generates # {{place|yo|t={{w|Isin, Kwara|Owu}}|an {{l|yo|Ìgbómìnà}} [[Yoruba]] <<town>> in the|lgarea:pref/Isin|s/Kwara|c/Nigeria}} ==Parameters== Primary parameters: ; {{para|1}}: the language code of the entry ; {{para|2}}: ''see [[#Placetype parameter]]'' ; {{para|3}}, {{para|4}}, {{para|5}}, ...: ''see [[#Holonym parameters]]'' ; {{para|t1}}, {{para|t2}}, {{para|t3}}, ...: English translation(s) of the place ; {{para|tid1}}, {{para|tid2}}, {{para|tid3}}, ...: sense ID's for the English translation(s) of the place; see {{temp|senseid}} ; {{para|cat}}, {{para|cat2}}, ...: extra categories to add to the page; automatically prefixed by the language code, e.g. {{para|cat|Towns in England}} will add the page to [[:Category:fr:Towns in England]] if the specified language code is <code>fr</code> ; {{para|sort}}: the sort key for the categories generated by the template; rarely needs to be specified, except perhaps for Japanese Suppression and text parameters: ; {{para|def}}: replaces the entire definition without affecting the categorization ; {{para|addl}}: adds further text to the end of the definition without affecting categorization ; {{para|a}}: replaces the indefinite article at the beginning of the definition Extra information parameters: ; {{para|modern}}, {{para|modern2}}, ...: the modern name(s) or location(s) of the place ; {{para|official}}, {{para|official2}}, ...: the official name(s) of the place (e.g. [[People's Republic of China]] for [[China]]) ; {{para|capital}}, {{para|capital2}}, ...: the capital city/cities of the place ; {{para|largest city}}, {{para|largest city2}}, ...: the largest city/cities of the place ; {{para|caplc}}: the capital and largest city of the place ; {{para|seat}}, {{para|seat2}}, ...: the [[seat]](s) of the place, particularly for counties and equivalents; displays "county seat", "parish seat" or "borough seat" for counties, parishes and boroughs respectively; otherwise, displays just "seat" ; {{para|shire town}}, {{para|shire town2}}, ...: the [[shire town]] (similar to a [[county seat]]) of the place, particularly for counties in [[Vermont]] As with holonym parameters (see below), all of these parameters can be prefixed with a language code such as <code>fr:</code>, and prefixing just with <code>:</code> suppresses automatic linking. ===Placetype parameter=== The type(s) of place of the entry, such as <code>city</code>, <code>country</code> or <code>lake</code>. Multiple values are separated by a slash (<code>/</code>). The special value <code>and</code> suppresses the comma and doesn’t affect categorization. The placetype parameter can be pluralized and will be handled correctly. For example: <syntaxhighlight lang="wikitext"># {{place|en|Two <<former unincorporated communities>> in <<co/Williamson County>>, <<s/Illinois>>, <<c/USA>>}}.</syntaxhighlight> displays as # {{place|en|Two <<former unincorporated communities>> in <<co/Williamson County>>, <<s/Illinois>>, <<c/USA>>}}. and places the page in [[:Category:en:Unincorporated communities in Illinois, USA]] and [[:Category:en:Unincorporated communities in the United States]]. The aliases that are recognized for holonym placetypes (see below) can also be used here and will automatically be expanded, but as a matter of style it is recommended to spell out the placetype in full except for generally-recognized aliases such as <code>CDP</code> for ''[[census-designated place]]''. ===Holonym parameters=== A holonym parameter has the following format: ''placetype''/''placename''. The format ''placetype''/''langcode'':''placename'' can be used to specify a non-English placename. Normally, the placename will automatically be linked; using <code>:</code> with no langcode suppresses automatic linking. Automatic linking is done exactly as if {{temp|l}} were being used, which means that square brackets can be used inside it to link to individual parts, and {{temp|w}} can be used to link to Wikipedia. If the ''placetype'' and following slash are omitted, the parameter is displayed as regular text. If there are multiple holonyms, commas are placed before all holonyms except the first, according to the following algorithm: # No comma is placed before the first holonym (whether a placename or raw text). # No comma is placed before a holonym (whether a placename or raw text) preceded by raw text. # No comma is placed before the special raw-text values <code>and</code> and <code>in</code>. # No comma is placed before raw text beginning with {{cd|*}}. # A comma is placed before all other holonyms. This does not apply to the [[#Alternative format|alternative format]] described above, where raw text, placetypes and placenames are freely interspersed and no extra commas are added unless multiple placenames are grouped together (see below). ====Grouped holonyms==== Multiple comma-separated placenames can be given, and are formatted correctly and individually linked. For example: # <code><nowiki>{{place|en|river|c/Ukraine,Belarus,Poland}}.</nowiki></code> #: {{place|en|river|c/Ukraine,Belarus,Poland}}. # <code><nowiki>{{place|en|several cities|c/Argentina,Chile,Philippines,Spain,United States}}.</nowiki></code> #: {{place|en|several cities|c/Argentina,Chile,Philippines,Spain,United States}}. ====Holonyms that take "the"==== Some holonyms are normally preceded by "the", as in "the United States", while others aren't, e.g. "France". Holonyms that are normally preceded by "the" will have this added if they occur either as (1) the first-specified holonym parameter; (2) the non-first holonym in a multi-holonym list (for this, see the example just above); (3) when accompanied by the <code>:pref</code> or <code>:Pref</code> modifiers (see below). In other positions, they will not be preceded by "the", e.g.: # <code><nowiki>{{place|en|city|in the southern|c/United States}}.</nowiki></code> #: {{place|en|city|in the southern|c/United States}}. # <code><nowiki>{{place|en|city|s/Georgia|c/United States}}.</nowiki></code> #: {{place|en|city|s/Georgia|c/United States}}. ====Holonym placetype aliases==== Several aliases are recognized for ''placetype'': * <code>c</code> → <code>country</code> * <code>r</code> → <code>region</code> * <code>p</code> → <code>province</code> * <code>s</code> → <code>state</code> * <code>cc</code> → <code>constituent country</code> (should be used for England, Scotland, and Wales) * <code>cont</code> → <code>continent</code> * <code>dept</code> → <code>department</code> * <code>dist</code> → <code>district</code> * <code>riv</code> → <code>river</code> * <code>carea</code> → <code>council area</code> * <code>cdp</code>, <code>CDP</code> → <code>census-designated place</code> [etc.] The full list can be found below under [[#Recognized placetypes|Recognized placetypes]], which lists all recognized placetypes along with the aliases (if any) of each placetype. ====Holonym placetype modifiers==== Following the holonym placetype can be a colon followed by one or more comma-separated modifiers, e.g. <code>s:suf/New York</code>. Currently, the following modifiers are recognized: * {{cd|suf}}: Display the full placetype as a lowercase suffix, e.g. <code>s:suf/New York</code> → <code>New York state</code>. * {{cd|Suf}}: Display the full placetype as a capitalized suffix, e.g. <code>s:Suf/New York</code> → <code>New York State</code>. * {{cd|pref}}: Display the full placetype as a lowercase prefix, e.g. <code>s:pref/New York</code> → <code>(the) state of New York</code> (the initial "the" is displayed in the same circumstances as when it is displayed before a holonym like "United States"; see above). * {{cd|Pref}}: Display the full placetype as a capitalized prefix, e.g. <code>s:Pref/New York</code> → <code>(the) State of New York</code> (the initial "the" is displayed in the same circumstances as when it is displayed before a holonym like "United States"; see above). * {{cd|noaff}}: Suppress the default display of a prefix or suffix (see below). * {{cd|also}}: Specify that categorization should happen with this holonym as well as any previous holonyms. See [[#Multiple holonyms of different types]] below for examples. * {{cd|the}}: Force insertion of {{cd|the}} before the holonym. The reasons for using such a modifier are that (a) category recognition code is based off the full holonym placename, and hence won't work properly if a holonym like <code><nowiki>s/[[New York]] State</nowiki></code> is used; and (b) the bare holonym without the prefix or suffix will be autolinked, without the need to explicitly inserted brackets around the bare holonym. Note that some holonym placetypes have prefixes or suffixes attached by default, e.g.: * "canton", "civil parish", "community development block", "council area", "county borough", "department", "district", "district municipality", "local government district" (suffixed with "district"), "London borough" (suffixed with "borough"), "parish", "peninsula", "subdivision", "tehsil" (<code>suf</code>) * "autonomous oblast", "autonomous okrug", "census area", "krai", "oblast", "okrug", "regional county municipality" (<code>Suf</code>) * "metropolitan borough", "municipal district", "regional district", "regional municipality", "rural municipality" (<code>Pref</code>) This affixing does not happen if the holonym placename already has the placetype or a part of it in it, if an explicit prefixing or suffixing modifier is used, or if the modifier <code>noaff</code> is used. Examples: # <code><nowiki>{{place|en|city|carea/Highland|cc/Scotland}}.</nowiki></code> #: {{place|en|city|carea/Highland|cc/Scotland}}. # <code><nowiki>{{place|en|capital city|c:pref/Georgia}}.</nowiki></code> #: {{place|en|capital city|c:pref/Georgia}}. ====Multiple holonyms of different types==== Normally, when categorizing a place in a given holonym, all other holonyms of the same type also get categorized. For example, the following description of the [[Columbia River]]: {{demo|<nowiki># {{place|en|river|c/USA|and|c/Canada}}.</nowiki>|sep=produces}} and categorizes into [[:Category:Rivers in the United States]] and [[:Category:Rivers in Canada]]. However, once a holonym and other holonyms of the same type are categorized, no further categorization normally happens for the placetype in question. For example, the following: {{demo|<nowiki># {{place|en|river|p/British Columbia|c/Canada|and|s/Washington,Oregon|c/USA}}.</nowiki>|sep=produces}} but categorizes only into [[:Category:Rivers in British Columbia, Canada]] and [[:Category:Rivers in Canada]] and does not include categorizes the the states of the United States. To fix this, use the {{cd|:also}} modifier: {{demo|<nowiki># {{place|en|river|p/British Columbia|c/Canada|and|s:also/Washington,Oregon|c/USA}}.</nowiki>}} and categorizes into [[:Category:Rivers in British Columbia, Canada]], [[:Category:Rivers in Canada]], [[:Category:Rivers in Washington, USA]], [[:Category:Rivers in Oregon, USA]] and [[:Category:Rivers in the United States]]. Another common use of {{cd|:also}} is when describing a city that is the capital of several administrative divisions at different levels. An example is the city of [[Trento]] in [[Italy]], which is the capital both of the surrounding province of [[Trentino]] and the larger region of [[Trentino-Alto Adige]]. This could be specified as follows: {{demo|<nowiki># {{place|en|city/capital|p:pref/Trentino|*and the|r:pref:also/Trentino-Alto Adige|c/Italy}}.</nowiki>}} and categorizes both into [[:Category:Provincial capitals]] as well as [[:Category:Regional capitals of Italy]] (among other categories). As shown in this example, modifiers can be stacked one on another. This also uses {{cd|*}} to suppress the comma that would normally be added before the text {{cd|and the}}. ===Multiple descriptions=== The special value <code>;</code> restarts the description and categorization (except for the language code), and joins the two descriptions with a semicolon. For example: # {{m|en|Rio de Janeiro}} #: {{temp demo|place|pt|city/state capital|s/Rio de Janeiro|c/Brazil|;|former capital city|of|c/Brazil}} The main reason to use this format, as opposed to simply stringing the entire description together, is that categorization is restarted. This allows for more flexible categorization of places that serve multiple functions than would otherwise be possible. More generally, any value beginning with a <code>;</code> and not immediately followed by a space has the same restarting behavior, and in addition the text after the semicolon serves as the joining text, in place of a semicolon. For example: # {{m|en|Vatican City}} #: {{temp demo|place|en|city-state|r/Southern Europe|;,|an <<enclave>> within the city of <<city/Rome>>, <<c/Italy>>}}. If the joining text begins with an ASCII or Unicode letter, a space is placed before the joining text, otherwise no space is added, as above. Finally, the special value <code>;;</code> joins the descriptions with only a space. ==More complex examples== # {{m|en|Scranton}} #: <code><nowiki>{{place|en|city|in northeastern|s/Pennsylvania|c/United States}}.</nowiki></code> #: {{place|en|city|in northeastern|s/Pennsylvania|c/United States}}. #:: {{i|adds [[:Category:en:Cities in Pennsylvania, USA]]}} # {{m|en|Italy}} #: <code><nowiki>{{place|en|country|in southern|cont/Europe|caplc=Rome}}.</nowiki></code> #: {{place|en|country|in southern|cont/Europe|caplc=Rome}}. #:: {{i|adds [[:Category:en:Countries in Europe]]}} # {{m|it|Roma}} #: <code><nowiki>{{place|it|capital city|c/Italy|t1=Rome}}</nowiki></code> #: {{place|it|capital city|c/Italy|t1=Rome}} #:: {{i|adds [[:Category:it:Capital cities]]}} # {{m|fr|Wavrin}} #: <code><nowiki>{{place|fr|town/and/municipality|dept/Nord|r:suf/Hauts-de-France|c/France}}</nowiki></code> #: {{place|fr|town/and/municipality|dept/Nord|r:suf/Hauts-de-France|c/France}} #:: {{i|adds [[:Category:fr:Towns in Nord, France]] and [[:Category:fr:Communes of Nord, France]]}} # {{m|en|Bernicia}} #: <code><nowiki>{{place|en|A <<medieval>> [[Anglo-Saxon]] <<kingdom>>|in northeastern|cc/England|and|southeastern|c/Scotland}}.</nowiki></code> #: {{place|en|A <<medieval>> [[Anglo-Saxon]] <<kingdom>>|in northeastern|cc/England|and|southeastern|c/Scotland}}. #:: {{i|adds [[:Category:en:Polities]], for lack of a more specific category}} #: <code><nowiki>{{place|en|A <<medieval>> [[Anglo-Saxon]] <<kingdom>> in northeastern <<c/England>> and southeastern <<c/Scotland>>.}}</nowiki></code> #: {{place|en|A <<medieval>> [[Anglo-Saxon]] <<kingdom>> in northeastern <<c/England>> and southeastern <<c/Scotland>>}}. #:: {{i|same as previous example, using the alternative format}} # {{m|en|Yuzhne}} #: <code><nowiki>{{place|en|@former name of:Pivdenne|city|raion/Odesa|oblast/Odesa|in southern|c/Ukraine|;|name used before November 2024}}.</nowiki></code> #: {{place|en|@former name of:Pivdenne|city|raion/Odesa|oblast/Odesa|in southern|c/Ukraine|;|name used before November 2024}}. #:: {{i|adds [[:Category:en:Former names of settlements]]}} # {{m|uk|Змії́вка}} #: <code><nowiki>{{place|uk|@former name of:uk:Кідьош|village|urban hromada:suf/Berehove|raion/Berehove|obl/Zakarpattia|c/Ukraine|;|name used from 1946 to 1991; first mentioned in 1332|t=Zmiivka}}.</nowiki></code> #: {{place|uk|@former name of:uk:Кідьош|village|urban hromada:suf/Berehove|raion/Berehove|obl/Zakarpattia|c/Ukraine|;|name used from 1946 to 1991; first mentioned in 1332|t=Zmiivka}}. #:: {{i|adds [[:Category:uk:Former names of settlements]]}} ==Recognized placetypes== The following placetypes are recognized by the module, and processed specially. This does not mean that other placetypes cannot be used, but they will not get special handling (e.g. their display form will not be linked and they will not trigger any categorization). {{#invoke:place doc|placetype_table}} ==Recognized placenames== The following place names are recognized by the module, and handled specially in some fashion. Note that there's nothing preventing any place name from being used. Note that items in the third and fourth columns are boldfaced if they are different from the placename in the first column. {{#invoke:place doc|placename_table}} ==Recognized qualifiers== The following qualifiers are recognized by the module. This means that if such a qualifier is used before a recognized placetype, the placetype will still be recognized and processed as normal. Note that items in the second column are boldfaced if they are different from the qualifier in the first column. {{#invoke:place doc|qualifier_table}} <includeonly> [[Category:Place name templates]] </includeonly> qnlm8u1i7x8e0houkeorqdu37iagwyg Module:headword/page 828 112716 230596 220273 2025-12-24T06:50:59Z en>Benwing2 0 export get_L2_sort_key() 230596 Scribunto text/plain local export = {} local languages_module = "Module:languages" local maintenance_category_module = "Module:maintenance category" local pages_module = "Module:pages" local string_compare_module = "Module:string/compare" local string_decode_entities_module = "Module:string/decodeEntities" local string_remove_comments_module = "Module:string/removeComments" local string_utilities_module = "Module:string utilities" local table_module = "Module:table" local template_parser_module = "Module:template parser" local mw = mw local string = string local table = table local ustring = mw.ustring local concat = table.concat local find = string.find local format = string.format local gsub = string.gsub local insert = table.insert local load_data = mw.loadData local match = string.match local new_title = mw.title.new local pairs = pairs local require = require local sub = string.sub local toNFC = ustring.toNFC local toNFD = ustring.toNFD local ugsub = ustring.gsub local function class_else_type(...) class_else_type = require(template_parser_module).class_else_type return class_else_type(...) end local function decode_entities(...) decode_entities = require(string_decode_entities_module) return decode_entities(...) end local function encode_entities(...) encode_entities = require(string_utilities_module).encode_entities return encode_entities(...) end local function get_category(...) get_category = require(maintenance_category_module).get_category return get_category(...) end local function get_lang(...) get_lang = require(languages_module).getByCode return get_lang(...) end local function list_to_set(...) list_to_set = require(table_module).listToSet return list_to_set(...) end local function parse(...) parse = require(template_parser_module).parse return parse(...) end local function remove_comments(...) remove_comments = require(string_remove_comments_module) return remove_comments(...) end local function physical_to_logical_pagename_if_mammoth(...) physical_to_logical_pagename_if_mammoth = require(pages_module).physical_to_logical_pagename_if_mammoth return physical_to_logical_pagename_if_mammoth(...) end local function split(...) split = require(string_utilities_module).split return split(...) end local function string_compare(...) string_compare = require(string_compare_module) return string_compare(...) end local function uupper(...) uupper = require(string_utilities_module).upper return uupper(...) end --[==[ Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==] local langnames local function get_langnames() langnames, get_langnames = load_data("Module:languages/canonical names"), nil return langnames end -- Combining character data used when categorising unusual characters. These resolve into two patterns, used to find -- single combining characters (i.e. character + diacritic(s)) or double combining characters (i.e. character + -- diacritic(s) + character). -- Charsets are in the format used by Unicode's UnicodeSet tool: https://util.unicode.org/UnicodeJsps/list-unicodeset.jsp. -- Single combining characters. -- Charset: [[:M:]&[:^Canonical_Combining_Class=/^Double_/:]&[:^subhead=Grapheme joiner:]&[:^Variation_Selector=Yes:]] -- Note: concatenating hundreds of lines at once gives an error, so () are used every 150 lines to break it up into chunks. local comb_chars_single = ("\204\128-\205\142" .. -- U+0300-U+034E "\205\144-\205\155" .. -- U+0350-U+035B "\205\163-\205\175" .. -- U+0363-U+036F "\210\131-\210\137" .. -- U+0483-U+0489 "\214\145-\214\189" .. -- U+0591-U+05BD "\214\191" .. -- U+05BF "\215\129" .. -- U+05C1 "\215\130" .. -- U+05C2 "\215\132" .. -- U+05C4 "\215\133" .. -- U+05C5 "\215\135" .. -- U+05C7 "\216\144-\216\154" .. -- U+0610-U+061A "\217\139-\217\159" .. -- U+064B-U+065F "\217\176" .. -- U+0670 "\219\150-\219\156" .. -- U+06D6-U+06DC "\219\159-\219\164" .. -- U+06DF-U+06E4 "\219\167" .. -- U+06E7 "\219\168" .. -- U+06E8 "\219\170-\219\173" .. -- U+06EA-U+06ED "\220\145" .. -- U+0711 "\220\176-\221\138" .. -- U+0730-U+074A "\222\166-\222\176" .. -- U+07A6-U+07B0 "\223\171-\223\179" .. -- U+07EB-U+07F3 "\223\189" .. -- U+07FD "\224\160\150-\224\160\153" .. -- U+0816-U+0819 "\224\160\155-\224\160\163" .. -- U+081B-U+0823 "\224\160\165-\224\160\167" .. -- U+0825-U+0827 "\224\160\169-\224\160\173" .. -- U+0829-U+082D "\224\161\153-\224\161\155" .. -- U+0859-U+085B "\224\162\151-\224\162\159" .. -- U+0897-U+089F "\224\163\138-\224\163\161" .. -- U+08CA-U+08E1 "\224\163\163-\224\164\131" .. -- U+08E3-U+0903 "\224\164\186-\224\164\188" .. -- U+093A-U+093C "\224\164\190-\224\165\143" .. -- U+093E-U+094F "\224\165\145-\224\165\151" .. -- U+0951-U+0957 "\224\165\162" .. -- U+0962 "\224\165\163" .. -- U+0963 "\224\166\129-\224\166\131" .. -- U+0981-U+0983 "\224\166\188" .. -- U+09BC "\224\166\190-\224\167\132" .. -- U+09BE-U+09C4 "\224\167\135" .. -- U+09C7 "\224\167\136" .. -- U+09C8 "\224\167\139-\224\167\141" .. -- U+09CB-U+09CD "\224\167\151" .. -- U+09D7 "\224\167\162" .. -- U+09E2 "\224\167\163" .. -- U+09E3 "\224\167\190" .. -- U+09FE "\224\168\129-\224\168\131" .. -- U+0A01-U+0A03 "\224\168\188" .. -- U+0A3C "\224\168\190-\224\169\130" .. -- U+0A3E-U+0A42 "\224\169\135" .. -- U+0A47 "\224\169\136" .. -- U+0A48 "\224\169\139-\224\169\141" .. -- U+0A4B-U+0A4D "\224\169\145" .. -- U+0A51 "\224\169\176" .. -- U+0A70 "\224\169\177" .. -- U+0A71 "\224\169\181" .. -- U+0A75 "\224\170\129-\224\170\131" .. -- U+0A81-U+0A83 "\224\170\188" .. -- U+0ABC "\224\170\190-\224\171\133" .. -- U+0ABE-U+0AC5 "\224\171\135-\224\171\137" .. -- U+0AC7-U+0AC9 "\224\171\139-\224\171\141" .. -- U+0ACB-U+0ACD "\224\171\162" .. -- U+0AE2 "\224\171\163" .. -- U+0AE3 "\224\171\186-\224\171\191" .. -- U+0AFA-U+0AFF "\224\172\129-\224\172\131" .. -- U+0B01-U+0B03 "\224\172\188" .. -- U+0B3C "\224\172\190-\224\173\132" .. -- U+0B3E-U+0B44 "\224\173\135" .. -- U+0B47 "\224\173\136" .. -- U+0B48 "\224\173\139-\224\173\141" .. -- U+0B4B-U+0B4D "\224\173\149-\224\173\151" .. -- U+0B55-U+0B57 "\224\173\162" .. -- U+0B62 "\224\173\163" .. -- U+0B63 "\224\174\130" .. -- U+0B82 "\224\174\190-\224\175\130" .. -- U+0BBE-U+0BC2 "\224\175\134-\224\175\136" .. -- U+0BC6-U+0BC8 "\224\175\138-\224\175\141" .. -- U+0BCA-U+0BCD "\224\175\151" .. -- U+0BD7 "\224\176\128-\224\176\132" .. -- U+0C00-U+0C04 "\224\176\188" .. -- U+0C3C "\224\176\190-\224\177\132" .. -- U+0C3E-U+0C44 "\224\177\134-\224\177\136" .. -- U+0C46-U+0C48 "\224\177\138-\224\177\141" .. -- U+0C4A-U+0C4D "\224\177\149" .. -- U+0C55 "\224\177\150" .. -- U+0C56 "\224\177\162" .. -- U+0C62 "\224\177\163" .. -- U+0C63 "\224\178\129-\224\178\131" .. -- U+0C81-U+0C83 "\224\178\188" .. -- U+0CBC "\224\178\190-\224\179\132" .. -- U+0CBE-U+0CC4 "\224\179\134-\224\179\136" .. -- U+0CC6-U+0CC8 "\224\179\138-\224\179\141" .. -- U+0CCA-U+0CCD "\224\179\149" .. -- U+0CD5 "\224\179\150" .. -- U+0CD6 "\224\179\162" .. -- U+0CE2 "\224\179\163" .. -- U+0CE3 "\224\179\179" .. -- U+0CF3 "\224\180\128-\224\180\131" .. -- U+0D00-U+0D03 "\224\180\187" .. -- U+0D3B "\224\180\188" .. -- U+0D3C "\224\180\190-\224\181\132" .. -- U+0D3E-U+0D44 "\224\181\134-\224\181\136" .. -- U+0D46-U+0D48 "\224\181\138-\224\181\141" .. -- U+0D4A-U+0D4D "\224\181\151" .. -- U+0D57 "\224\181\162" .. -- U+0D62 "\224\181\163" .. -- U+0D63 "\224\182\129-\224\182\131" .. -- U+0D81-U+0D83 "\224\183\138" .. -- U+0DCA "\224\183\143-\224\183\148" .. -- U+0DCF-U+0DD4 "\224\183\150" .. -- U+0DD6 "\224\183\152-\224\183\159" .. -- U+0DD8-U+0DDF "\224\183\178" .. -- U+0DF2 "\224\183\179" .. -- U+0DF3 "\224\184\177" .. -- U+0E31 "\224\184\180-\224\184\186" .. -- U+0E34-U+0E3A "\224\185\135-\224\185\142" .. -- U+0E47-U+0E4E "\224\186\177" .. -- U+0EB1 "\224\186\180-\224\186\188" .. -- U+0EB4-U+0EBC "\224\187\136-\224\187\142" .. -- U+0EC8-U+0ECE "\224\188\152" .. -- U+0F18 "\224\188\153" .. -- U+0F19 "\224\188\181" .. -- U+0F35 "\224\188\183" .. -- U+0F37 "\224\188\185" .. -- U+0F39 "\224\188\190" .. -- U+0F3E "\224\188\191" .. -- U+0F3F "\224\189\177-\224\190\132" .. -- U+0F71-U+0F84 "\224\190\134" .. -- U+0F86 "\224\190\135" .. -- U+0F87 "\224\190\141-\224\190\151" .. -- U+0F8D-U+0F97 "\224\190\153-\224\190\188" .. -- U+0F99-U+0FBC "\224\191\134" .. -- U+0FC6 "\225\128\171-\225\128\190" .. -- U+102B-U+103E "\225\129\150-\225\129\153" .. -- U+1056-U+1059 "\225\129\158-\225\129\160" .. -- U+105E-U+1060 "\225\129\162-\225\129\164" .. -- U+1062-U+1064 "\225\129\167-\225\129\173" .. -- U+1067-U+106D "\225\129\177-\225\129\180" .. -- U+1071-U+1074 "\225\130\130-\225\130\141" .. -- U+1082-U+108D "\225\130\143" .. -- U+108F "\225\130\154-\225\130\157" .. -- U+109A-U+109D "\225\141\157-\225\141\159" .. -- U+135D-U+135F "\225\156\146-\225\156\149" .. -- U+1712-U+1715 "\225\156\178-\225\156\180" .. -- U+1732-U+1734 "\225\157\146" .. -- U+1752 "\225\157\147" .. -- U+1753 "\225\157\178" .. -- U+1772 "\225\157\179" .. -- U+1773 "\225\158\180-\225\159\147") .. -- U+17B4-U+17D3 ("\225\159\157" .. -- U+17DD "\225\162\133" .. -- U+1885 "\225\162\134" .. -- U+1886 "\225\162\169" .. -- U+18A9 "\225\164\160-\225\164\171" .. -- U+1920-U+192B "\225\164\176-\225\164\187" .. -- U+1930-U+193B "\225\168\151-\225\168\155" .. -- U+1A17-U+1A1B "\225\169\149-\225\169\158" .. -- U+1A55-U+1A5E "\225\169\160-\225\169\188" .. -- U+1A60-U+1A7C "\225\169\191" .. -- U+1A7F "\225\170\176-\225\171\142" .. -- U+1AB0-U+1ACE "\225\172\128-\225\172\132" .. -- U+1B00-U+1B04 "\225\172\180-\225\173\132" .. -- U+1B34-U+1B44 "\225\173\171-\225\173\179" .. -- U+1B6B-U+1B73 "\225\174\128-\225\174\130" .. -- U+1B80-U+1B82 "\225\174\161-\225\174\173" .. -- U+1BA1-U+1BAD "\225\175\166-\225\175\179" .. -- U+1BE6-U+1BF3 "\225\176\164-\225\176\183" .. -- U+1C24-U+1C37 "\225\179\144-\225\179\146" .. -- U+1CD0-U+1CD2 "\225\179\148-\225\179\168" .. -- U+1CD4-U+1CE8 "\225\179\173" .. -- U+1CED "\225\179\180" .. -- U+1CF4 "\225\179\183-\225\179\185" .. -- U+1CF7-U+1CF9 "\225\183\128-\225\183\140" .. -- U+1DC0-U+1DCC "\225\183\142-\225\183\187" .. -- U+1DCE-U+1DFB "\225\183\189-\225\183\191" .. -- U+1DFD-U+1DFF "\226\131\144-\226\131\176" .. -- U+20D0-U+20F0 "\226\179\175-\226\179\177" .. -- U+2CEF-U+2CF1 "\226\181\191" .. -- U+2D7F "\226\183\160-\226\183\191" .. -- U+2DE0-U+2DFF "\227\128\170-\227\128\175" .. -- U+302A-U+302F "\227\130\153" .. -- U+3099 "\227\130\154" .. -- U+309A "\234\153\175-\234\153\178" .. -- U+A66F-U+A672 "\234\153\180-\234\153\189" .. -- U+A674-U+A67D "\234\154\158" .. -- U+A69E "\234\154\159" .. -- U+A69F "\234\155\176" .. -- U+A6F0 "\234\155\177" .. -- U+A6F1 "\234\160\130" .. -- U+A802 "\234\160\134" .. -- U+A806 "\234\160\139" .. -- U+A80B "\234\160\163-\234\160\167" .. -- U+A823-U+A827 "\234\160\172" .. -- U+A82C "\234\162\128" .. -- U+A880 "\234\162\129" .. -- U+A881 "\234\162\180-\234\163\133" .. -- U+A8B4-U+A8C5 "\234\163\160-\234\163\177" .. -- U+A8E0-U+A8F1 "\234\163\191" .. -- U+A8FF "\234\164\166-\234\164\173" .. -- U+A926-U+A92D "\234\165\135-\234\165\147" .. -- U+A947-U+A953 "\234\166\128-\234\166\131" .. -- U+A980-U+A983 "\234\166\179-\234\167\128" .. -- U+A9B3-U+A9C0 "\234\167\165" .. -- U+A9E5 "\234\168\169-\234\168\182" .. -- U+AA29-U+AA36 "\234\169\131" .. -- U+AA43 "\234\169\140" .. -- U+AA4C "\234\169\141" .. -- U+AA4D "\234\169\187-\234\169\189" .. -- U+AA7B-U+AA7D "\234\170\176" .. -- U+AAB0 "\234\170\178-\234\170\180" .. -- U+AAB2-U+AAB4 "\234\170\183" .. -- U+AAB7 "\234\170\184" .. -- U+AAB8 "\234\170\190" .. -- U+AABE "\234\170\191" .. -- U+AABF "\234\171\129" .. -- U+AAC1 "\234\171\171-\234\171\175" .. -- U+AAEB-U+AAEF "\234\171\181" .. -- U+AAF5 "\234\171\182" .. -- U+AAF6 "\234\175\163-\234\175\170" .. -- U+ABE3-U+ABEA "\234\175\172" .. -- U+ABEC "\234\175\173" .. -- U+ABED "\239\172\158" .. -- U+FB1E "\239\184\160-\239\184\175" .. -- U+FE20-U+FE2F "\240\144\135\189" .. -- U+101FD "\240\144\139\160" .. -- U+102E0 "\240\144\141\182-\240\144\141\186" .. -- U+10376-U+1037A "\240\144\168\129-\240\144\168\131" .. -- U+10A01-U+10A03 "\240\144\168\133" .. -- U+10A05 "\240\144\168\134" .. -- U+10A06 "\240\144\168\140-\240\144\168\143" .. -- U+10A0C-U+10A0F "\240\144\168\184-\240\144\168\186" .. -- U+10A38-U+10A3A "\240\144\168\191" .. -- U+10A3F "\240\144\171\165" .. -- U+10AE5 "\240\144\171\166" .. -- U+10AE6 "\240\144\180\164-\240\144\180\167" .. -- U+10D24-U+10D27 "\240\144\181\169-\240\144\181\173" .. -- U+10D69-U+10D6D "\240\144\186\171" .. -- U+10EAB "\240\144\186\172" .. -- U+10EAC "\240\144\187\188-\240\144\187\191" .. -- U+10EFC-U+10EFF "\240\144\189\134-\240\144\189\144" .. -- U+10F46-U+10F50 "\240\144\190\130-\240\144\190\133" .. -- U+10F82-U+10F85 "\240\145\128\128-\240\145\128\130" .. -- U+11000-U+11002 "\240\145\128\184-\240\145\129\134" .. -- U+11038-U+11046 "\240\145\129\176" .. -- U+11070 "\240\145\129\179" .. -- U+11073 "\240\145\129\180" .. -- U+11074 "\240\145\129\191-\240\145\130\130" .. -- U+1107F-U+11082 "\240\145\130\176-\240\145\130\186" .. -- U+110B0-U+110BA "\240\145\131\130" .. -- U+110C2 "\240\145\132\128-\240\145\132\130" .. -- U+11100-U+11102 "\240\145\132\167-\240\145\132\180" .. -- U+11127-U+11134 "\240\145\133\133" .. -- U+11145 "\240\145\133\134" .. -- U+11146 "\240\145\133\179" .. -- U+11173 "\240\145\134\128-\240\145\134\130" .. -- U+11180-U+11182 "\240\145\134\179-\240\145\135\128" .. -- U+111B3-U+111C0 "\240\145\135\137-\240\145\135\140" .. -- U+111C9-U+111CC "\240\145\135\142" .. -- U+111CE "\240\145\135\143" .. -- U+111CF "\240\145\136\172-\240\145\136\183" .. -- U+1122C-U+11237 "\240\145\136\190" .. -- U+1123E "\240\145\137\129" .. -- U+11241 "\240\145\139\159-\240\145\139\170" .. -- U+112DF-U+112EA "\240\145\140\128-\240\145\140\131" .. -- U+11300-U+11303 "\240\145\140\187" .. -- U+1133B "\240\145\140\188" .. -- U+1133C "\240\145\140\190-\240\145\141\132" .. -- U+1133E-U+11344 "\240\145\141\135" .. -- U+11347 "\240\145\141\136" .. -- U+11348 "\240\145\141\139-\240\145\141\141" .. -- U+1134B-U+1134D "\240\145\141\151" .. -- U+11357 "\240\145\141\162" .. -- U+11362 "\240\145\141\163" .. -- U+11363 "\240\145\141\166-\240\145\141\172" .. -- U+11366-U+1136C "\240\145\141\176-\240\145\141\180" .. -- U+11370-U+11374 "\240\145\142\184-\240\145\143\128" .. -- U+113B8-U+113C0 "\240\145\143\130" .. -- U+113C2 "\240\145\143\133" .. -- U+113C5 "\240\145\143\135-\240\145\143\138" .. -- U+113C7-U+113CA "\240\145\143\140-\240\145\143\144" .. -- U+113CC-U+113D0 "\240\145\143\146" .. -- U+113D2 "\240\145\143\161" .. -- U+113E1 "\240\145\143\162" .. -- U+113E2 "\240\145\144\181-\240\145\145\134" .. -- U+11435-U+11446 "\240\145\145\158" .. -- U+1145E "\240\145\146\176-\240\145\147\131" .. -- U+114B0-U+114C3 "\240\145\150\175-\240\145\150\181" .. -- U+115AF-U+115B5 "\240\145\150\184-\240\145\151\128" .. -- U+115B8-U+115C0 "\240\145\151\156" .. -- U+115DC "\240\145\151\157" .. -- U+115DD "\240\145\152\176-\240\145\153\128" .. -- U+11630-U+11640 "\240\145\154\171-\240\145\154\183" .. -- U+116AB-U+116B7 "\240\145\156\157-\240\145\156\171" .. -- U+1171D-U+1172B "\240\145\160\172-\240\145\160\186" .. -- U+1182C-U+1183A "\240\145\164\176-\240\145\164\181" .. -- U+11930-U+11935 "\240\145\164\183" .. -- U+11937 "\240\145\164\184" .. -- U+11938 "\240\145\164\187-\240\145\164\190" .. -- U+1193B-U+1193E "\240\145\165\128") .. -- U+11940 ("\240\145\165\130" .. -- U+11942 "\240\145\165\131" .. -- U+11943 "\240\145\167\145-\240\145\167\151" .. -- U+119D1-U+119D7 "\240\145\167\154-\240\145\167\160" .. -- U+119DA-U+119E0 "\240\145\167\164" .. -- U+119E4 "\240\145\168\129-\240\145\168\138" .. -- U+11A01-U+11A0A "\240\145\168\179-\240\145\168\185" .. -- U+11A33-U+11A39 "\240\145\168\187-\240\145\168\190" .. -- U+11A3B-U+11A3E "\240\145\169\135" .. -- U+11A47 "\240\145\169\145-\240\145\169\155" .. -- U+11A51-U+11A5B "\240\145\170\138-\240\145\170\153" .. -- U+11A8A-U+11A99 "\240\145\176\175-\240\145\176\182" .. -- U+11C2F-U+11C36 "\240\145\176\184-\240\145\176\191" .. -- U+11C38-U+11C3F "\240\145\178\146-\240\145\178\167" .. -- U+11C92-U+11CA7 "\240\145\178\169-\240\145\178\182" .. -- U+11CA9-U+11CB6 "\240\145\180\177-\240\145\180\182" .. -- U+11D31-U+11D36 "\240\145\180\186" .. -- U+11D3A "\240\145\180\188" .. -- U+11D3C "\240\145\180\189" .. -- U+11D3D "\240\145\180\191-\240\145\181\133" .. -- U+11D3F-U+11D45 "\240\145\181\135" .. -- U+11D47 "\240\145\182\138-\240\145\182\142" .. -- U+11D8A-U+11D8E "\240\145\182\144" .. -- U+11D90 "\240\145\182\145" .. -- U+11D91 "\240\145\182\147-\240\145\182\151" .. -- U+11D93-U+11D97 "\240\145\187\179-\240\145\187\182" .. -- U+11EF3-U+11EF6 "\240\145\188\128" .. -- U+11F00 "\240\145\188\129" .. -- U+11F01 "\240\145\188\131" .. -- U+11F03 "\240\145\188\180-\240\145\188\186" .. -- U+11F34-U+11F3A "\240\145\188\190-\240\145\189\130" .. -- U+11F3E-U+11F42 "\240\145\189\154" .. -- U+11F5A "\240\147\145\128" .. -- U+13440 "\240\147\145\135-\240\147\145\149" .. -- U+13447-U+13455 "\240\150\132\158-\240\150\132\175" .. -- U+1611E-U+1612F "\240\150\171\176-\240\150\171\180" .. -- U+16AF0-U+16AF4 "\240\150\172\176-\240\150\172\182" .. -- U+16B30-U+16B36 "\240\150\189\143" .. -- U+16F4F "\240\150\189\145-\240\150\190\135" .. -- U+16F51-U+16F87 "\240\150\190\143-\240\150\190\146" .. -- U+16F8F-U+16F92 "\240\150\191\164" .. -- U+16FE4 "\240\150\191\176" .. -- U+16FF0 "\240\150\191\177" .. -- U+16FF1 "\240\155\178\157" .. -- U+1BC9D "\240\155\178\158" .. -- U+1BC9E "\240\156\188\128-\240\156\188\173" .. -- U+1CF00-U+1CF2D "\240\156\188\176-\240\156\189\134" .. -- U+1CF30-U+1CF46 "\240\157\133\165-\240\157\133\169" .. -- U+1D165-U+1D169 "\240\157\133\173-\240\157\133\178" .. -- U+1D16D-U+1D172 "\240\157\133\187-\240\157\134\130" .. -- U+1D17B-U+1D182 "\240\157\134\133-\240\157\134\139" .. -- U+1D185-U+1D18B "\240\157\134\170-\240\157\134\173" .. -- U+1D1AA-U+1D1AD "\240\157\137\130-\240\157\137\132" .. -- U+1D242-U+1D244 "\240\157\168\128-\240\157\168\182" .. -- U+1DA00-U+1DA36 "\240\157\168\187-\240\157\169\172" .. -- U+1DA3B-U+1DA6C "\240\157\169\181" .. -- U+1DA75 "\240\157\170\132" .. -- U+1DA84 "\240\157\170\155-\240\157\170\159" .. -- U+1DA9B-U+1DA9F "\240\157\170\161-\240\157\170\175" .. -- U+1DAA1-U+1DAAF "\240\158\128\128-\240\158\128\134" .. -- U+1E000-U+1E006 "\240\158\128\136-\240\158\128\152" .. -- U+1E008-U+1E018 "\240\158\128\155-\240\158\128\161" .. -- U+1E01B-U+1E021 "\240\158\128\163" .. -- U+1E023 "\240\158\128\164" .. -- U+1E024 "\240\158\128\166-\240\158\128\170" .. -- U+1E026-U+1E02A "\240\158\130\143" .. -- U+1E08F "\240\158\132\176-\240\158\132\182" .. -- U+1E130-U+1E136 "\240\158\138\174" .. -- U+1E2AE "\240\158\139\172-\240\158\139\175" .. -- U+1E2EC-U+1E2EF "\240\158\147\172-\240\158\147\175" .. -- U+1E4EC-U+1E4EF "\240\158\151\174" .. -- U+1E5EE "\240\158\151\175" .. -- U+1E5EF "\240\158\163\144-\240\158\163\150" .. -- U+1E8D0-U+1E8D6 "\240\158\165\132-\240\158\165\138") -- U+1E944-U+1E94A -- Double combining characters. -- Charset: [[:M:]&[:Canonical_Combining_Class=/^Double_/:]&[:^subhead=Grapheme joiner:]&[:^Variation_Selector=Yes:]] local comb_chars_double = "\205\156-\205\162" .. -- U+035C-U+0362 "\225\183\141" .. -- U+1DCD "\225\183\188" -- U+1DFC -- Variation selectors etc.; separated out so that we don't get categories for them. -- Charset: [[:M:]&[[:subhead=Grapheme joiner:][:Variation_Selector=Yes:]]]. local comb_chars_other = "\205\143" .. -- U+034F "\225\160\139-\225\160\141" .. -- U+180B-U+180D "\225\160\143" .. -- U+180F "\239\184\128-\239\184\143" .. -- U+FE00-U+FE0F "\243\160\132\128-\243\160\135\175" -- U+E0100-U+E01EF local comb_chars_all = comb_chars_single .. comb_chars_double .. comb_chars_other local comb_chars = { combined_single = "[^" .. comb_chars_all .. "][" .. comb_chars_single .. comb_chars_other .. "]+%f[^" .. comb_chars_all .. "]", combined_double = "[^" .. comb_chars_all .. "][" .. comb_chars_single .. comb_chars_other .. "]*[" .. comb_chars_double .. "]+[" .. comb_chars_all .. "]*.[" .. comb_chars_single .. comb_chars_other .. "]*", diacritics_single = "[" .. comb_chars_single .. "]", diacritics_double = "[" .. comb_chars_double .. "]", diacritics_all = "[" .. comb_chars_all .. "]" } -- Somewhat curated list from https://unicode.org/Public/emoji/16.0/emoji-sequences.txt. -- NOTE: There are lots more emoji sequences involving non-emoji Plane 0 symbols followed by 0xFE0F, which we don't -- (yet?) handle. local emoji_chars = "\226\140\154" .. -- U+231A (⌚) "\226\140\155" .. -- U+231B (⌛) "\226\140\168" .. -- U+2328 (⌨) "\226\143\143" .. -- U+23CF (⏏) "\226\143\169-\226\143\179" .. -- U+23E9-U+23F3 (⏩-⏳) "\226\143\184-\226\143\186" .. -- U+23F8-U+23FA (⏸-⏺) "\226\150\170" .. -- U+25AA (▪) "\226\150\171" .. -- U+25AB (▫) "\226\150\182" .. -- U+25B6 (▶) "\226\151\128" .. -- U+25C0 (◀) "\226\151\187-\226\151\190" .. -- U+25FB-U+25FE (◻-◾) "\226\152\128-\226\152\132" .. -- U+2600-U+2604 (☀-☄) "\226\152\142" .. -- U+260E (☎) "\226\152\145" .. -- U+2611 (☑) "\226\152\148" .. -- U+2614 (☔) "\226\152\149" .. -- U+2615 (☕) "\226\152\152" .. -- U+2618 (☘) "\226\152\157" .. -- U+261D (☝) "\226\152\160" .. -- U+2620 (☠) "\226\152\162" .. -- U+2622 (☢) "\226\152\163" .. -- U+2623 (☣) "\226\152\166" .. -- U+2626 (☦) "\226\152\170" .. -- U+262A (☪) "\226\152\174" .. -- U+262E (☮) "\226\152\175" .. -- U+262F (☯) "\226\152\184-\226\152\186" .. -- U+2638-U+263A (☸-☺) "\226\153\136-\226\153\147" .. -- U+2648-U+2653 (♈-♓) "\226\153\159" .. -- U+265F (♟) "\226\153\160" .. -- U+2660 (♠) "\226\153\163" .. -- U+2663 (♣) "\226\153\165" .. -- U+2665 (♥) "\226\153\166" .. -- U+2666 (♦) "\226\153\168" .. -- U+2668 (♨) "\226\153\187" .. -- U+267B (♻) "\226\153\190" .. -- U+267E (♾) "\226\153\191" .. -- U+267F (♿) "\226\154\146-\226\154\151" .. -- U+2692-U+2697 (⚒-⚗) "\226\154\153" .. -- U+2699 (⚙) "\226\154\155" .. -- U+269B (⚛) "\226\154\156" .. -- U+269C (⚜) "\226\154\160" .. -- U+26A0 (⚠) "\226\154\161" .. -- U+26A1 (⚡) "\226\154\170" .. -- U+26AA (⚪) "\226\154\171" .. -- U+26AB (⚫) "\226\154\176" .. -- U+26B0 (⚰) "\226\154\177" .. -- U+26B1 (⚱) "\226\154\189" .. -- U+26BD (⚽) "\226\154\190" .. -- U+26BE (⚾) "\226\155\132" .. -- U+26C4 (⛄) "\226\155\133" .. -- U+26C5 (⛅) "\226\155\136" .. -- U+26C8 (⛈) "\226\155\142" .. -- U+26CE (⛎) "\226\155\143" .. -- U+26CF (⛏) "\226\155\145" .. -- U+26D1 (⛑) "\226\155\147" .. -- U+26D3 (⛓) "\226\155\148" .. -- U+26D4 (⛔) "\226\155\169" .. -- U+26E9 (⛩) "\226\155\170" .. -- U+26EA (⛪) "\226\155\176-\226\155\181" .. -- U+26F0-U+26F5 (⛰-⛵) "\226\155\183-\226\155\186" .. -- U+26F7-U+26FA (⛷-⛺) "\226\155\189" .. -- U+26FD (⛽) "\226\156\130" .. -- U+2702 (✂) "\226\156\133" .. -- U+2705 (✅) "\226\156\136-\226\156\141" .. -- U+2708-U+270D (✈-✍) "\226\156\143" .. -- U+270F (✏) "\226\156\146" .. -- U+2712 (✒) "\226\156\148" .. -- U+2714 (✔) "\226\156\150" .. -- U+2716 (✖) "\226\156\157" .. -- U+271D (✝) "\226\156\161" .. -- U+2721 (✡) "\226\156\168" .. -- U+2728 (✨) "\226\156\179" .. -- U+2733 (✳) "\226\156\180" .. -- U+2734 (✴) "\226\157\132" .. -- U+2744 (❄) "\226\157\135" .. -- U+2747 (❇) "\226\157\140" .. -- U+274C (❌) "\226\157\142" .. -- U+274E (❎) "\226\157\147-\226\157\149" .. -- U+2753-U+2755 (❓-❕) "\226\157\151" .. -- U+2757 (❗) "\226\157\163" .. -- U+2763 (❣) "\226\157\164" .. -- U+2764 (❤) "\226\158\149-\226\158\151" .. -- U+2795-U+2797 (➕-➗) "\226\158\161" .. -- U+27A1 (➡) "\226\158\176" .. -- U+27B0 (➰) "\226\158\191" .. -- U+27BF (➿) "\226\164\180" .. -- U+2934 (⤴) "\226\164\181" .. -- U+2935 (⤵) "\226\172\133-\226\172\135" .. -- U+2B05-U+2B07 (⬅-⬇) "\226\172\155" .. -- U+2B1B (⬛) "\226\172\156" .. -- U+2B1C (⬜) "\226\173\144" .. -- U+2B50 (⭐) "\226\173\149" .. -- U+2B55 (⭕) "\227\128\176" .. -- U+3030 (〰) "\227\128\189" .. -- U+303D (〽) "\227\138\151" .. -- U+3297 (㊗) "\227\138\153" .. -- U+3299 (㊙) "\240\159\128\132" .. -- U+1F004 (🀄) "\240\159\131\143" .. -- U+1F0CF (🃏) "\240\159\133\176" .. -- U+1F170 (🅰) "\240\159\133\177" .. -- U+1F171 (🅱) "\240\159\133\190" .. -- U+1F17E (🅾) "\240\159\133\191" .. -- U+1F17F (🅿) "\240\159\134\142" .. -- U+1F18E (🆎) "\240\159\134\145-\240\159\134\154" .. -- U+1F191-U+1F19A (🆑-🆚) "\240\159\136\129" .. -- U+1F201 (🈁) "\240\159\136\130" .. -- U+1F202 (🈂) "\240\159\136\154" .. -- U+1F21A (🈚) "\240\159\136\175" .. -- U+1F22F (🈯) "\240\159\136\178-\240\159\136\186" .. -- U+1F232-U+1F23A (🈲-🈺) "\240\159\137\144" .. -- U+1F250 (🉐) "\240\159\137\145" .. -- U+1F251 (🉑) "\240\159\140\128-\240\159\153\143" .. -- U+1F300-U+1F64F (🌀-🙏) "\240\159\154\128-\240\159\155\151" .. -- U+1F680-U+1F6D7 (🚀-🛗) "\240\159\155\156-\240\159\155\172" .. -- U+1F6DC-U+1F6EC (🛜-🛬) "\240\159\155\176-\240\159\155\188" .. -- U+1F6F0-U+1F6FC (🛰-🛼) "\240\159\159\160-\240\159\159\171" .. -- U+1F7E0-U+1F7EB (🟠-🟫) "\240\159\159\176" .. -- U+1F7F0 (🟰) "\240\159\164\140-\240\159\169\147" .. -- U+1F90C-U+1FA53 (🤌-🩓) "\240\159\169\160-\240\159\169\173" .. -- U+1FA60-U+1FA6D (🩠-🩭) "\240\159\169\176-\240\159\169\188" .. -- U+1FA70-U+1FA7C (🩰-🩼) "\240\159\170\128-\240\159\170\137" .. -- U+1FA80-U+1FA89 (🪀-🪉) "\240\159\170\143-\240\159\171\134" .. -- U+1FA8F-U+1FAC6 (🪏-🫆) "\240\159\171\142-\240\159\171\156" .. -- U+1FACE-U+1FADC (🫎-🫜) "\240\159\171\159-\240\159\171\169" .. -- U+1FADF-U+1FAE9 (🫟-🫩) "\240\159\171\176-\240\159\171\184" -- U+1FAF0-U+1FAF8 (🫰-🫸) local unsupported_characters local function get_unsupported_characters() unsupported_characters, get_unsupported_characters = {}, nil for k, v in pairs(load_data("Module:links/data").unsupported_characters) do unsupported_characters[v] = k end return unsupported_characters end -- The list of unsupported titles and invert it (so the keys are pagenames and values are canonical titles). local unsupported_titles local function get_unsupported_titles() unsupported_titles, get_unsupported_titles = {}, nil for k, v in pairs(load_data("Module:links/data").unsupported_titles) do unsupported_titles[v] = k end return unsupported_titles end -- To save on memory, we only cache names with either non-ASCII characters in them or ASCII characters to be removed or -- transformed (apostrophe, double quote, hyphen). local L2_sort_key_cache = {} function export.get_L2_sort_key(L2) if L2 == "Translingual" then return "\1" elseif L2 == "English" then return "\2" elseif match(L2, "^[%z\1-\b\14-!#-&(-,.-\127]+$") then return L2 end local sort_key = L2_sort_key_cache[L2] if sort_key then return sort_key end sort_key = toNFC(ugsub(ugsub(toNFD(L2), "[" .. comb_chars_all .. "'\"ʻʼ]+", ""), "[%s%-]+", " ")) L2_sort_key_cache[L2] = sort_key return sort_key end --[==[ Given a pagename (or {nil} for the current page), create and return a data structure describing the page. The returned object includes the following fields: * `comb_chars`: A table containing various Lua character class patterns for different types of combined characters (those that decompose into multiple characters in the NFD decomposition). The patterns are meant to be used with {mw.ustring.find()}. The keys are: ** `single`: Single combining characters (character + diacritic), without surrounding brackets; ** `double`: Double combining characters (character + diacritic + character), without surrounding brackets; ** `vs`: Variation selectors, without surrounding brackets; ** `all`: Concatenation of `single` + `double` + `vs`, without surrounding brackets; ** `diacritics_single`: Like `single` but with surrounding brackets; ** `diacritics_double`: Like `double` but with surrounding brackets; ** `diacritics_all`: Like `all` but with surrounding brackets; ** `combined_single`: Lua pattern for matching a spacing character followed by one or more single combining characters; ** `combined_double`: Lua pattern for matching a combination of two spacing characters separated by one or more double combining characters, possibly also with single combining characters; * `emoji_pattern`: A Lua character class pattern (including surrounding brackets) that matches emojis. Meant to be used with {mw.ustring.find()}. * `L2_list`: Ordered list of L2 headings on the page, with the extra key `n` that gives the length of the list. * `L2_sections`: Lookup table of L2 headings on the page, where the key is the section number assigned by the preprocessor, and the value is the L2 heading name. Once an invocation has got its actual section number from get_current_L2 in [[Module:pages]], it can use this table to determine its parent L2. TODO: We could expand this to include subsections, to check POS headings are correct etc. * `unsupported_titles`: Map from pagenames to canonical titles for unsupported-title pages. * `namespace`: Namespace of the pagename. * `ns`: Namespace table for the page from mw.site.namespaces (TODO: merge with `namespace` above). * `full_raw_pagename`: Full version of the '''RAW''' pagename (i.e. unsupported-title pages aren't canonicalized); including the namespace and the base (portion before the slash). * `pagename`: Canonicalized subpage portion of the pagename (unsupported-title pages are canonicalized). * `pagename_with_base`: Same as `pagename` in the main namespace; otherwise, the whole pagename without the namespace. * `decompose_pagename`: Equivalent of `pagename` in NFD decomposition. * `pagename_len`: Length of `pagename` in Unicode chars, where combinations of spacing character + decomposed diacritic are treated as single characters. * `explode_pagename`: Set of characters found in `pagename`. The keys are characters (where combinations of spacing character + decomposed diacritic are treated as single characters). * `encoded_pagename`: FIXME: Document me. * `pagename_defaultsort`: FIXME: Document me. * `raw_defaultsort`: FIXME: Document me. * `wikitext_topic_cat`: FIXME: Document me. * `wikitext_langname_cat`: FIXME: Document me. `no_fetch_content` says to not fetch and parse the content or set a DEFAULTSORT sort key, in order to save time on test and documentation pages that have lots of template invocations that set `|pagename=`. It turns out nearly all the time of this function is contained in the line `frame:callParserFunction("DEFAULTSORT", data.pagename_defaultsort)`, so we skip it on test and documentation pages where it accomplishes nothing in any case. ]==] function export.process_page(pagename, no_fetch_content) local data = { comb_chars = comb_chars, emoji_pattern = "[" .. emoji_chars .. "]", unsupported_titles = unsupported_titles or get_unsupported_titles() } local cats = {} data.cats = cats -- We cannot store `raw_title` in `data` because it contains a metatable. local raw_title local function bad_pagename() if not pagename then error("Internal error: Something wrong, `data.pagename` not specified but current title contains illegal characters") else error(format("Bad value for `data.pagename`: '%s', which must not contain illegal characters", pagename)) end end if pagename then -- for testing, doc pages, etc. raw_title = new_title(pagename) if not raw_title then bad_pagename() end else raw_title = mw.title.getCurrentTitle() end local nsText = raw_title.nsText local namespace_is_reconstruction = nsText == "Reconstruction" data.namespace = nsText data.ns = mw.site.namespaces[raw_title.namespace] local full_raw_pagename = raw_title.fullText data.full_raw_pagename = full_raw_pagename local frame = mw.getCurrentFrame() -- WARNING: `content` may be nil, e.g. if we're substing a template like {{ja-new}} on a not-yet-created page -- or if the module specifies the subpage as `data.pagename` (which many modules do) and we're in an Appendix -- or other non-mainspace page. We used to make the latter an error but there are too many modules that do it, -- and substing on a nonexistent page is totally legit, and we don't actually need to be able to access the -- content of the page. local content = not no_fetch_content and raw_title:getContent() or nil -- Get the pagename. pagename = physical_to_logical_pagename_if_mammoth(raw_title) pagename = gsub(pagename, "^Unsupported titles/(.+)", function(m) insert(cats, "Unsupported titles") local title = (unsupported_titles or get_unsupported_titles())[m] if title then return title end -- Substitute pairs of "`". Those not used for escaping should be escaped as "`grave`", but might not be, -- so if a pair don't form a match, the closing "`" should become the opening "`" of the next match attempt. -- This has to be done manually, instead of using gsub. local open_pos = find(m, "`") if not open_pos then return m end title = {sub(m, 1, open_pos - 1)} while true do local close_pos = find(m, "`", open_pos + 1) if not close_pos then -- Add "`" plus any remaining characters. insert(title, sub(m, open_pos)) break end local escape = sub(m, open_pos, close_pos) local ch = (unsupported_characters or get_unsupported_characters())[escape] -- Match found, so substitute the character and move to the first "`" after the match if found, or -- otherwise return. if ch then insert(title, ch) local nxt_pos = close_pos + 1 open_pos = find(m, "`", nxt_pos) -- Add any characters between the match and the next "`" or end. if open_pos then insert(title, sub(m, nxt_pos, open_pos - 1)) else insert(title, sub(m, nxt_pos)) break end -- Match not found, so make the closing "`" the opening "`" of the next attempt. else -- Add the failed match, except for the closing "`". insert(title, sub(m, open_pos, close_pos - 1)) open_pos = close_pos end end return concat(title) end) -- Save pagename, as the local variable will be destructively modified. data.pagename = pagename if nsText == "" then data.pagename_with_base = pagename else data.pagename_with_base = raw_title.text end -- Decompose the pagename in Unicode normalization form D. data.decompose_pagename = toNFD(pagename) -- Explode the current page name into a character table, taking decomposed combining characters into account. local explode_pagename = {} local pagename_len = 0 local function explode(char) explode_pagename[char] = true pagename_len = pagename_len + 1 return "" end pagename = ugsub(pagename, comb_chars.combined_double, explode) pagename = gsub(ugsub(pagename, comb_chars.combined_single, explode), ".[\128-\191]*", explode) data.explode_pagename = explode_pagename data.pagename_len = pagename_len -- Generate DEFAULTSORT. data.encoded_pagename = encode_entities(data.pagename) data.pagename_defaultsort = get_lang("mul"):makeSortKey(data.encoded_pagename) if not no_fetch_content then frame:callParserFunction("DEFAULTSORT", data.pagename_defaultsort) end data.raw_defaultsort = uupper(raw_title.text) -- Make `L2_list` and `L2_sections`, note raw wikitext use of {{DEFAULTSORT:}} and {{DISPLAYTITLE:}}, then add categories if any unwanted L1 headings are found, the L2 headings are in the wrong order, or they don't match a canonical language name. -- Note: HTML comments shouldn't be removed from `content` until after this step, as they can affect the result. do local L2_list, L2_list_len, L2_sections = {}, 0, {} local prev, rc local new_cats, L2_wrong_order = {} local function handle_heading(heading) local level = heading.level if level > 2 then return end local name = heading:get_name() -- heading:get_name() will return nil if there are any newline characters in the preprocessed heading name (e.g. from an expanded template). In such cases, the preprocessor section count still increments (since it's calculated pre-expansion), but the heading will fail, so the L2 count shouldn't be incremented. if name == nil then return end L2_list_len = L2_list_len + 1 L2_list[L2_list_len] = name L2_sections[heading.section] = name -- Also add any L1s, since they terminate the preceding L2, but add a maintenance category since it's probably a mistake. if level == 1 then new_cats["Pages with unwanted L1 headings"] = true end -- Check the heading is in the right order. -- FIXME: we need a more sophisticated sorting method which handles non-diacritic special characters (e.g. Magɨ). if prev and not ( L2_wrong_order or string_compare(export.get_L2_sort_key(prev), export.get_L2_sort_key(name)) ) then new_cats["Pages with language headings in the wrong order"] = true L2_wrong_order = true end -- Check it's a canonical language name. if not (langnames or get_langnames())[name] then new_cats["Pages with nonstandard language headings"] = true end prev = name end local function handle_template(template) -- Turn off redirect checking except in the Reconstruction namespace because the rc flag is only -- used in the Reconstruction namespace and the other names are parser functions, which AFAIK can't -- be redirected to. local name = template:get_name(nil, not namespace_is_reconstruction and "no_redirect" or nil) if name == "DEFAULTSORT:" then new_cats["Pages with DEFAULTSORT conflicts"] = true elseif name == "DISPLAYTITLE:" then new_cats["Pages with DISPLAYTITLE conflicts"] = true elseif name == "reconstructed" then rc = true end end if content then for node in parse(content):iterate_nodes() do local node_class = class_else_type(node) if node_class == "heading" then handle_heading(node) elseif node_class == "template" then handle_template(node) elseif node_class == "parameter" then new_cats["Pages with raw triple-brace template parameters"] = true end end end L2_list.n = L2_list_len data.L2_list = L2_list data.L2_sections = L2_sections insert(cats, get_category("Pages with entries")) insert(cats, get_category(format("Pages with %s entr%s", L2_list_len, L2_list_len == 1 and "y" or "ies"))) for cat in pairs(new_cats) do insert(cats, get_category(cat)) end if namespace_is_reconstruction and not rc then local langname = match(full_raw_pagename, "^Reconstruction:([^/]+)/.") if langname then insert(cats, get_category(langname .. " entries missing Template:reconstructed")) end end end ------ 4. Parse page for maintenance categories. ------ -- Use of tab characters. if content and find(content, "\t", 1, true) then insert(cats, get_category("Pages with tab characters")) end -- Unencoded character(s) in title. local IDS = list_to_set{"⿰", "⿱", "⿲", "⿳", "⿴", "⿵", "⿶", "⿷", "⿸", "⿹", "⿺", "⿻", "⿼", "⿽", "⿾", "⿿", "㇯"} for char in pairs(explode_pagename) do if IDS[char] and char ~= data.pagename then insert(cats, "Terms containing unencoded characters") break end end -- Raw wikitext use of a topic or langname category. Also check if any raw sortkeys have been used. do local wikitext_topic_cat = {} local wikitext_langname_cat = {} local raw_sortkey -- If a raw sortkey has been found, add it to the relevant table. -- If there's no table (or the index is just `true`), create one first. local function add_cat_table(t, lang, sortkey) local t_lang = t[lang] if not sortkey then if not t_lang then t[lang] = true end return elseif t_lang == true or not t_lang then t_lang = {} t[lang] = t_lang end t_lang[uupper(decode_entities(sortkey))] = true end local function process_category(content, cat, colon, nxt) local pipe = find(cat, "|", colon + 1, true) -- Categories cannot end "|]]". if pipe == #cat then return end local title = new_title(pipe and sub(cat, 1, pipe - 1) or cat) if not (title and title.namespace == 14) then return end -- Get the sortkey (if any), then canonicalize category title. local sortkey = pipe and sub(cat, pipe + 1) or nil cat = title.text if sortkey then raw_sortkey = true -- If the sortkey contains "[", the first "]" of a final "]]]" is treated as part of the sortkey. if find(sortkey, "[", 1, true) and sub(content, nxt, nxt) == "]" then sortkey = sortkey .. "]" end end local code = match(cat, "^([%w%-.]+):") if code then add_cat_table(wikitext_topic_cat, code, sortkey) return end -- Split by word. cat = split(cat, " ", true, true) -- Formerly we looked for the language name anywhere in the category. This is simply wrong -- because there are no categories like 'Alsatian French lemmas' (only L2 languages -- have langname categories), but doing it this way wrongly catches things like [[Category:Shapsug Adyghe]] -- in [[Category:Adyghe entries with language name categories using raw markup]]. local n = #cat - 1 if n <= 0 then return end -- Go from longest to shortest and stop once we've found a language name. Going from shortest -- to longest or not stopping after a match risks falsely matching (e.g.) German Low German -- categories as German. repeat local name = concat(cat, " ", 1, n) if (langnames or get_langnames())[name] then add_cat_table(wikitext_langname_cat, name, sortkey) return end n = n - 1 until n == 0 end if content then -- Remove comments, then iterate over category links. content = remove_comments(content, "BOTH") local head = find(content, "[[", 1, true) while head do local close = find(content, "]]", head + 2, true) if not close then break end -- Make sure there are no intervening "[[" between head and close. local open = find(content, "[[", head + 2, true) while open and open < close do head = open open = find(content, "[[", head + 2, true) end local cat = sub(content, head + 2, close - 1) -- Locate the colon, and weed out most unwanted links. "[ _\128-\244]*" catches valid whitespace, and ensures any category links using the colon trick are ignored. We match all non-ASCII characters, as there could be multibyte spaces, and mw.title.new will filter out any remaining false-positives; this is a lot faster than running mw.title.new on every link. local colon = match(cat, "^[ _\128-\244]*[Cc][Aa][Tt][EeGgOoRrYy _\128-\244]*():") if colon then process_category(content, cat, colon, close + 2) end head = open end end data.wikitext_topic_cat = wikitext_topic_cat data.wikitext_langname_cat = wikitext_langname_cat if raw_sortkey then insert(cats, get_category("Pages with raw sortkeys")) end end return data end return export 0esb0zcz2sjpy8aqh1uv1deoe3q625h 230597 230596 2026-04-05T14:09:48Z Lee 19 [[:en:Module:headword/page]] වෙතින් එක් සංශෝධනයක් 230596 Scribunto text/plain local export = {} local languages_module = "Module:languages" local maintenance_category_module = "Module:maintenance category" local pages_module = "Module:pages" local string_compare_module = "Module:string/compare" local string_decode_entities_module = "Module:string/decodeEntities" local string_remove_comments_module = "Module:string/removeComments" local string_utilities_module = "Module:string utilities" local table_module = "Module:table" local template_parser_module = "Module:template parser" local mw = mw local string = string local table = table local ustring = mw.ustring local concat = table.concat local find = string.find local format = string.format local gsub = string.gsub local insert = table.insert local load_data = mw.loadData local match = string.match local new_title = mw.title.new local pairs = pairs local require = require local sub = string.sub local toNFC = ustring.toNFC local toNFD = ustring.toNFD local ugsub = ustring.gsub local function class_else_type(...) class_else_type = require(template_parser_module).class_else_type return class_else_type(...) end local function decode_entities(...) decode_entities = require(string_decode_entities_module) return decode_entities(...) end local function encode_entities(...) encode_entities = require(string_utilities_module).encode_entities return encode_entities(...) end local function get_category(...) get_category = require(maintenance_category_module).get_category return get_category(...) end local function get_lang(...) get_lang = require(languages_module).getByCode return get_lang(...) end local function list_to_set(...) list_to_set = require(table_module).listToSet return list_to_set(...) end local function parse(...) parse = require(template_parser_module).parse return parse(...) end local function remove_comments(...) remove_comments = require(string_remove_comments_module) return remove_comments(...) end local function physical_to_logical_pagename_if_mammoth(...) physical_to_logical_pagename_if_mammoth = require(pages_module).physical_to_logical_pagename_if_mammoth return physical_to_logical_pagename_if_mammoth(...) end local function split(...) split = require(string_utilities_module).split return split(...) end local function string_compare(...) string_compare = require(string_compare_module) return string_compare(...) end local function uupper(...) uupper = require(string_utilities_module).upper return uupper(...) end --[==[ Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==] local langnames local function get_langnames() langnames, get_langnames = load_data("Module:languages/canonical names"), nil return langnames end -- Combining character data used when categorising unusual characters. These resolve into two patterns, used to find -- single combining characters (i.e. character + diacritic(s)) or double combining characters (i.e. character + -- diacritic(s) + character). -- Charsets are in the format used by Unicode's UnicodeSet tool: https://util.unicode.org/UnicodeJsps/list-unicodeset.jsp. -- Single combining characters. -- Charset: [[:M:]&[:^Canonical_Combining_Class=/^Double_/:]&[:^subhead=Grapheme joiner:]&[:^Variation_Selector=Yes:]] -- Note: concatenating hundreds of lines at once gives an error, so () are used every 150 lines to break it up into chunks. local comb_chars_single = ("\204\128-\205\142" .. -- U+0300-U+034E "\205\144-\205\155" .. -- U+0350-U+035B "\205\163-\205\175" .. -- U+0363-U+036F "\210\131-\210\137" .. -- U+0483-U+0489 "\214\145-\214\189" .. -- U+0591-U+05BD "\214\191" .. -- U+05BF "\215\129" .. -- U+05C1 "\215\130" .. -- U+05C2 "\215\132" .. -- U+05C4 "\215\133" .. -- U+05C5 "\215\135" .. -- U+05C7 "\216\144-\216\154" .. -- U+0610-U+061A "\217\139-\217\159" .. -- U+064B-U+065F "\217\176" .. -- U+0670 "\219\150-\219\156" .. -- U+06D6-U+06DC "\219\159-\219\164" .. -- U+06DF-U+06E4 "\219\167" .. -- U+06E7 "\219\168" .. -- U+06E8 "\219\170-\219\173" .. -- U+06EA-U+06ED "\220\145" .. -- U+0711 "\220\176-\221\138" .. -- U+0730-U+074A "\222\166-\222\176" .. -- U+07A6-U+07B0 "\223\171-\223\179" .. -- U+07EB-U+07F3 "\223\189" .. -- U+07FD "\224\160\150-\224\160\153" .. -- U+0816-U+0819 "\224\160\155-\224\160\163" .. -- U+081B-U+0823 "\224\160\165-\224\160\167" .. -- U+0825-U+0827 "\224\160\169-\224\160\173" .. -- U+0829-U+082D "\224\161\153-\224\161\155" .. -- U+0859-U+085B "\224\162\151-\224\162\159" .. -- U+0897-U+089F "\224\163\138-\224\163\161" .. -- U+08CA-U+08E1 "\224\163\163-\224\164\131" .. -- U+08E3-U+0903 "\224\164\186-\224\164\188" .. -- U+093A-U+093C "\224\164\190-\224\165\143" .. -- U+093E-U+094F "\224\165\145-\224\165\151" .. -- U+0951-U+0957 "\224\165\162" .. -- U+0962 "\224\165\163" .. -- U+0963 "\224\166\129-\224\166\131" .. -- U+0981-U+0983 "\224\166\188" .. -- U+09BC "\224\166\190-\224\167\132" .. -- U+09BE-U+09C4 "\224\167\135" .. -- U+09C7 "\224\167\136" .. -- U+09C8 "\224\167\139-\224\167\141" .. -- U+09CB-U+09CD "\224\167\151" .. -- U+09D7 "\224\167\162" .. -- U+09E2 "\224\167\163" .. -- U+09E3 "\224\167\190" .. -- U+09FE "\224\168\129-\224\168\131" .. -- U+0A01-U+0A03 "\224\168\188" .. -- U+0A3C "\224\168\190-\224\169\130" .. -- U+0A3E-U+0A42 "\224\169\135" .. -- U+0A47 "\224\169\136" .. -- U+0A48 "\224\169\139-\224\169\141" .. -- U+0A4B-U+0A4D "\224\169\145" .. -- U+0A51 "\224\169\176" .. -- U+0A70 "\224\169\177" .. -- U+0A71 "\224\169\181" .. -- U+0A75 "\224\170\129-\224\170\131" .. -- U+0A81-U+0A83 "\224\170\188" .. -- U+0ABC "\224\170\190-\224\171\133" .. -- U+0ABE-U+0AC5 "\224\171\135-\224\171\137" .. -- U+0AC7-U+0AC9 "\224\171\139-\224\171\141" .. -- U+0ACB-U+0ACD "\224\171\162" .. -- U+0AE2 "\224\171\163" .. -- U+0AE3 "\224\171\186-\224\171\191" .. -- U+0AFA-U+0AFF "\224\172\129-\224\172\131" .. -- U+0B01-U+0B03 "\224\172\188" .. -- U+0B3C "\224\172\190-\224\173\132" .. -- U+0B3E-U+0B44 "\224\173\135" .. -- U+0B47 "\224\173\136" .. -- U+0B48 "\224\173\139-\224\173\141" .. -- U+0B4B-U+0B4D "\224\173\149-\224\173\151" .. -- U+0B55-U+0B57 "\224\173\162" .. -- U+0B62 "\224\173\163" .. -- U+0B63 "\224\174\130" .. -- U+0B82 "\224\174\190-\224\175\130" .. -- U+0BBE-U+0BC2 "\224\175\134-\224\175\136" .. -- U+0BC6-U+0BC8 "\224\175\138-\224\175\141" .. -- U+0BCA-U+0BCD "\224\175\151" .. -- U+0BD7 "\224\176\128-\224\176\132" .. -- U+0C00-U+0C04 "\224\176\188" .. -- U+0C3C "\224\176\190-\224\177\132" .. -- U+0C3E-U+0C44 "\224\177\134-\224\177\136" .. -- U+0C46-U+0C48 "\224\177\138-\224\177\141" .. -- U+0C4A-U+0C4D "\224\177\149" .. -- U+0C55 "\224\177\150" .. -- U+0C56 "\224\177\162" .. -- U+0C62 "\224\177\163" .. -- U+0C63 "\224\178\129-\224\178\131" .. -- U+0C81-U+0C83 "\224\178\188" .. -- U+0CBC "\224\178\190-\224\179\132" .. -- U+0CBE-U+0CC4 "\224\179\134-\224\179\136" .. -- U+0CC6-U+0CC8 "\224\179\138-\224\179\141" .. -- U+0CCA-U+0CCD "\224\179\149" .. -- U+0CD5 "\224\179\150" .. -- U+0CD6 "\224\179\162" .. -- U+0CE2 "\224\179\163" .. -- U+0CE3 "\224\179\179" .. -- U+0CF3 "\224\180\128-\224\180\131" .. -- U+0D00-U+0D03 "\224\180\187" .. -- U+0D3B "\224\180\188" .. -- U+0D3C "\224\180\190-\224\181\132" .. -- U+0D3E-U+0D44 "\224\181\134-\224\181\136" .. -- U+0D46-U+0D48 "\224\181\138-\224\181\141" .. -- U+0D4A-U+0D4D "\224\181\151" .. -- U+0D57 "\224\181\162" .. -- U+0D62 "\224\181\163" .. -- U+0D63 "\224\182\129-\224\182\131" .. -- U+0D81-U+0D83 "\224\183\138" .. -- U+0DCA "\224\183\143-\224\183\148" .. -- U+0DCF-U+0DD4 "\224\183\150" .. -- U+0DD6 "\224\183\152-\224\183\159" .. -- U+0DD8-U+0DDF "\224\183\178" .. -- U+0DF2 "\224\183\179" .. -- U+0DF3 "\224\184\177" .. -- U+0E31 "\224\184\180-\224\184\186" .. -- U+0E34-U+0E3A "\224\185\135-\224\185\142" .. -- U+0E47-U+0E4E "\224\186\177" .. -- U+0EB1 "\224\186\180-\224\186\188" .. -- U+0EB4-U+0EBC "\224\187\136-\224\187\142" .. -- U+0EC8-U+0ECE "\224\188\152" .. -- U+0F18 "\224\188\153" .. -- U+0F19 "\224\188\181" .. -- U+0F35 "\224\188\183" .. -- U+0F37 "\224\188\185" .. -- U+0F39 "\224\188\190" .. -- U+0F3E "\224\188\191" .. -- U+0F3F "\224\189\177-\224\190\132" .. -- U+0F71-U+0F84 "\224\190\134" .. -- U+0F86 "\224\190\135" .. -- U+0F87 "\224\190\141-\224\190\151" .. -- U+0F8D-U+0F97 "\224\190\153-\224\190\188" .. -- U+0F99-U+0FBC "\224\191\134" .. -- U+0FC6 "\225\128\171-\225\128\190" .. -- U+102B-U+103E "\225\129\150-\225\129\153" .. -- U+1056-U+1059 "\225\129\158-\225\129\160" .. -- U+105E-U+1060 "\225\129\162-\225\129\164" .. -- U+1062-U+1064 "\225\129\167-\225\129\173" .. -- U+1067-U+106D "\225\129\177-\225\129\180" .. -- U+1071-U+1074 "\225\130\130-\225\130\141" .. -- U+1082-U+108D "\225\130\143" .. -- U+108F "\225\130\154-\225\130\157" .. -- U+109A-U+109D "\225\141\157-\225\141\159" .. -- U+135D-U+135F "\225\156\146-\225\156\149" .. -- U+1712-U+1715 "\225\156\178-\225\156\180" .. -- U+1732-U+1734 "\225\157\146" .. -- U+1752 "\225\157\147" .. -- U+1753 "\225\157\178" .. -- U+1772 "\225\157\179" .. -- U+1773 "\225\158\180-\225\159\147") .. -- U+17B4-U+17D3 ("\225\159\157" .. -- U+17DD "\225\162\133" .. -- U+1885 "\225\162\134" .. -- U+1886 "\225\162\169" .. -- U+18A9 "\225\164\160-\225\164\171" .. -- U+1920-U+192B "\225\164\176-\225\164\187" .. -- U+1930-U+193B "\225\168\151-\225\168\155" .. -- U+1A17-U+1A1B "\225\169\149-\225\169\158" .. -- U+1A55-U+1A5E "\225\169\160-\225\169\188" .. -- U+1A60-U+1A7C "\225\169\191" .. -- U+1A7F "\225\170\176-\225\171\142" .. -- U+1AB0-U+1ACE "\225\172\128-\225\172\132" .. -- U+1B00-U+1B04 "\225\172\180-\225\173\132" .. -- U+1B34-U+1B44 "\225\173\171-\225\173\179" .. -- U+1B6B-U+1B73 "\225\174\128-\225\174\130" .. -- U+1B80-U+1B82 "\225\174\161-\225\174\173" .. -- U+1BA1-U+1BAD "\225\175\166-\225\175\179" .. -- U+1BE6-U+1BF3 "\225\176\164-\225\176\183" .. -- U+1C24-U+1C37 "\225\179\144-\225\179\146" .. -- U+1CD0-U+1CD2 "\225\179\148-\225\179\168" .. -- U+1CD4-U+1CE8 "\225\179\173" .. -- U+1CED "\225\179\180" .. -- U+1CF4 "\225\179\183-\225\179\185" .. -- U+1CF7-U+1CF9 "\225\183\128-\225\183\140" .. -- U+1DC0-U+1DCC "\225\183\142-\225\183\187" .. -- U+1DCE-U+1DFB "\225\183\189-\225\183\191" .. -- U+1DFD-U+1DFF "\226\131\144-\226\131\176" .. -- U+20D0-U+20F0 "\226\179\175-\226\179\177" .. -- U+2CEF-U+2CF1 "\226\181\191" .. -- U+2D7F "\226\183\160-\226\183\191" .. -- U+2DE0-U+2DFF "\227\128\170-\227\128\175" .. -- U+302A-U+302F "\227\130\153" .. -- U+3099 "\227\130\154" .. -- U+309A "\234\153\175-\234\153\178" .. -- U+A66F-U+A672 "\234\153\180-\234\153\189" .. -- U+A674-U+A67D "\234\154\158" .. -- U+A69E "\234\154\159" .. -- U+A69F "\234\155\176" .. -- U+A6F0 "\234\155\177" .. -- U+A6F1 "\234\160\130" .. -- U+A802 "\234\160\134" .. -- U+A806 "\234\160\139" .. -- U+A80B "\234\160\163-\234\160\167" .. -- U+A823-U+A827 "\234\160\172" .. -- U+A82C "\234\162\128" .. -- U+A880 "\234\162\129" .. -- U+A881 "\234\162\180-\234\163\133" .. -- U+A8B4-U+A8C5 "\234\163\160-\234\163\177" .. -- U+A8E0-U+A8F1 "\234\163\191" .. -- U+A8FF "\234\164\166-\234\164\173" .. -- U+A926-U+A92D "\234\165\135-\234\165\147" .. -- U+A947-U+A953 "\234\166\128-\234\166\131" .. -- U+A980-U+A983 "\234\166\179-\234\167\128" .. -- U+A9B3-U+A9C0 "\234\167\165" .. -- U+A9E5 "\234\168\169-\234\168\182" .. -- U+AA29-U+AA36 "\234\169\131" .. -- U+AA43 "\234\169\140" .. -- U+AA4C "\234\169\141" .. -- U+AA4D "\234\169\187-\234\169\189" .. -- U+AA7B-U+AA7D "\234\170\176" .. -- U+AAB0 "\234\170\178-\234\170\180" .. -- U+AAB2-U+AAB4 "\234\170\183" .. -- U+AAB7 "\234\170\184" .. -- U+AAB8 "\234\170\190" .. -- U+AABE "\234\170\191" .. -- U+AABF "\234\171\129" .. -- U+AAC1 "\234\171\171-\234\171\175" .. -- U+AAEB-U+AAEF "\234\171\181" .. -- U+AAF5 "\234\171\182" .. -- U+AAF6 "\234\175\163-\234\175\170" .. -- U+ABE3-U+ABEA "\234\175\172" .. -- U+ABEC "\234\175\173" .. -- U+ABED "\239\172\158" .. -- U+FB1E "\239\184\160-\239\184\175" .. -- U+FE20-U+FE2F "\240\144\135\189" .. -- U+101FD "\240\144\139\160" .. -- U+102E0 "\240\144\141\182-\240\144\141\186" .. -- U+10376-U+1037A "\240\144\168\129-\240\144\168\131" .. -- U+10A01-U+10A03 "\240\144\168\133" .. -- U+10A05 "\240\144\168\134" .. -- U+10A06 "\240\144\168\140-\240\144\168\143" .. -- U+10A0C-U+10A0F "\240\144\168\184-\240\144\168\186" .. -- U+10A38-U+10A3A "\240\144\168\191" .. -- U+10A3F "\240\144\171\165" .. -- U+10AE5 "\240\144\171\166" .. -- U+10AE6 "\240\144\180\164-\240\144\180\167" .. -- U+10D24-U+10D27 "\240\144\181\169-\240\144\181\173" .. -- U+10D69-U+10D6D "\240\144\186\171" .. -- U+10EAB "\240\144\186\172" .. -- U+10EAC "\240\144\187\188-\240\144\187\191" .. -- U+10EFC-U+10EFF "\240\144\189\134-\240\144\189\144" .. -- U+10F46-U+10F50 "\240\144\190\130-\240\144\190\133" .. -- U+10F82-U+10F85 "\240\145\128\128-\240\145\128\130" .. -- U+11000-U+11002 "\240\145\128\184-\240\145\129\134" .. -- U+11038-U+11046 "\240\145\129\176" .. -- U+11070 "\240\145\129\179" .. -- U+11073 "\240\145\129\180" .. -- U+11074 "\240\145\129\191-\240\145\130\130" .. -- U+1107F-U+11082 "\240\145\130\176-\240\145\130\186" .. -- U+110B0-U+110BA "\240\145\131\130" .. -- U+110C2 "\240\145\132\128-\240\145\132\130" .. -- U+11100-U+11102 "\240\145\132\167-\240\145\132\180" .. -- U+11127-U+11134 "\240\145\133\133" .. -- U+11145 "\240\145\133\134" .. -- U+11146 "\240\145\133\179" .. -- U+11173 "\240\145\134\128-\240\145\134\130" .. -- U+11180-U+11182 "\240\145\134\179-\240\145\135\128" .. -- U+111B3-U+111C0 "\240\145\135\137-\240\145\135\140" .. -- U+111C9-U+111CC "\240\145\135\142" .. -- U+111CE "\240\145\135\143" .. -- U+111CF "\240\145\136\172-\240\145\136\183" .. -- U+1122C-U+11237 "\240\145\136\190" .. -- U+1123E "\240\145\137\129" .. -- U+11241 "\240\145\139\159-\240\145\139\170" .. -- U+112DF-U+112EA "\240\145\140\128-\240\145\140\131" .. -- U+11300-U+11303 "\240\145\140\187" .. -- U+1133B "\240\145\140\188" .. -- U+1133C "\240\145\140\190-\240\145\141\132" .. -- U+1133E-U+11344 "\240\145\141\135" .. -- U+11347 "\240\145\141\136" .. -- U+11348 "\240\145\141\139-\240\145\141\141" .. -- U+1134B-U+1134D "\240\145\141\151" .. -- U+11357 "\240\145\141\162" .. -- U+11362 "\240\145\141\163" .. -- U+11363 "\240\145\141\166-\240\145\141\172" .. -- U+11366-U+1136C "\240\145\141\176-\240\145\141\180" .. -- U+11370-U+11374 "\240\145\142\184-\240\145\143\128" .. -- U+113B8-U+113C0 "\240\145\143\130" .. -- U+113C2 "\240\145\143\133" .. -- U+113C5 "\240\145\143\135-\240\145\143\138" .. -- U+113C7-U+113CA "\240\145\143\140-\240\145\143\144" .. -- U+113CC-U+113D0 "\240\145\143\146" .. -- U+113D2 "\240\145\143\161" .. -- U+113E1 "\240\145\143\162" .. -- U+113E2 "\240\145\144\181-\240\145\145\134" .. -- U+11435-U+11446 "\240\145\145\158" .. -- U+1145E "\240\145\146\176-\240\145\147\131" .. -- U+114B0-U+114C3 "\240\145\150\175-\240\145\150\181" .. -- U+115AF-U+115B5 "\240\145\150\184-\240\145\151\128" .. -- U+115B8-U+115C0 "\240\145\151\156" .. -- U+115DC "\240\145\151\157" .. -- U+115DD "\240\145\152\176-\240\145\153\128" .. -- U+11630-U+11640 "\240\145\154\171-\240\145\154\183" .. -- U+116AB-U+116B7 "\240\145\156\157-\240\145\156\171" .. -- U+1171D-U+1172B "\240\145\160\172-\240\145\160\186" .. -- U+1182C-U+1183A "\240\145\164\176-\240\145\164\181" .. -- U+11930-U+11935 "\240\145\164\183" .. -- U+11937 "\240\145\164\184" .. -- U+11938 "\240\145\164\187-\240\145\164\190" .. -- U+1193B-U+1193E "\240\145\165\128") .. -- U+11940 ("\240\145\165\130" .. -- U+11942 "\240\145\165\131" .. -- U+11943 "\240\145\167\145-\240\145\167\151" .. -- U+119D1-U+119D7 "\240\145\167\154-\240\145\167\160" .. -- U+119DA-U+119E0 "\240\145\167\164" .. -- U+119E4 "\240\145\168\129-\240\145\168\138" .. -- U+11A01-U+11A0A "\240\145\168\179-\240\145\168\185" .. -- U+11A33-U+11A39 "\240\145\168\187-\240\145\168\190" .. -- U+11A3B-U+11A3E "\240\145\169\135" .. -- U+11A47 "\240\145\169\145-\240\145\169\155" .. -- U+11A51-U+11A5B "\240\145\170\138-\240\145\170\153" .. -- U+11A8A-U+11A99 "\240\145\176\175-\240\145\176\182" .. -- U+11C2F-U+11C36 "\240\145\176\184-\240\145\176\191" .. -- U+11C38-U+11C3F "\240\145\178\146-\240\145\178\167" .. -- U+11C92-U+11CA7 "\240\145\178\169-\240\145\178\182" .. -- U+11CA9-U+11CB6 "\240\145\180\177-\240\145\180\182" .. -- U+11D31-U+11D36 "\240\145\180\186" .. -- U+11D3A "\240\145\180\188" .. -- U+11D3C "\240\145\180\189" .. -- U+11D3D "\240\145\180\191-\240\145\181\133" .. -- U+11D3F-U+11D45 "\240\145\181\135" .. -- U+11D47 "\240\145\182\138-\240\145\182\142" .. -- U+11D8A-U+11D8E "\240\145\182\144" .. -- U+11D90 "\240\145\182\145" .. -- U+11D91 "\240\145\182\147-\240\145\182\151" .. -- U+11D93-U+11D97 "\240\145\187\179-\240\145\187\182" .. -- U+11EF3-U+11EF6 "\240\145\188\128" .. -- U+11F00 "\240\145\188\129" .. -- U+11F01 "\240\145\188\131" .. -- U+11F03 "\240\145\188\180-\240\145\188\186" .. -- U+11F34-U+11F3A "\240\145\188\190-\240\145\189\130" .. -- U+11F3E-U+11F42 "\240\145\189\154" .. -- U+11F5A "\240\147\145\128" .. -- U+13440 "\240\147\145\135-\240\147\145\149" .. -- U+13447-U+13455 "\240\150\132\158-\240\150\132\175" .. -- U+1611E-U+1612F "\240\150\171\176-\240\150\171\180" .. -- U+16AF0-U+16AF4 "\240\150\172\176-\240\150\172\182" .. -- U+16B30-U+16B36 "\240\150\189\143" .. -- U+16F4F "\240\150\189\145-\240\150\190\135" .. -- U+16F51-U+16F87 "\240\150\190\143-\240\150\190\146" .. -- U+16F8F-U+16F92 "\240\150\191\164" .. -- U+16FE4 "\240\150\191\176" .. -- U+16FF0 "\240\150\191\177" .. -- U+16FF1 "\240\155\178\157" .. -- U+1BC9D "\240\155\178\158" .. -- U+1BC9E "\240\156\188\128-\240\156\188\173" .. -- U+1CF00-U+1CF2D "\240\156\188\176-\240\156\189\134" .. -- U+1CF30-U+1CF46 "\240\157\133\165-\240\157\133\169" .. -- U+1D165-U+1D169 "\240\157\133\173-\240\157\133\178" .. -- U+1D16D-U+1D172 "\240\157\133\187-\240\157\134\130" .. -- U+1D17B-U+1D182 "\240\157\134\133-\240\157\134\139" .. -- U+1D185-U+1D18B "\240\157\134\170-\240\157\134\173" .. -- U+1D1AA-U+1D1AD "\240\157\137\130-\240\157\137\132" .. -- U+1D242-U+1D244 "\240\157\168\128-\240\157\168\182" .. -- U+1DA00-U+1DA36 "\240\157\168\187-\240\157\169\172" .. -- U+1DA3B-U+1DA6C "\240\157\169\181" .. -- U+1DA75 "\240\157\170\132" .. -- U+1DA84 "\240\157\170\155-\240\157\170\159" .. -- U+1DA9B-U+1DA9F "\240\157\170\161-\240\157\170\175" .. -- U+1DAA1-U+1DAAF "\240\158\128\128-\240\158\128\134" .. -- U+1E000-U+1E006 "\240\158\128\136-\240\158\128\152" .. -- U+1E008-U+1E018 "\240\158\128\155-\240\158\128\161" .. -- U+1E01B-U+1E021 "\240\158\128\163" .. -- U+1E023 "\240\158\128\164" .. -- U+1E024 "\240\158\128\166-\240\158\128\170" .. -- U+1E026-U+1E02A "\240\158\130\143" .. -- U+1E08F "\240\158\132\176-\240\158\132\182" .. -- U+1E130-U+1E136 "\240\158\138\174" .. -- U+1E2AE "\240\158\139\172-\240\158\139\175" .. -- U+1E2EC-U+1E2EF "\240\158\147\172-\240\158\147\175" .. -- U+1E4EC-U+1E4EF "\240\158\151\174" .. -- U+1E5EE "\240\158\151\175" .. -- U+1E5EF "\240\158\163\144-\240\158\163\150" .. -- U+1E8D0-U+1E8D6 "\240\158\165\132-\240\158\165\138") -- U+1E944-U+1E94A -- Double combining characters. -- Charset: [[:M:]&[:Canonical_Combining_Class=/^Double_/:]&[:^subhead=Grapheme joiner:]&[:^Variation_Selector=Yes:]] local comb_chars_double = "\205\156-\205\162" .. -- U+035C-U+0362 "\225\183\141" .. -- U+1DCD "\225\183\188" -- U+1DFC -- Variation selectors etc.; separated out so that we don't get categories for them. -- Charset: [[:M:]&[[:subhead=Grapheme joiner:][:Variation_Selector=Yes:]]]. local comb_chars_other = "\205\143" .. -- U+034F "\225\160\139-\225\160\141" .. -- U+180B-U+180D "\225\160\143" .. -- U+180F "\239\184\128-\239\184\143" .. -- U+FE00-U+FE0F "\243\160\132\128-\243\160\135\175" -- U+E0100-U+E01EF local comb_chars_all = comb_chars_single .. comb_chars_double .. comb_chars_other local comb_chars = { combined_single = "[^" .. comb_chars_all .. "][" .. comb_chars_single .. comb_chars_other .. "]+%f[^" .. comb_chars_all .. "]", combined_double = "[^" .. comb_chars_all .. "][" .. comb_chars_single .. comb_chars_other .. "]*[" .. comb_chars_double .. "]+[" .. comb_chars_all .. "]*.[" .. comb_chars_single .. comb_chars_other .. "]*", diacritics_single = "[" .. comb_chars_single .. "]", diacritics_double = "[" .. comb_chars_double .. "]", diacritics_all = "[" .. comb_chars_all .. "]" } -- Somewhat curated list from https://unicode.org/Public/emoji/16.0/emoji-sequences.txt. -- NOTE: There are lots more emoji sequences involving non-emoji Plane 0 symbols followed by 0xFE0F, which we don't -- (yet?) handle. local emoji_chars = "\226\140\154" .. -- U+231A (⌚) "\226\140\155" .. -- U+231B (⌛) "\226\140\168" .. -- U+2328 (⌨) "\226\143\143" .. -- U+23CF (⏏) "\226\143\169-\226\143\179" .. -- U+23E9-U+23F3 (⏩-⏳) "\226\143\184-\226\143\186" .. -- U+23F8-U+23FA (⏸-⏺) "\226\150\170" .. -- U+25AA (▪) "\226\150\171" .. -- U+25AB (▫) "\226\150\182" .. -- U+25B6 (▶) "\226\151\128" .. -- U+25C0 (◀) "\226\151\187-\226\151\190" .. -- U+25FB-U+25FE (◻-◾) "\226\152\128-\226\152\132" .. -- U+2600-U+2604 (☀-☄) "\226\152\142" .. -- U+260E (☎) "\226\152\145" .. -- U+2611 (☑) "\226\152\148" .. -- U+2614 (☔) "\226\152\149" .. -- U+2615 (☕) "\226\152\152" .. -- U+2618 (☘) "\226\152\157" .. -- U+261D (☝) "\226\152\160" .. -- U+2620 (☠) "\226\152\162" .. -- U+2622 (☢) "\226\152\163" .. -- U+2623 (☣) "\226\152\166" .. -- U+2626 (☦) "\226\152\170" .. -- U+262A (☪) "\226\152\174" .. -- U+262E (☮) "\226\152\175" .. -- U+262F (☯) "\226\152\184-\226\152\186" .. -- U+2638-U+263A (☸-☺) "\226\153\136-\226\153\147" .. -- U+2648-U+2653 (♈-♓) "\226\153\159" .. -- U+265F (♟) "\226\153\160" .. -- U+2660 (♠) "\226\153\163" .. -- U+2663 (♣) "\226\153\165" .. -- U+2665 (♥) "\226\153\166" .. -- U+2666 (♦) "\226\153\168" .. -- U+2668 (♨) "\226\153\187" .. -- U+267B (♻) "\226\153\190" .. -- U+267E (♾) "\226\153\191" .. -- U+267F (♿) "\226\154\146-\226\154\151" .. -- U+2692-U+2697 (⚒-⚗) "\226\154\153" .. -- U+2699 (⚙) "\226\154\155" .. -- U+269B (⚛) "\226\154\156" .. -- U+269C (⚜) "\226\154\160" .. -- U+26A0 (⚠) "\226\154\161" .. -- U+26A1 (⚡) "\226\154\170" .. -- U+26AA (⚪) "\226\154\171" .. -- U+26AB (⚫) "\226\154\176" .. -- U+26B0 (⚰) "\226\154\177" .. -- U+26B1 (⚱) "\226\154\189" .. -- U+26BD (⚽) "\226\154\190" .. -- U+26BE (⚾) "\226\155\132" .. -- U+26C4 (⛄) "\226\155\133" .. -- U+26C5 (⛅) "\226\155\136" .. -- U+26C8 (⛈) "\226\155\142" .. -- U+26CE (⛎) "\226\155\143" .. -- U+26CF (⛏) "\226\155\145" .. -- U+26D1 (⛑) "\226\155\147" .. -- U+26D3 (⛓) "\226\155\148" .. -- U+26D4 (⛔) "\226\155\169" .. -- U+26E9 (⛩) "\226\155\170" .. -- U+26EA (⛪) "\226\155\176-\226\155\181" .. -- U+26F0-U+26F5 (⛰-⛵) "\226\155\183-\226\155\186" .. -- U+26F7-U+26FA (⛷-⛺) "\226\155\189" .. -- U+26FD (⛽) "\226\156\130" .. -- U+2702 (✂) "\226\156\133" .. -- U+2705 (✅) "\226\156\136-\226\156\141" .. -- U+2708-U+270D (✈-✍) "\226\156\143" .. -- U+270F (✏) "\226\156\146" .. -- U+2712 (✒) "\226\156\148" .. -- U+2714 (✔) "\226\156\150" .. -- U+2716 (✖) "\226\156\157" .. -- U+271D (✝) "\226\156\161" .. -- U+2721 (✡) "\226\156\168" .. -- U+2728 (✨) "\226\156\179" .. -- U+2733 (✳) "\226\156\180" .. -- U+2734 (✴) "\226\157\132" .. -- U+2744 (❄) "\226\157\135" .. -- U+2747 (❇) "\226\157\140" .. -- U+274C (❌) "\226\157\142" .. -- U+274E (❎) "\226\157\147-\226\157\149" .. -- U+2753-U+2755 (❓-❕) "\226\157\151" .. -- U+2757 (❗) "\226\157\163" .. -- U+2763 (❣) "\226\157\164" .. -- U+2764 (❤) "\226\158\149-\226\158\151" .. -- U+2795-U+2797 (➕-➗) "\226\158\161" .. -- U+27A1 (➡) "\226\158\176" .. -- U+27B0 (➰) "\226\158\191" .. -- U+27BF (➿) "\226\164\180" .. -- U+2934 (⤴) "\226\164\181" .. -- U+2935 (⤵) "\226\172\133-\226\172\135" .. -- U+2B05-U+2B07 (⬅-⬇) "\226\172\155" .. -- U+2B1B (⬛) "\226\172\156" .. -- U+2B1C (⬜) "\226\173\144" .. -- U+2B50 (⭐) "\226\173\149" .. -- U+2B55 (⭕) "\227\128\176" .. -- U+3030 (〰) "\227\128\189" .. -- U+303D (〽) "\227\138\151" .. -- U+3297 (㊗) "\227\138\153" .. -- U+3299 (㊙) "\240\159\128\132" .. -- U+1F004 (🀄) "\240\159\131\143" .. -- U+1F0CF (🃏) "\240\159\133\176" .. -- U+1F170 (🅰) "\240\159\133\177" .. -- U+1F171 (🅱) "\240\159\133\190" .. -- U+1F17E (🅾) "\240\159\133\191" .. -- U+1F17F (🅿) "\240\159\134\142" .. -- U+1F18E (🆎) "\240\159\134\145-\240\159\134\154" .. -- U+1F191-U+1F19A (🆑-🆚) "\240\159\136\129" .. -- U+1F201 (🈁) "\240\159\136\130" .. -- U+1F202 (🈂) "\240\159\136\154" .. -- U+1F21A (🈚) "\240\159\136\175" .. -- U+1F22F (🈯) "\240\159\136\178-\240\159\136\186" .. -- U+1F232-U+1F23A (🈲-🈺) "\240\159\137\144" .. -- U+1F250 (🉐) "\240\159\137\145" .. -- U+1F251 (🉑) "\240\159\140\128-\240\159\153\143" .. -- U+1F300-U+1F64F (🌀-🙏) "\240\159\154\128-\240\159\155\151" .. -- U+1F680-U+1F6D7 (🚀-🛗) "\240\159\155\156-\240\159\155\172" .. -- U+1F6DC-U+1F6EC (🛜-🛬) "\240\159\155\176-\240\159\155\188" .. -- U+1F6F0-U+1F6FC (🛰-🛼) "\240\159\159\160-\240\159\159\171" .. -- U+1F7E0-U+1F7EB (🟠-🟫) "\240\159\159\176" .. -- U+1F7F0 (🟰) "\240\159\164\140-\240\159\169\147" .. -- U+1F90C-U+1FA53 (🤌-🩓) "\240\159\169\160-\240\159\169\173" .. -- U+1FA60-U+1FA6D (🩠-🩭) "\240\159\169\176-\240\159\169\188" .. -- U+1FA70-U+1FA7C (🩰-🩼) "\240\159\170\128-\240\159\170\137" .. -- U+1FA80-U+1FA89 (🪀-🪉) "\240\159\170\143-\240\159\171\134" .. -- U+1FA8F-U+1FAC6 (🪏-🫆) "\240\159\171\142-\240\159\171\156" .. -- U+1FACE-U+1FADC (🫎-🫜) "\240\159\171\159-\240\159\171\169" .. -- U+1FADF-U+1FAE9 (🫟-🫩) "\240\159\171\176-\240\159\171\184" -- U+1FAF0-U+1FAF8 (🫰-🫸) local unsupported_characters local function get_unsupported_characters() unsupported_characters, get_unsupported_characters = {}, nil for k, v in pairs(load_data("Module:links/data").unsupported_characters) do unsupported_characters[v] = k end return unsupported_characters end -- The list of unsupported titles and invert it (so the keys are pagenames and values are canonical titles). local unsupported_titles local function get_unsupported_titles() unsupported_titles, get_unsupported_titles = {}, nil for k, v in pairs(load_data("Module:links/data").unsupported_titles) do unsupported_titles[v] = k end return unsupported_titles end -- To save on memory, we only cache names with either non-ASCII characters in them or ASCII characters to be removed or -- transformed (apostrophe, double quote, hyphen). local L2_sort_key_cache = {} function export.get_L2_sort_key(L2) if L2 == "Translingual" then return "\1" elseif L2 == "English" then return "\2" elseif match(L2, "^[%z\1-\b\14-!#-&(-,.-\127]+$") then return L2 end local sort_key = L2_sort_key_cache[L2] if sort_key then return sort_key end sort_key = toNFC(ugsub(ugsub(toNFD(L2), "[" .. comb_chars_all .. "'\"ʻʼ]+", ""), "[%s%-]+", " ")) L2_sort_key_cache[L2] = sort_key return sort_key end --[==[ Given a pagename (or {nil} for the current page), create and return a data structure describing the page. The returned object includes the following fields: * `comb_chars`: A table containing various Lua character class patterns for different types of combined characters (those that decompose into multiple characters in the NFD decomposition). The patterns are meant to be used with {mw.ustring.find()}. The keys are: ** `single`: Single combining characters (character + diacritic), without surrounding brackets; ** `double`: Double combining characters (character + diacritic + character), without surrounding brackets; ** `vs`: Variation selectors, without surrounding brackets; ** `all`: Concatenation of `single` + `double` + `vs`, without surrounding brackets; ** `diacritics_single`: Like `single` but with surrounding brackets; ** `diacritics_double`: Like `double` but with surrounding brackets; ** `diacritics_all`: Like `all` but with surrounding brackets; ** `combined_single`: Lua pattern for matching a spacing character followed by one or more single combining characters; ** `combined_double`: Lua pattern for matching a combination of two spacing characters separated by one or more double combining characters, possibly also with single combining characters; * `emoji_pattern`: A Lua character class pattern (including surrounding brackets) that matches emojis. Meant to be used with {mw.ustring.find()}. * `L2_list`: Ordered list of L2 headings on the page, with the extra key `n` that gives the length of the list. * `L2_sections`: Lookup table of L2 headings on the page, where the key is the section number assigned by the preprocessor, and the value is the L2 heading name. Once an invocation has got its actual section number from get_current_L2 in [[Module:pages]], it can use this table to determine its parent L2. TODO: We could expand this to include subsections, to check POS headings are correct etc. * `unsupported_titles`: Map from pagenames to canonical titles for unsupported-title pages. * `namespace`: Namespace of the pagename. * `ns`: Namespace table for the page from mw.site.namespaces (TODO: merge with `namespace` above). * `full_raw_pagename`: Full version of the '''RAW''' pagename (i.e. unsupported-title pages aren't canonicalized); including the namespace and the base (portion before the slash). * `pagename`: Canonicalized subpage portion of the pagename (unsupported-title pages are canonicalized). * `pagename_with_base`: Same as `pagename` in the main namespace; otherwise, the whole pagename without the namespace. * `decompose_pagename`: Equivalent of `pagename` in NFD decomposition. * `pagename_len`: Length of `pagename` in Unicode chars, where combinations of spacing character + decomposed diacritic are treated as single characters. * `explode_pagename`: Set of characters found in `pagename`. The keys are characters (where combinations of spacing character + decomposed diacritic are treated as single characters). * `encoded_pagename`: FIXME: Document me. * `pagename_defaultsort`: FIXME: Document me. * `raw_defaultsort`: FIXME: Document me. * `wikitext_topic_cat`: FIXME: Document me. * `wikitext_langname_cat`: FIXME: Document me. `no_fetch_content` says to not fetch and parse the content or set a DEFAULTSORT sort key, in order to save time on test and documentation pages that have lots of template invocations that set `|pagename=`. It turns out nearly all the time of this function is contained in the line `frame:callParserFunction("DEFAULTSORT", data.pagename_defaultsort)`, so we skip it on test and documentation pages where it accomplishes nothing in any case. ]==] function export.process_page(pagename, no_fetch_content) local data = { comb_chars = comb_chars, emoji_pattern = "[" .. emoji_chars .. "]", unsupported_titles = unsupported_titles or get_unsupported_titles() } local cats = {} data.cats = cats -- We cannot store `raw_title` in `data` because it contains a metatable. local raw_title local function bad_pagename() if not pagename then error("Internal error: Something wrong, `data.pagename` not specified but current title contains illegal characters") else error(format("Bad value for `data.pagename`: '%s', which must not contain illegal characters", pagename)) end end if pagename then -- for testing, doc pages, etc. raw_title = new_title(pagename) if not raw_title then bad_pagename() end else raw_title = mw.title.getCurrentTitle() end local nsText = raw_title.nsText local namespace_is_reconstruction = nsText == "Reconstruction" data.namespace = nsText data.ns = mw.site.namespaces[raw_title.namespace] local full_raw_pagename = raw_title.fullText data.full_raw_pagename = full_raw_pagename local frame = mw.getCurrentFrame() -- WARNING: `content` may be nil, e.g. if we're substing a template like {{ja-new}} on a not-yet-created page -- or if the module specifies the subpage as `data.pagename` (which many modules do) and we're in an Appendix -- or other non-mainspace page. We used to make the latter an error but there are too many modules that do it, -- and substing on a nonexistent page is totally legit, and we don't actually need to be able to access the -- content of the page. local content = not no_fetch_content and raw_title:getContent() or nil -- Get the pagename. pagename = physical_to_logical_pagename_if_mammoth(raw_title) pagename = gsub(pagename, "^Unsupported titles/(.+)", function(m) insert(cats, "Unsupported titles") local title = (unsupported_titles or get_unsupported_titles())[m] if title then return title end -- Substitute pairs of "`". Those not used for escaping should be escaped as "`grave`", but might not be, -- so if a pair don't form a match, the closing "`" should become the opening "`" of the next match attempt. -- This has to be done manually, instead of using gsub. local open_pos = find(m, "`") if not open_pos then return m end title = {sub(m, 1, open_pos - 1)} while true do local close_pos = find(m, "`", open_pos + 1) if not close_pos then -- Add "`" plus any remaining characters. insert(title, sub(m, open_pos)) break end local escape = sub(m, open_pos, close_pos) local ch = (unsupported_characters or get_unsupported_characters())[escape] -- Match found, so substitute the character and move to the first "`" after the match if found, or -- otherwise return. if ch then insert(title, ch) local nxt_pos = close_pos + 1 open_pos = find(m, "`", nxt_pos) -- Add any characters between the match and the next "`" or end. if open_pos then insert(title, sub(m, nxt_pos, open_pos - 1)) else insert(title, sub(m, nxt_pos)) break end -- Match not found, so make the closing "`" the opening "`" of the next attempt. else -- Add the failed match, except for the closing "`". insert(title, sub(m, open_pos, close_pos - 1)) open_pos = close_pos end end return concat(title) end) -- Save pagename, as the local variable will be destructively modified. data.pagename = pagename if nsText == "" then data.pagename_with_base = pagename else data.pagename_with_base = raw_title.text end -- Decompose the pagename in Unicode normalization form D. data.decompose_pagename = toNFD(pagename) -- Explode the current page name into a character table, taking decomposed combining characters into account. local explode_pagename = {} local pagename_len = 0 local function explode(char) explode_pagename[char] = true pagename_len = pagename_len + 1 return "" end pagename = ugsub(pagename, comb_chars.combined_double, explode) pagename = gsub(ugsub(pagename, comb_chars.combined_single, explode), ".[\128-\191]*", explode) data.explode_pagename = explode_pagename data.pagename_len = pagename_len -- Generate DEFAULTSORT. data.encoded_pagename = encode_entities(data.pagename) data.pagename_defaultsort = get_lang("mul"):makeSortKey(data.encoded_pagename) if not no_fetch_content then frame:callParserFunction("DEFAULTSORT", data.pagename_defaultsort) end data.raw_defaultsort = uupper(raw_title.text) -- Make `L2_list` and `L2_sections`, note raw wikitext use of {{DEFAULTSORT:}} and {{DISPLAYTITLE:}}, then add categories if any unwanted L1 headings are found, the L2 headings are in the wrong order, or they don't match a canonical language name. -- Note: HTML comments shouldn't be removed from `content` until after this step, as they can affect the result. do local L2_list, L2_list_len, L2_sections = {}, 0, {} local prev, rc local new_cats, L2_wrong_order = {} local function handle_heading(heading) local level = heading.level if level > 2 then return end local name = heading:get_name() -- heading:get_name() will return nil if there are any newline characters in the preprocessed heading name (e.g. from an expanded template). In such cases, the preprocessor section count still increments (since it's calculated pre-expansion), but the heading will fail, so the L2 count shouldn't be incremented. if name == nil then return end L2_list_len = L2_list_len + 1 L2_list[L2_list_len] = name L2_sections[heading.section] = name -- Also add any L1s, since they terminate the preceding L2, but add a maintenance category since it's probably a mistake. if level == 1 then new_cats["Pages with unwanted L1 headings"] = true end -- Check the heading is in the right order. -- FIXME: we need a more sophisticated sorting method which handles non-diacritic special characters (e.g. Magɨ). if prev and not ( L2_wrong_order or string_compare(export.get_L2_sort_key(prev), export.get_L2_sort_key(name)) ) then new_cats["Pages with language headings in the wrong order"] = true L2_wrong_order = true end -- Check it's a canonical language name. if not (langnames or get_langnames())[name] then new_cats["Pages with nonstandard language headings"] = true end prev = name end local function handle_template(template) -- Turn off redirect checking except in the Reconstruction namespace because the rc flag is only -- used in the Reconstruction namespace and the other names are parser functions, which AFAIK can't -- be redirected to. local name = template:get_name(nil, not namespace_is_reconstruction and "no_redirect" or nil) if name == "DEFAULTSORT:" then new_cats["Pages with DEFAULTSORT conflicts"] = true elseif name == "DISPLAYTITLE:" then new_cats["Pages with DISPLAYTITLE conflicts"] = true elseif name == "reconstructed" then rc = true end end if content then for node in parse(content):iterate_nodes() do local node_class = class_else_type(node) if node_class == "heading" then handle_heading(node) elseif node_class == "template" then handle_template(node) elseif node_class == "parameter" then new_cats["Pages with raw triple-brace template parameters"] = true end end end L2_list.n = L2_list_len data.L2_list = L2_list data.L2_sections = L2_sections insert(cats, get_category("Pages with entries")) insert(cats, get_category(format("Pages with %s entr%s", L2_list_len, L2_list_len == 1 and "y" or "ies"))) for cat in pairs(new_cats) do insert(cats, get_category(cat)) end if namespace_is_reconstruction and not rc then local langname = match(full_raw_pagename, "^Reconstruction:([^/]+)/.") if langname then insert(cats, get_category(langname .. " entries missing Template:reconstructed")) end end end ------ 4. Parse page for maintenance categories. ------ -- Use of tab characters. if content and find(content, "\t", 1, true) then insert(cats, get_category("Pages with tab characters")) end -- Unencoded character(s) in title. local IDS = list_to_set{"⿰", "⿱", "⿲", "⿳", "⿴", "⿵", "⿶", "⿷", "⿸", "⿹", "⿺", "⿻", "⿼", "⿽", "⿾", "⿿", "㇯"} for char in pairs(explode_pagename) do if IDS[char] and char ~= data.pagename then insert(cats, "Terms containing unencoded characters") break end end -- Raw wikitext use of a topic or langname category. Also check if any raw sortkeys have been used. do local wikitext_topic_cat = {} local wikitext_langname_cat = {} local raw_sortkey -- If a raw sortkey has been found, add it to the relevant table. -- If there's no table (or the index is just `true`), create one first. local function add_cat_table(t, lang, sortkey) local t_lang = t[lang] if not sortkey then if not t_lang then t[lang] = true end return elseif t_lang == true or not t_lang then t_lang = {} t[lang] = t_lang end t_lang[uupper(decode_entities(sortkey))] = true end local function process_category(content, cat, colon, nxt) local pipe = find(cat, "|", colon + 1, true) -- Categories cannot end "|]]". if pipe == #cat then return end local title = new_title(pipe and sub(cat, 1, pipe - 1) or cat) if not (title and title.namespace == 14) then return end -- Get the sortkey (if any), then canonicalize category title. local sortkey = pipe and sub(cat, pipe + 1) or nil cat = title.text if sortkey then raw_sortkey = true -- If the sortkey contains "[", the first "]" of a final "]]]" is treated as part of the sortkey. if find(sortkey, "[", 1, true) and sub(content, nxt, nxt) == "]" then sortkey = sortkey .. "]" end end local code = match(cat, "^([%w%-.]+):") if code then add_cat_table(wikitext_topic_cat, code, sortkey) return end -- Split by word. cat = split(cat, " ", true, true) -- Formerly we looked for the language name anywhere in the category. This is simply wrong -- because there are no categories like 'Alsatian French lemmas' (only L2 languages -- have langname categories), but doing it this way wrongly catches things like [[Category:Shapsug Adyghe]] -- in [[Category:Adyghe entries with language name categories using raw markup]]. local n = #cat - 1 if n <= 0 then return end -- Go from longest to shortest and stop once we've found a language name. Going from shortest -- to longest or not stopping after a match risks falsely matching (e.g.) German Low German -- categories as German. repeat local name = concat(cat, " ", 1, n) if (langnames or get_langnames())[name] then add_cat_table(wikitext_langname_cat, name, sortkey) return end n = n - 1 until n == 0 end if content then -- Remove comments, then iterate over category links. content = remove_comments(content, "BOTH") local head = find(content, "[[", 1, true) while head do local close = find(content, "]]", head + 2, true) if not close then break end -- Make sure there are no intervening "[[" between head and close. local open = find(content, "[[", head + 2, true) while open and open < close do head = open open = find(content, "[[", head + 2, true) end local cat = sub(content, head + 2, close - 1) -- Locate the colon, and weed out most unwanted links. "[ _\128-\244]*" catches valid whitespace, and ensures any category links using the colon trick are ignored. We match all non-ASCII characters, as there could be multibyte spaces, and mw.title.new will filter out any remaining false-positives; this is a lot faster than running mw.title.new on every link. local colon = match(cat, "^[ _\128-\244]*[Cc][Aa][Tt][EeGgOoRrYy _\128-\244]*():") if colon then process_category(content, cat, colon, close + 2) end head = open end end data.wikitext_topic_cat = wikitext_topic_cat data.wikitext_langname_cat = wikitext_langname_cat if raw_sortkey then insert(cats, get_category("Pages with raw sortkeys")) end end return data end return export 0esb0zcz2sjpy8aqh1uv1deoe3q625h සැකිල්ල:pt-conj/documentation 10 125501 230594 193434 2025-10-15T17:22:22Z en>Polomo 0 /* Examples */ <pp_inv> 230594 wikitext text/x-wiki {{documentation subpage}} This template generates a navigation box for [[:Category:Portuguese verbs|Portuguese verb]] conjugation entries. The actual work is done by [[Module:pt-verb]]. ==Usage== This template should be added to all Portuguese verb entries. The template should be placed within the Portuguese language section, immediately following the '''Conjugation''' L4 language header. As with other Wiktionary navigation box templates, '''please do not use <code>subst:</code>'''. ===Parameters=== The template uses one unnamed parameter to specify any information not automatically inferrable from the infinitive form. ==Examples== '''( 1 )''' {{m|pt|cantar||to sing}} :<code><nowiki>{{pt-conj}}</nowiki></code> {{pt-conj|pagename=cantar}} '''NOTE:''' For most verbs, no parameters are needed. ---- '''( 2 )''' {{m|pt|ser||to be}} :<code><nowiki>{{pt-conj}}</nowiki></code> {{pt-conj|pagename=ser}} '''NOTE:''' The module knows how to handle all irregular verbs automatically, including prefixed derivatives such as {{m|pt|desdar}} (from {{m|pt|dar}}) and {{m|pt|abster}} (from {{m|pt|ter}}). ---- '''( 3 )''' {{m|pt|desfazer||to undo}} :<code><nowiki>{{pt-conj}}</nowiki></code> {{pt-conj|pagename=desfazer}} '''NOTE:''' Example of a prefixed verb handled automatically. ---- '''( 4 )''' {{m|pt|semear||to sow}} :<code><nowiki>{{pt-conj}}</nowiki></code> {{pt-conj|pagename=semear}} '''NOTE:''' The alternation between ''-ear'' and stressed ''-eio'' is predictable, hence automatic. ---- '''( 5 )''' {{m|pt|conseguir||to get, to manage}} :<code><nowiki>{{pt-conj|<i-e>}}</nowiki></code> {{pt-conj|<i-e>|pagename=conseguir}} '''NOTE:''' The vowel alternation between ''conseguir'', ''consigo'' and ''consegue'' is unpredictable, hence a vowel alternation indicator <code><i-e></code> must be given. In general, indicators are contained between angle brackets, and if more than one must be given, they are separated by periods/full stops (a <code>.</code> symbol). Note however that the consonant alternation between ''-g-'' and ''-gu-'' is predictable, hence automatic. ---- '''( 6 )''' {{m|pt|renhir||to fight, to argue}} :<code><nowiki>{{pt-conj|<no_pres_stressed>}}</nowiki></code> {{pt-conj|<no_pres_stressed>|pagename=renhir}} '''NOTE:''' This verb is defective, missing all stem-stressed forms in the present indicative and imperative (as well as the entire present subjunctive). This is specified using the indicator <code><no_pres_stressed></code>. ---- '''( 7 )''' {{m|pt|demolir||to demolish, to knock down}} :<code><nowiki>{{pt-conj|<no_pres1_and_sub>}}</nowiki></code> {{pt-conj|<no_pres1_and_sub>|pagename=demolir}} '''NOTE:''' This verb is defective in a different way than {{m|pt|renhir}}, missing the first-singular present indicative and the entire present subjunctive. This is specified using the indicator <code><no_pres1_and_sub></code>. ---- '''( 8 )''' {{m|pt|chover a cântaros||to [[rain cats and dogs]]}} :<code><nowiki>{{pt-conj|chover<only3s> [[a]] [[cântaro]]s}}</nowiki></code> {{pt-conj|chover<only3s> [[a]] [[cântaro]]s}} '''NOTE:''' Full support is available for multiword expressions. Put the angle-bracket spec after the verb or verbs needing to be conjugated. Remaining text is passed through unaltered, and can include links, as shown. Here, the indicator <code>only3s</code> specifies an impersonal ("only third-singular") verb. ---- '''( 9 )''' {{m|pt|dar nome aos bois||to [[name names]]|lit=to name the cows}} :<code><nowiki>{{pt-conj|dar<> [[nome]] [[aos]] [[boi]]s}}</nowiki></code> {{pt-conj|dar<> [[nome]] [[aos]] [[boi]]s}} '''NOTE:''' In a multiword expression where no indicators are needed, place empty angle brackets after the verb or verbs needing to be conjugated. ---- '''( 10 )''' {{m|pt|beijar de língua||to [[French kiss]]}} :<code><nowiki>{{pt-conj}}</nowiki></code> {{pt-conj|pagename=beijar de língua}} '''NOTE:''' In a multiword expression where no indicators are needed and all words can be linked directly, {{para|1}} can be omitted. This is equivalent to placing <code><></code> after the first word, and all remaining words are automatically linked. ---- '''( 11 )''' {{m|pt|chuviscar||to [[drizzle]]}} :<code><nowiki>{{pt-conj|<only3s>}}</nowiki></code> {{pt-conj|<only3s>|pagename=chuviscar}} '''NOTE:''' This verb is impersonal and includes only third-person singular forms. For third-person only verbs, use <code><only3sp></code>, and for third-plural-only verbs, use <code><only3p></code>. ---- '''( 23 )''' {{m|pt|pecar||to [[sin]]}} :<code><nowiki>{{pt-conj|<pp_inv>}}</nowiki></code> {{pt-conj|<pp_inv>|pagename=pecar}} <includeonly> [[Category:Portuguese verb inflection-table templates|*]] [[fr:Modèle:pt-conj]] [[pt:Predefinição:conj.pt.ar]] </includeonly> knpu0s8nwgjafhikh76rzpj7oan4fso 230595 230594 2026-04-05T14:08:07Z Lee 19 [[:en:Template:pt-conj/documentation]] වෙතින් එක් සංශෝධනයක් 230594 wikitext text/x-wiki {{documentation subpage}} This template generates a navigation box for [[:Category:Portuguese verbs|Portuguese verb]] conjugation entries. The actual work is done by [[Module:pt-verb]]. ==Usage== This template should be added to all Portuguese verb entries. The template should be placed within the Portuguese language section, immediately following the '''Conjugation''' L4 language header. As with other Wiktionary navigation box templates, '''please do not use <code>subst:</code>'''. ===Parameters=== The template uses one unnamed parameter to specify any information not automatically inferrable from the infinitive form. ==Examples== '''( 1 )''' {{m|pt|cantar||to sing}} :<code><nowiki>{{pt-conj}}</nowiki></code> {{pt-conj|pagename=cantar}} '''NOTE:''' For most verbs, no parameters are needed. ---- '''( 2 )''' {{m|pt|ser||to be}} :<code><nowiki>{{pt-conj}}</nowiki></code> {{pt-conj|pagename=ser}} '''NOTE:''' The module knows how to handle all irregular verbs automatically, including prefixed derivatives such as {{m|pt|desdar}} (from {{m|pt|dar}}) and {{m|pt|abster}} (from {{m|pt|ter}}). ---- '''( 3 )''' {{m|pt|desfazer||to undo}} :<code><nowiki>{{pt-conj}}</nowiki></code> {{pt-conj|pagename=desfazer}} '''NOTE:''' Example of a prefixed verb handled automatically. ---- '''( 4 )''' {{m|pt|semear||to sow}} :<code><nowiki>{{pt-conj}}</nowiki></code> {{pt-conj|pagename=semear}} '''NOTE:''' The alternation between ''-ear'' and stressed ''-eio'' is predictable, hence automatic. ---- '''( 5 )''' {{m|pt|conseguir||to get, to manage}} :<code><nowiki>{{pt-conj|<i-e>}}</nowiki></code> {{pt-conj|<i-e>|pagename=conseguir}} '''NOTE:''' The vowel alternation between ''conseguir'', ''consigo'' and ''consegue'' is unpredictable, hence a vowel alternation indicator <code><i-e></code> must be given. In general, indicators are contained between angle brackets, and if more than one must be given, they are separated by periods/full stops (a <code>.</code> symbol). Note however that the consonant alternation between ''-g-'' and ''-gu-'' is predictable, hence automatic. ---- '''( 6 )''' {{m|pt|renhir||to fight, to argue}} :<code><nowiki>{{pt-conj|<no_pres_stressed>}}</nowiki></code> {{pt-conj|<no_pres_stressed>|pagename=renhir}} '''NOTE:''' This verb is defective, missing all stem-stressed forms in the present indicative and imperative (as well as the entire present subjunctive). This is specified using the indicator <code><no_pres_stressed></code>. ---- '''( 7 )''' {{m|pt|demolir||to demolish, to knock down}} :<code><nowiki>{{pt-conj|<no_pres1_and_sub>}}</nowiki></code> {{pt-conj|<no_pres1_and_sub>|pagename=demolir}} '''NOTE:''' This verb is defective in a different way than {{m|pt|renhir}}, missing the first-singular present indicative and the entire present subjunctive. This is specified using the indicator <code><no_pres1_and_sub></code>. ---- '''( 8 )''' {{m|pt|chover a cântaros||to [[rain cats and dogs]]}} :<code><nowiki>{{pt-conj|chover<only3s> [[a]] [[cântaro]]s}}</nowiki></code> {{pt-conj|chover<only3s> [[a]] [[cântaro]]s}} '''NOTE:''' Full support is available for multiword expressions. Put the angle-bracket spec after the verb or verbs needing to be conjugated. Remaining text is passed through unaltered, and can include links, as shown. Here, the indicator <code>only3s</code> specifies an impersonal ("only third-singular") verb. ---- '''( 9 )''' {{m|pt|dar nome aos bois||to [[name names]]|lit=to name the cows}} :<code><nowiki>{{pt-conj|dar<> [[nome]] [[aos]] [[boi]]s}}</nowiki></code> {{pt-conj|dar<> [[nome]] [[aos]] [[boi]]s}} '''NOTE:''' In a multiword expression where no indicators are needed, place empty angle brackets after the verb or verbs needing to be conjugated. ---- '''( 10 )''' {{m|pt|beijar de língua||to [[French kiss]]}} :<code><nowiki>{{pt-conj}}</nowiki></code> {{pt-conj|pagename=beijar de língua}} '''NOTE:''' In a multiword expression where no indicators are needed and all words can be linked directly, {{para|1}} can be omitted. This is equivalent to placing <code><></code> after the first word, and all remaining words are automatically linked. ---- '''( 11 )''' {{m|pt|chuviscar||to [[drizzle]]}} :<code><nowiki>{{pt-conj|<only3s>}}</nowiki></code> {{pt-conj|<only3s>|pagename=chuviscar}} '''NOTE:''' This verb is impersonal and includes only third-person singular forms. For third-person only verbs, use <code><only3sp></code>, and for third-plural-only verbs, use <code><only3p></code>. ---- '''( 23 )''' {{m|pt|pecar||to [[sin]]}} :<code><nowiki>{{pt-conj|<pp_inv>}}</nowiki></code> {{pt-conj|<pp_inv>|pagename=pecar}} <includeonly> [[Category:Portuguese verb inflection-table templates|*]] [[fr:Modèle:pt-conj]] [[pt:Predefinição:conj.pt.ar]] </includeonly> knpu0s8nwgjafhikh76rzpj7oan4fso Module:palette 828 137687 230602 222314 2025-10-08T16:07:43Z en>Surjection 0 230602 Scribunto text/plain local export = {} -- Given a CSS hex value, return a table of the RGB components. -- The RGB is normalized so that white is (1.0, 1.0, 1.0). local function get_rgb_from_hex(hex_colour) hex_colour = hex_colour:gsub("#", "") if #hex_colour == 3 then return { tonumber(hex_colour:sub(1, 1), 16) * 17 / 255, tonumber(hex_colour:sub(2, 2), 16) * 17 / 255, tonumber(hex_colour:sub(3, 3), 16) * 17 / 255 } elseif #hex_colour == 6 then return { tonumber(hex_colour:sub(1, 2), 16) / 255, tonumber(hex_colour:sub(3, 4), 16) / 255, tonumber(hex_colour:sub(5, 6), 16) / 255 } end end -- Calculate the WCAG2.1 relative luminance value given a RGB tuple. -- https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html#dfn-relative-luminance local function get_WCAG_21_luminance(rgb) local luminance_parts = {} for _, rgb_part in ipairs(rgb) do if rgb_part > 0.04045 then table.insert(luminance_parts, ((rgb_part + 0.055) / 1.055) ^ 2.4) else table.insert(luminance_parts, rgb_part / 12.92) end end local luminance = 0.2126 * luminance_parts[1] + 0.7152 * luminance_parts[2] + 0.0722 * luminance_parts[3] return luminance end -- Calculate the WCAG2.1 contrast ratio given two RGB tuples. -- https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html#dfn-contrast-ratio local function get_WCAG_21_contrast(rgb1, rgb2) local luminance1 = get_WCAG_21_luminance(rgb1) local luminance2 = get_WCAG_21_luminance(rgb2) -- The lighter colour is used in the numerator. local contrast_ratio if luminance1 >= luminance2 then contrast_ratio = (luminance1 + 0.05) / (luminance2 + 0.05) else contrast_ratio = (luminance2 + 0.05) / (luminance1 + 0.05) end return contrast_ratio end -- Calculate the APCA contrast ratio given a text RGB tuple and a background RGB tuple. -- https://github.com/Myndex/SAPC-APCA/blob/master/documentation/APCA-W3-LaTeX.md -- The variables are named to match the LaTeX document. local function get_APCA_contrast(rgb_txt, rgb_bg) local Ys_txt = rgb_txt[1] ^ 2.4 * 0.2126729 + rgb_txt[2] ^ 2.4 * 0.7151522 + rgb_txt[3] ^ 2.4 * 0.0721750 local Ys_bg = rgb_bg[1] ^ 2.4 * 0.2126729 + rgb_bg[2] ^ 2.4 * 0.7151522 + rgb_bg[3] ^ 2.4 * 0.0721750 local function f_sc(Y_c) if Y_c <= 0 then return 0 elseif Y_c <= 0.022 then return Y_c + (0.022 - Y_c) ^ 1.414 else return Y_c end end local Y_txt = f_sc(Ys_txt) local Y_bg = f_sc(Ys_bg) local S_apc if Y_bg > Y_txt then S_apc = (Y_bg ^ 0.56 - Y_txt ^ 0.57) * 1.14 else S_apc = (Y_bg ^ 0.65 - Y_txt ^ 0.62) * 1.14 end local L_c if math.abs(S_apc) < 0.1 then L_c = 0 elseif S_apc > 0 then L_c = (S_apc - 0.027) * 100 else L_c = (S_apc + 0.027) * 100 end return L_c end -- Get the WCAG2.1 rating as HTML, given a contrast value. local function get_WCAG_21_rating(contrast_value) if contrast_value >= 7 then return "<span style=\"color:var(--wikt-palette-deepblue)\">(AAA)</span>" elseif contrast_value >= 4.5 then return "<span style=\"color:var(--wikt-palette-forestgreen)\">(AA)</span>" else return "<span style=\"color:var(--wikt-palette-red)\">(FAIL)</span>" end end -- Get the APCA rating as HTML, given a contrast value. -- Using default text values: font size = 14px, font weight = 400 local function get_APCA_rating(contrast_value) local abs_contrast_value = math.abs(contrast_value) if abs_contrast_value >= 100 then return "<span style=\"color:var(--wikt-palette-deepblue)\">(R4)</span>" elseif abs_contrast_value >= 95 then return "<span style=\"color:var(--wikt-palette-forestgreen)\">(R3)</span>" elseif abs_contrast_value >= 90 then return "<span style=\"color:var(--wikt-palette-forestgreen)\">(R2)</span>" elseif abs_contrast_value >= 85 then return "<span style=\"color:var(--wikt-palette-forestgreen)\">(R1)</span>" else return "<span style=\"color:var(--wikt-palette-red)\">(R0)</span>" end end function export.show(frame) local pageContent = mw.title.new("MediaWiki:Gadget-Palette.css"):getContent() local lightMode = true; local lightModeData = {} local darkModeData = {} local commentsData = {} local seenVariables = {} -- In order to maintain the order. local output = { [=[{| class="palette-table wikitable mw-no-invert" |+Table of palette variables in light and dark mode |- !scope="col"| Variable name !scope="col"| Light mode !scope="col"| Dark mode !scope="col"| Use as a background colour? !scope="col"| Use as a text colour? !scope="col"| Comments |-" ]=]} for line in pageContent:gmatch("[^\r\n]*") do -- Hack to check whether we've reached the dark mode styles. if line == "@media screen {" then lightMode = false; end local definedVariable = line:match("--wikt%-palette%-[a-z0-9-]+") if definedVariable then if lightMode then table.insert(seenVariables, definedVariable) lightModeData[definedVariable] = line:match("#[a-zA-Z0-9]+") commentsData[definedVariable] = line:match("/%*%s*(.-)%s*%*/") or "" else darkModeData[definedVariable] = line:match("#[a-zA-Z0-9]+") end end end for _, var in ipairs(seenVariables) do table.insert(output, "|<code>" .. var .. "</code>") table.insert(output, "||style=\"background:" .. lightModeData[var] .. "\"|<span class=\"palette-highlight\">" .. lightModeData[var] .. "</span>") table.insert(output, "||style=\"background:" .. darkModeData[var] .. "\"|<span class=\"palette-highlight\">" .. darkModeData[var] .. "</span>") -- Contrast on body text in light mode. local WCAG_21_contrast_text_lightmode = get_WCAG_21_contrast(get_rgb_from_hex("#202122"), get_rgb_from_hex(lightModeData[var])) local APCA_contrast_text_lightmode = get_APCA_contrast(get_rgb_from_hex("#202122"), get_rgb_from_hex(lightModeData[var])) table.insert(output, "||'''Light mode:''' WCAG " .. string.format("%.2f", WCAG_21_contrast_text_lightmode) .. " " .. get_WCAG_21_rating(WCAG_21_contrast_text_lightmode)) table.insert(output, ", APCA " .. string.format("%.2f", APCA_contrast_text_lightmode) .. " " .. get_APCA_rating(APCA_contrast_text_lightmode)) -- Contrast on body text in dark mode. local WCAG_21_contrast_text_darkmode = get_WCAG_21_contrast(get_rgb_from_hex("#eaecf0"), get_rgb_from_hex(darkModeData[var])) local APCA_contrast_text_darkmode = get_APCA_contrast(get_rgb_from_hex("#eaecf0"), get_rgb_from_hex(darkModeData[var])) table.insert(output, "<br> '''Dark mode:''' WCAG " .. string.format("%.2f", WCAG_21_contrast_text_darkmode) .. " " .. get_WCAG_21_rating(WCAG_21_contrast_text_darkmode)) table.insert(output, ", APCA " .. string.format("%.2f", APCA_contrast_text_darkmode) .. " " .. get_APCA_rating(APCA_contrast_text_darkmode)) -- Contrast on default background in light mode. local WCAG_21_contrast_bg_lightmode = get_WCAG_21_contrast(get_rgb_from_hex(lightModeData[var]), get_rgb_from_hex("#ffffff")) local APCA_contrast_bg_lightmode = get_APCA_contrast(get_rgb_from_hex(lightModeData[var]), get_rgb_from_hex("#ffffff")) table.insert(output, "||'''Light mode:''' WCAG " .. string.format("%.2f", WCAG_21_contrast_bg_lightmode) .. " " .. get_WCAG_21_rating(WCAG_21_contrast_bg_lightmode)) table.insert(output, ", APCA " .. string.format("%.2f", APCA_contrast_bg_lightmode) .. " " .. get_APCA_rating(APCA_contrast_bg_lightmode)) -- Contrast on default background in dark mode. local WCAG_21_contrast_bg_darkmode = get_WCAG_21_contrast(get_rgb_from_hex(darkModeData[var]), get_rgb_from_hex("#101418")) local APCA_contrast_bg_darkmode = get_APCA_contrast(get_rgb_from_hex(darkModeData[var]), get_rgb_from_hex("#101418")) table.insert(output, "<br> '''Dark mode:''' WCAG " .. string.format("%.2f", WCAG_21_contrast_bg_darkmode) .. " " .. get_WCAG_21_rating(WCAG_21_contrast_bg_darkmode)) table.insert(output, ", APCA " .. string.format("%.2f", APCA_contrast_bg_darkmode) .. " " .. get_APCA_rating(APCA_contrast_bg_darkmode)) -- Comments. table.insert(output, "||" .. commentsData[var]) table.insert(output, "\n|-\n") end table.insert(output, "|-\n") table.insert(output, "|colspan=\"6\" style=\"padding:1em;background:var(--wikt-palette-lavender,#f8f8ff)\"|According to [[mw:Recommendations for night mode compatibility on Wikimedia wikis]], editors should ensure that colours meet the WCAC 2.1 AA contrast standards (APCA is significantly stricter but corresponds more closely to human visual perception — see [[phab:T308772]]). Contrast ratios are calculated assuming standard text formatting (14px, unbolded) and standard colours on the rest of the page. To check contrast values between any two colours, see https://contrast.tools/.\n") table.insert(output, "\n|}") table.insert(output, frame:extensionTag("templatestyles", "", {src="Module:palette/styles.css"})) return table.concat(output) end return export qhecia48w6nk2cpmklq1wz76jb2rzu9 230603 230602 2026-04-05T14:15:07Z Lee 19 [[:en:Module:palette]] වෙතින් එක් සංශෝධනයක් 230602 Scribunto text/plain local export = {} -- Given a CSS hex value, return a table of the RGB components. -- The RGB is normalized so that white is (1.0, 1.0, 1.0). local function get_rgb_from_hex(hex_colour) hex_colour = hex_colour:gsub("#", "") if #hex_colour == 3 then return { tonumber(hex_colour:sub(1, 1), 16) * 17 / 255, tonumber(hex_colour:sub(2, 2), 16) * 17 / 255, tonumber(hex_colour:sub(3, 3), 16) * 17 / 255 } elseif #hex_colour == 6 then return { tonumber(hex_colour:sub(1, 2), 16) / 255, tonumber(hex_colour:sub(3, 4), 16) / 255, tonumber(hex_colour:sub(5, 6), 16) / 255 } end end -- Calculate the WCAG2.1 relative luminance value given a RGB tuple. -- https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html#dfn-relative-luminance local function get_WCAG_21_luminance(rgb) local luminance_parts = {} for _, rgb_part in ipairs(rgb) do if rgb_part > 0.04045 then table.insert(luminance_parts, ((rgb_part + 0.055) / 1.055) ^ 2.4) else table.insert(luminance_parts, rgb_part / 12.92) end end local luminance = 0.2126 * luminance_parts[1] + 0.7152 * luminance_parts[2] + 0.0722 * luminance_parts[3] return luminance end -- Calculate the WCAG2.1 contrast ratio given two RGB tuples. -- https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html#dfn-contrast-ratio local function get_WCAG_21_contrast(rgb1, rgb2) local luminance1 = get_WCAG_21_luminance(rgb1) local luminance2 = get_WCAG_21_luminance(rgb2) -- The lighter colour is used in the numerator. local contrast_ratio if luminance1 >= luminance2 then contrast_ratio = (luminance1 + 0.05) / (luminance2 + 0.05) else contrast_ratio = (luminance2 + 0.05) / (luminance1 + 0.05) end return contrast_ratio end -- Calculate the APCA contrast ratio given a text RGB tuple and a background RGB tuple. -- https://github.com/Myndex/SAPC-APCA/blob/master/documentation/APCA-W3-LaTeX.md -- The variables are named to match the LaTeX document. local function get_APCA_contrast(rgb_txt, rgb_bg) local Ys_txt = rgb_txt[1] ^ 2.4 * 0.2126729 + rgb_txt[2] ^ 2.4 * 0.7151522 + rgb_txt[3] ^ 2.4 * 0.0721750 local Ys_bg = rgb_bg[1] ^ 2.4 * 0.2126729 + rgb_bg[2] ^ 2.4 * 0.7151522 + rgb_bg[3] ^ 2.4 * 0.0721750 local function f_sc(Y_c) if Y_c <= 0 then return 0 elseif Y_c <= 0.022 then return Y_c + (0.022 - Y_c) ^ 1.414 else return Y_c end end local Y_txt = f_sc(Ys_txt) local Y_bg = f_sc(Ys_bg) local S_apc if Y_bg > Y_txt then S_apc = (Y_bg ^ 0.56 - Y_txt ^ 0.57) * 1.14 else S_apc = (Y_bg ^ 0.65 - Y_txt ^ 0.62) * 1.14 end local L_c if math.abs(S_apc) < 0.1 then L_c = 0 elseif S_apc > 0 then L_c = (S_apc - 0.027) * 100 else L_c = (S_apc + 0.027) * 100 end return L_c end -- Get the WCAG2.1 rating as HTML, given a contrast value. local function get_WCAG_21_rating(contrast_value) if contrast_value >= 7 then return "<span style=\"color:var(--wikt-palette-deepblue)\">(AAA)</span>" elseif contrast_value >= 4.5 then return "<span style=\"color:var(--wikt-palette-forestgreen)\">(AA)</span>" else return "<span style=\"color:var(--wikt-palette-red)\">(FAIL)</span>" end end -- Get the APCA rating as HTML, given a contrast value. -- Using default text values: font size = 14px, font weight = 400 local function get_APCA_rating(contrast_value) local abs_contrast_value = math.abs(contrast_value) if abs_contrast_value >= 100 then return "<span style=\"color:var(--wikt-palette-deepblue)\">(R4)</span>" elseif abs_contrast_value >= 95 then return "<span style=\"color:var(--wikt-palette-forestgreen)\">(R3)</span>" elseif abs_contrast_value >= 90 then return "<span style=\"color:var(--wikt-palette-forestgreen)\">(R2)</span>" elseif abs_contrast_value >= 85 then return "<span style=\"color:var(--wikt-palette-forestgreen)\">(R1)</span>" else return "<span style=\"color:var(--wikt-palette-red)\">(R0)</span>" end end function export.show(frame) local pageContent = mw.title.new("MediaWiki:Gadget-Palette.css"):getContent() local lightMode = true; local lightModeData = {} local darkModeData = {} local commentsData = {} local seenVariables = {} -- In order to maintain the order. local output = { [=[{| class="palette-table wikitable mw-no-invert" |+Table of palette variables in light and dark mode |- !scope="col"| Variable name !scope="col"| Light mode !scope="col"| Dark mode !scope="col"| Use as a background colour? !scope="col"| Use as a text colour? !scope="col"| Comments |-" ]=]} for line in pageContent:gmatch("[^\r\n]*") do -- Hack to check whether we've reached the dark mode styles. if line == "@media screen {" then lightMode = false; end local definedVariable = line:match("--wikt%-palette%-[a-z0-9-]+") if definedVariable then if lightMode then table.insert(seenVariables, definedVariable) lightModeData[definedVariable] = line:match("#[a-zA-Z0-9]+") commentsData[definedVariable] = line:match("/%*%s*(.-)%s*%*/") or "" else darkModeData[definedVariable] = line:match("#[a-zA-Z0-9]+") end end end for _, var in ipairs(seenVariables) do table.insert(output, "|<code>" .. var .. "</code>") table.insert(output, "||style=\"background:" .. lightModeData[var] .. "\"|<span class=\"palette-highlight\">" .. lightModeData[var] .. "</span>") table.insert(output, "||style=\"background:" .. darkModeData[var] .. "\"|<span class=\"palette-highlight\">" .. darkModeData[var] .. "</span>") -- Contrast on body text in light mode. local WCAG_21_contrast_text_lightmode = get_WCAG_21_contrast(get_rgb_from_hex("#202122"), get_rgb_from_hex(lightModeData[var])) local APCA_contrast_text_lightmode = get_APCA_contrast(get_rgb_from_hex("#202122"), get_rgb_from_hex(lightModeData[var])) table.insert(output, "||'''Light mode:''' WCAG " .. string.format("%.2f", WCAG_21_contrast_text_lightmode) .. " " .. get_WCAG_21_rating(WCAG_21_contrast_text_lightmode)) table.insert(output, ", APCA " .. string.format("%.2f", APCA_contrast_text_lightmode) .. " " .. get_APCA_rating(APCA_contrast_text_lightmode)) -- Contrast on body text in dark mode. local WCAG_21_contrast_text_darkmode = get_WCAG_21_contrast(get_rgb_from_hex("#eaecf0"), get_rgb_from_hex(darkModeData[var])) local APCA_contrast_text_darkmode = get_APCA_contrast(get_rgb_from_hex("#eaecf0"), get_rgb_from_hex(darkModeData[var])) table.insert(output, "<br> '''Dark mode:''' WCAG " .. string.format("%.2f", WCAG_21_contrast_text_darkmode) .. " " .. get_WCAG_21_rating(WCAG_21_contrast_text_darkmode)) table.insert(output, ", APCA " .. string.format("%.2f", APCA_contrast_text_darkmode) .. " " .. get_APCA_rating(APCA_contrast_text_darkmode)) -- Contrast on default background in light mode. local WCAG_21_contrast_bg_lightmode = get_WCAG_21_contrast(get_rgb_from_hex(lightModeData[var]), get_rgb_from_hex("#ffffff")) local APCA_contrast_bg_lightmode = get_APCA_contrast(get_rgb_from_hex(lightModeData[var]), get_rgb_from_hex("#ffffff")) table.insert(output, "||'''Light mode:''' WCAG " .. string.format("%.2f", WCAG_21_contrast_bg_lightmode) .. " " .. get_WCAG_21_rating(WCAG_21_contrast_bg_lightmode)) table.insert(output, ", APCA " .. string.format("%.2f", APCA_contrast_bg_lightmode) .. " " .. get_APCA_rating(APCA_contrast_bg_lightmode)) -- Contrast on default background in dark mode. local WCAG_21_contrast_bg_darkmode = get_WCAG_21_contrast(get_rgb_from_hex(darkModeData[var]), get_rgb_from_hex("#101418")) local APCA_contrast_bg_darkmode = get_APCA_contrast(get_rgb_from_hex(darkModeData[var]), get_rgb_from_hex("#101418")) table.insert(output, "<br> '''Dark mode:''' WCAG " .. string.format("%.2f", WCAG_21_contrast_bg_darkmode) .. " " .. get_WCAG_21_rating(WCAG_21_contrast_bg_darkmode)) table.insert(output, ", APCA " .. string.format("%.2f", APCA_contrast_bg_darkmode) .. " " .. get_APCA_rating(APCA_contrast_bg_darkmode)) -- Comments. table.insert(output, "||" .. commentsData[var]) table.insert(output, "\n|-\n") end table.insert(output, "|-\n") table.insert(output, "|colspan=\"6\" style=\"padding:1em;background:var(--wikt-palette-lavender,#f8f8ff)\"|According to [[mw:Recommendations for night mode compatibility on Wikimedia wikis]], editors should ensure that colours meet the WCAC 2.1 AA contrast standards (APCA is significantly stricter but corresponds more closely to human visual perception — see [[phab:T308772]]). Contrast ratios are calculated assuming standard text formatting (14px, unbolded) and standard colours on the rest of the page. To check contrast values between any two colours, see https://contrast.tools/.\n") table.insert(output, "\n|}") table.insert(output, frame:extensionTag("templatestyles", "", {src="Module:palette/styles.css"})) return table.concat(output) end return export qhecia48w6nk2cpmklq1wz76jb2rzu9 විචක්ෂණ 0 141687 230589 2026-04-05T14:03:38Z Lee 19 '== සිංහල == === නිරුක්තිය === {{rfe|si}} === නාම විශේෂණ පදය === {{si-adj}} # {{rfdef|si}} <!-- ==== පරිවර්තන ==== {{trans-top|පරිවර්තන}} * ඉංග්‍රීසි: {{t|en|<<ඉංග්‍රීසි වචනය>>}} {{trans-bottom}} === අමතර අවධානයට === * {{l|si|<<ආශ්‍රිත පවතින...' යොදමින් නව පිටුවක් තනන ලදි 230589 wikitext text/x-wiki == සිංහල == === නිරුක්තිය === {{rfe|si}} === නාම විශේෂණ පදය === {{si-adj}} # {{rfdef|si}} <!-- ==== පරිවර්තන ==== {{trans-top|පරිවර්තන}} * ඉංග්‍රීසි: {{t|en|<<ඉංග්‍රීසි වචනය>>}} {{trans-bottom}} === අමතර අවධානයට === * {{l|si|<<ආශ්‍රිත පවතින වෙනත් වචන>>}} --> 2032ufwklqrqtwqz3bb1ybozr1uafmz සංස්ලේෂණය 0 141688 230590 2026-04-05T14:03:58Z Lee 19 '== සිංහල == === නිරුක්තිය === {{rfe|si}} === නාම පදය === {{si-noun}} # {{rfdef|si}} <!-- ==== පරිවර්තන ==== {{trans-top|පරිවර්තන}} * ඉංග්‍රීසි: {{t|en|<<ඉංග්‍රීසි වචනය>>}} {{trans-bottom}} === අමතර අවධානයට === * {{l|si|<<ආශ්‍රිත පවතින වෙනත් ව...' යොදමින් නව පිටුවක් තනන ලදි 230590 wikitext text/x-wiki == සිංහල == === නිරුක්තිය === {{rfe|si}} === නාම පදය === {{si-noun}} # {{rfdef|si}} <!-- ==== පරිවර්තන ==== {{trans-top|පරිවර්තන}} * ඉංග්‍රීසි: {{t|en|<<ඉංග්‍රීසි වචනය>>}} {{trans-bottom}} === අමතර අවධානයට === * {{l|si|<<ආශ්‍රිත පවතින වෙනත් වචන>>}} --> 37g9s13iio6w9i2yw7aw46v28viw7h4 ව්‍යුත්පත්තිය 0 141689 230591 2026-04-05T14:04:25Z Lee 19 '== සිංහල == === නිරුක්තිය === {{rfe|si}} === නාම පදය === {{si-noun}} # {{rfdef|si}} <!-- ==== පරිවර්තන ==== {{trans-top|පරිවර්තන}} * ඉංග්‍රීසි: {{t|en|<<ඉංග්‍රීසි වචනය>>}} {{trans-bottom}} === අමතර අවධානයට === * {{l|si|<<ආශ්‍රිත පවතින වෙනත් ව...' යොදමින් නව පිටුවක් තනන ලදි 230591 wikitext text/x-wiki == සිංහල == === නිරුක්තිය === {{rfe|si}} === නාම පදය === {{si-noun}} # {{rfdef|si}} <!-- ==== පරිවර්තන ==== {{trans-top|පරිවර්තන}} * ඉංග්‍රීසි: {{t|en|<<ඉංග්‍රීසි වචනය>>}} {{trans-bottom}} === අමතර අවධානයට === * {{l|si|<<ආශ්‍රිත පවතින වෙනත් වචන>>}} --> 37g9s13iio6w9i2yw7aw46v28viw7h4 දුහුනෙක් 0 141690 230592 2026-04-05T14:04:52Z Lee 19 '== සිංහල == === නිරුක්තිය === {{rfe|si}} === නාම පදය === {{si-noun}} # {{rfdef|si}} <!-- ==== පරිවර්තන ==== {{trans-top|පරිවර්තන}} * ඉංග්‍රීසි: {{t|en|<<ඉංග්‍රීසි වචනය>>}} {{trans-bottom}} === අමතර අවධානයට === * {{l|si|<<ආශ්‍රිත පවතින වෙනත් ව...' යොදමින් නව පිටුවක් තනන ලදි 230592 wikitext text/x-wiki == සිංහල == === නිරුක්තිය === {{rfe|si}} === නාම පදය === {{si-noun}} # {{rfdef|si}} <!-- ==== පරිවර්තන ==== {{trans-top|පරිවර්තන}} * ඉංග්‍රීසි: {{t|en|<<ඉංග්‍රීසි වචනය>>}} {{trans-bottom}} === අමතර අවධානයට === * {{l|si|<<ආශ්‍රිත පවතින වෙනත් වචන>>}} --> 37g9s13iio6w9i2yw7aw46v28viw7h4 නික්ෂේපණය 0 141691 230593 2026-04-05T14:05:21Z Lee 19 '== සිංහල == === නිරුක්තිය === {{rfe|si}} === නාම පදය === {{si-noun}} # {{rfdef|si}} <!-- ==== පරිවර්තන ==== {{trans-top|පරිවර්තන}} * ඉංග්‍රීසි: {{t|en|<<ඉංග්‍රීසි වචනය>>}} {{trans-bottom}} === අමතර අවධානයට === * {{l|si|<<ආශ්‍රිත පවතින වෙනත් ව...' යොදමින් නව පිටුවක් තනන ලදි 230593 wikitext text/x-wiki == සිංහල == === නිරුක්තිය === {{rfe|si}} === නාම පදය === {{si-noun}} # {{rfdef|si}} <!-- ==== පරිවර්තන ==== {{trans-top|පරිවර්තන}} * ඉංග්‍රීසි: {{t|en|<<ඉංග්‍රීසි වචනය>>}} {{trans-bottom}} === අමතර අවධානයට === * {{l|si|<<ආශ්‍රිත පවතින වෙනත් වචන>>}} --> 37g9s13iio6w9i2yw7aw46v28viw7h4 සැකිල්ල:place/documentation 10 141692 230601 2026-04-05T14:14:00Z Lee 19 Lee විසින් [[සැකිල්ල:place/documentation]] සිට [[සැකිල්ල:ස්ථානය/documentation]] වෙත පිටුව ගෙන යන ලදී 230601 wikitext text/x-wiki #යළියොමුව [[සැකිල්ල:ස්ථානය/documentation]] 1xaj6w5evzhnn0rskpoadmsd89z1wum මාධ්‍යවිකි:Gadget-Palette.css/documentation 8 141694 230604 2024-11-10T14:56:12Z en>Surjection 0 230604 wikitext text/x-wiki {{documentation subpage}} Contains CSS variables for common colors to be used by templates. See [[Wiktionary:Palette]] for more information. New colors, when added, are expected to meet contrast requirements. Colors can be previewed in [[MediaWiki:Gadget-Palette/table]]. <includeonly> [[Category:Wiktionary gadgets]] </includeonly> 7dvfi1mvox7sd0f14zkibmm35simmag 230605 230604 2026-04-05T14:19:12Z Lee 19 [[:en:MediaWiki:Gadget-Palette.css/documentation]] වෙතින් එක් සංශෝධනයක් 230604 wikitext text/x-wiki {{documentation subpage}} Contains CSS variables for common colors to be used by templates. See [[Wiktionary:Palette]] for more information. New colors, when added, are expected to meet contrast requirements. Colors can be previewed in [[MediaWiki:Gadget-Palette/table]]. <includeonly> [[Category:Wiktionary gadgets]] </includeonly> 7dvfi1mvox7sd0f14zkibmm35simmag 𑀔 0 141695 230609 2024-11-16T21:22:07Z en>ChromeBones 0 Adding glyph origin 230609 wikitext text/x-wiki {{character info}} ==Translingual== ===Glyph origin=== Possibly from {{cog|arc|𐡒}}, although this is debated. Compare {{cog|phn|𐤒}}. ===Letter=== {{head|mul|letter|sc=Brah|tr=kha}} # {{n-g|the second [[Brahmi]] [[consonant]]}} ====Descendants==== * Northern Brahmi: ** Gupta: [[File:Gupta allahabad kh.svg|15px]], [[File:Gupta ashoka kh.svg|15px]], [[File:Gupta girnar kh.svg|15px]], [[File:Gupta gujarat kh.svg|15px]] (kha) *** Nagari: **** Devanāgarī: {{l|mul|ख|tr=kha}} ***** {{desc|gu|ખ}} ***** Modi: {{l|mr|𑘏}} *** Siddham: [[File:Siddham_kh.svg|15px]] (kha) **** Bengali-Assamese: {{l|bn|খ}} **** {{desc|or|ଖ}} **** Tibetan: {{l|otb|ཁ}} *** Sharada: {{l|mul|𑆒}} ([[File:Sharada_kh.svg|15px]]: kha) **** Laṇḍā: ***** Gurmukhi: {{l|pa|ਖ}} ** Kalinga: *** {{desc|kn|ಖ}} ** Grantha: {{l|sa|𑌖}} ([[File:Grantha_letter_Kha.svg|15px]]: kha) *** {{desc|ml|ഖ}} *** {{desc|si|ඛ}} * Tocharian: [[File:Tocharian_letter_kha.gif|20px]] (kha) s8ynbez34tceg7cxlp0rp4lkjkprgbt 230610 230609 2026-04-05T14:31:04Z Lee 19 [[:en:𑀔]] වෙතින් එක් සංශෝධනයක් 230609 wikitext text/x-wiki {{character info}} ==Translingual== ===Glyph origin=== Possibly from {{cog|arc|𐡒}}, although this is debated. Compare {{cog|phn|𐤒}}. ===Letter=== {{head|mul|letter|sc=Brah|tr=kha}} # {{n-g|the second [[Brahmi]] [[consonant]]}} ====Descendants==== * Northern Brahmi: ** Gupta: [[File:Gupta allahabad kh.svg|15px]], [[File:Gupta ashoka kh.svg|15px]], [[File:Gupta girnar kh.svg|15px]], [[File:Gupta gujarat kh.svg|15px]] (kha) *** Nagari: **** Devanāgarī: {{l|mul|ख|tr=kha}} ***** {{desc|gu|ખ}} ***** Modi: {{l|mr|𑘏}} *** Siddham: [[File:Siddham_kh.svg|15px]] (kha) **** Bengali-Assamese: {{l|bn|খ}} **** {{desc|or|ଖ}} **** Tibetan: {{l|otb|ཁ}} *** Sharada: {{l|mul|𑆒}} ([[File:Sharada_kh.svg|15px]]: kha) **** Laṇḍā: ***** Gurmukhi: {{l|pa|ਖ}} ** Kalinga: *** {{desc|kn|ಖ}} ** Grantha: {{l|sa|𑌖}} ([[File:Grantha_letter_Kha.svg|15px]]: kha) *** {{desc|ml|ഖ}} *** {{desc|si|ඛ}} * Tocharian: [[File:Tocharian_letter_kha.gif|20px]] (kha) s8ynbez34tceg7cxlp0rp4lkjkprgbt 230681 230610 2026-04-05T14:42:25Z Pinthura 2424 යොමු තොරතුරු පරිවර්තනය 230681 wikitext text/x-wiki {{character info}} == සර්ව භාෂාමය == ===Glyph origin=== Possibly from {{cog|arc|𐡒}}, although this is debated. Compare {{cog|phn|𐤒}}. === අකුර === {{head|mul|letter|sc=Brah|tr=kha}} # {{n-g|the second [[Brahmi]] [[consonant]]}} ====Descendants==== * Northern Brahmi: ** Gupta: [[File:Gupta allahabad kh.svg|15px]], [[File:Gupta ashoka kh.svg|15px]], [[File:Gupta girnar kh.svg|15px]], [[File:Gupta gujarat kh.svg|15px]] (kha) *** Nagari: **** Devanāgarī: {{l|mul|ख|tr=kha}} ***** {{desc|gu|ખ}} ***** Modi: {{l|mr|𑘏}} *** Siddham: [[File:Siddham_kh.svg|15px]] (kha) **** Bengali-Assamese: {{l|bn|খ}} **** {{desc|or|ଖ}} **** Tibetan: {{l|otb|ཁ}} *** Sharada: {{l|mul|𑆒}} ([[File:Sharada_kh.svg|15px]]: kha) **** Laṇḍā: ***** Gurmukhi: {{l|pa|ਖ}} ** Kalinga: *** {{desc|kn|ಖ}} ** Grantha: {{l|sa|𑌖}} ([[File:Grantha_letter_Kha.svg|15px]]: kha) *** {{desc|ml|ഖ}} *** {{desc|si|ඛ}} * Tocharian: [[File:Tocharian_letter_kha.gif|20px]] (kha) 1igcmhc5ft9s0tashe3h4w95uxwfz3j 𑀓 0 141696 230611 2024-11-16T21:16:04Z en>ChromeBones 0 /* Glyph origin */ adding period 230611 wikitext text/x-wiki {{character info}} ==Translingual== [[File:Brahmika.svg|thumb|Brahmi "ka" and its alternative forms for other vowels—an example of modifying a letter to describe vowel sounds in an abugida.]] ===Glyph origin=== Possibly from {{cog|arc|𐡊}}, although this is debated. Compare {{cog|phn|𐤊}}. ===Letter=== {{head|mul|letter|sc=Brah|tr=ka}} # the first [[Brahmi]] [[consonant]] ''ka'' ====Descendants==== * Northern Brahmi: ** Gupta: [[File:Gupta allahabad k.svg|15px]], [[File:Gupta ashoka k.svg|15px]], [[File:Gupta girnar k.svg|15px]], [[File:Gupta gujarat k.svg|15px]] (ka) *** Nagari: **** Devanāgarī: {{l|mul|क|tr=ka}} ***** {{desc|gu|ક}} *** Siddham: [[File:Siddham_k.svg|15px]] (ka) **** Bengali-Assamese: {{l|bn|ক}} *** Sharada: {{l|sa|𑆑}} **** Landa scripts: ***** Gurmukhi: {{l|pa|ਕ}} ***** Khojki: {{l|mul|𑈈}} (ka) **** Devashesha: ***** Takri: {{l|mul|𑚊}} (ka) ***** Dogri: {{l|mul|𑠊}} (ka) ** Kalinga: *** {{desc|or|କ}} * Tocharian: [[File:Tocharian_letter_ka.gif|20px]] (ka) ==Pali== ===Alternative forms=== {{pi-alt|Latn=ka}} ===Pronoun=== {{pi-pronoun|m <!--|cat2=interrogative pronouns--> }} # {{pi-sc||ka|t=who (m.)}} ====Declension==== {{pi-decl-noun|g=m|novoc=yes |dats_mod=replace|dats=𑀓𑀲𑁆𑀲|dats2=𑀓𑀺𑀲𑁆𑀲 |abls_mod=replace|abls=𑀓𑀲𑁆𑀫𑀸|abls2=𑀓𑀺𑀲𑁆𑀫𑀸 |gens=𑀓𑀺𑀲𑁆𑀲 |locs_mod=replace|locs=𑀓𑀲𑁆𑀫𑀺𑀁|locs2=𑀓𑀫𑁆𑀳𑀺|locs3=𑀓𑀺𑀲𑁆𑀫𑀺𑀁|locs4=𑀓𑀺𑀫𑁆𑀳𑀺 |nomp_mod=replace|nomp=𑀓𑁂 |datp_mod=replace|datp=𑀓𑁂𑀲𑀁|datp2=𑀓𑁂𑀲𑀸𑀦𑀁 |genp_mod=replace|genp=𑀓𑁂𑀲𑀁|genp2=𑀓𑁂𑀲𑀸𑀦𑀁 }} ===Pronoun=== {{pi-pronoun|n <!--|cat2=interrogative pronouns--> }} # {{pi-sc||ka|t=what (n.)}} ====Declension==== {{pi-decl-noun|g=n|novoc=yes |noms_mod=replace|noms=𑀓𑀺𑀁 |accs_mod=replace|accs=𑀓𑀺𑀁 |dats_mod=replace|dats=𑀓𑀲𑁆𑀲|dats2=𑀓𑀺𑀲𑁆𑀲 |abls_mod=replace|abls=𑀓𑀲𑁆𑀫𑀸|abls2=𑀓𑀺𑀲𑁆𑀫𑀸 |gens=𑀓𑀺𑀲𑁆𑀲 |locs_mod=replace|locs=𑀓𑀲𑁆𑀫𑀺𑀁|locs2=𑀓𑀫𑁆𑀳𑀺|locs3=𑀓𑀺𑀲𑁆𑀫𑀺𑀁|locs4=𑀓𑀺𑀫𑁆𑀳𑀺 |datp_mod=replace|datp=𑀓𑁂𑀲𑀁|datp2=𑀓𑁂𑀲𑀸𑀦𑀁 |genp_mod=replace|genp=𑀓𑁂𑀲𑀁|genp2=𑀓𑁂𑀲𑀸𑀦𑀁 }} ovxrh43uh87j0e7tlzw6bj3rzefvvcy 230612 230611 2026-04-05T14:31:24Z Lee 19 [[:en:𑀓]] වෙතින් එක් සංශෝධනයක් 230611 wikitext text/x-wiki {{character info}} ==Translingual== [[File:Brahmika.svg|thumb|Brahmi "ka" and its alternative forms for other vowels—an example of modifying a letter to describe vowel sounds in an abugida.]] ===Glyph origin=== Possibly from {{cog|arc|𐡊}}, although this is debated. Compare {{cog|phn|𐤊}}. ===Letter=== {{head|mul|letter|sc=Brah|tr=ka}} # the first [[Brahmi]] [[consonant]] ''ka'' ====Descendants==== * Northern Brahmi: ** Gupta: [[File:Gupta allahabad k.svg|15px]], [[File:Gupta ashoka k.svg|15px]], [[File:Gupta girnar k.svg|15px]], [[File:Gupta gujarat k.svg|15px]] (ka) *** Nagari: **** Devanāgarī: {{l|mul|क|tr=ka}} ***** {{desc|gu|ક}} *** Siddham: [[File:Siddham_k.svg|15px]] (ka) **** Bengali-Assamese: {{l|bn|ক}} *** Sharada: {{l|sa|𑆑}} **** Landa scripts: ***** Gurmukhi: {{l|pa|ਕ}} ***** Khojki: {{l|mul|𑈈}} (ka) **** Devashesha: ***** Takri: {{l|mul|𑚊}} (ka) ***** Dogri: {{l|mul|𑠊}} (ka) ** Kalinga: *** {{desc|or|କ}} * Tocharian: [[File:Tocharian_letter_ka.gif|20px]] (ka) ==Pali== ===Alternative forms=== {{pi-alt|Latn=ka}} ===Pronoun=== {{pi-pronoun|m <!--|cat2=interrogative pronouns--> }} # {{pi-sc||ka|t=who (m.)}} ====Declension==== {{pi-decl-noun|g=m|novoc=yes |dats_mod=replace|dats=𑀓𑀲𑁆𑀲|dats2=𑀓𑀺𑀲𑁆𑀲 |abls_mod=replace|abls=𑀓𑀲𑁆𑀫𑀸|abls2=𑀓𑀺𑀲𑁆𑀫𑀸 |gens=𑀓𑀺𑀲𑁆𑀲 |locs_mod=replace|locs=𑀓𑀲𑁆𑀫𑀺𑀁|locs2=𑀓𑀫𑁆𑀳𑀺|locs3=𑀓𑀺𑀲𑁆𑀫𑀺𑀁|locs4=𑀓𑀺𑀫𑁆𑀳𑀺 |nomp_mod=replace|nomp=𑀓𑁂 |datp_mod=replace|datp=𑀓𑁂𑀲𑀁|datp2=𑀓𑁂𑀲𑀸𑀦𑀁 |genp_mod=replace|genp=𑀓𑁂𑀲𑀁|genp2=𑀓𑁂𑀲𑀸𑀦𑀁 }} ===Pronoun=== {{pi-pronoun|n <!--|cat2=interrogative pronouns--> }} # {{pi-sc||ka|t=what (n.)}} ====Declension==== {{pi-decl-noun|g=n|novoc=yes |noms_mod=replace|noms=𑀓𑀺𑀁 |accs_mod=replace|accs=𑀓𑀺𑀁 |dats_mod=replace|dats=𑀓𑀲𑁆𑀲|dats2=𑀓𑀺𑀲𑁆𑀲 |abls_mod=replace|abls=𑀓𑀲𑁆𑀫𑀸|abls2=𑀓𑀺𑀲𑁆𑀫𑀸 |gens=𑀓𑀺𑀲𑁆𑀲 |locs_mod=replace|locs=𑀓𑀲𑁆𑀫𑀺𑀁|locs2=𑀓𑀫𑁆𑀳𑀺|locs3=𑀓𑀺𑀲𑁆𑀫𑀺𑀁|locs4=𑀓𑀺𑀫𑁆𑀳𑀺 |datp_mod=replace|datp=𑀓𑁂𑀲𑀁|datp2=𑀓𑁂𑀲𑀸𑀦𑀁 |genp_mod=replace|genp=𑀓𑁂𑀲𑀁|genp2=𑀓𑁂𑀲𑀸𑀦𑀁 }} ovxrh43uh87j0e7tlzw6bj3rzefvvcy 230680 230612 2026-04-05T14:42:15Z Pinthura 2424 යොමු තොරතුරු පරිවර්තනය 230680 wikitext text/x-wiki {{character info}} == සර්ව භාෂාමය == [[File:Brahmika.svg|thumb|Brahmi "ka" and its alternative forms for other vowels—an example of modifying a letter to describe vowel sounds in an abugida.]] ===Glyph origin=== Possibly from {{cog|arc|𐡊}}, although this is debated. Compare {{cog|phn|𐤊}}. === අකුර === {{head|mul|letter|sc=Brah|tr=ka}} # the first [[Brahmi]] [[consonant]] ''ka'' ====Descendants==== * Northern Brahmi: ** Gupta: [[File:Gupta allahabad k.svg|15px]], [[File:Gupta ashoka k.svg|15px]], [[File:Gupta girnar k.svg|15px]], [[File:Gupta gujarat k.svg|15px]] (ka) *** Nagari: **** Devanāgarī: {{l|mul|क|tr=ka}} ***** {{desc|gu|ક}} *** Siddham: [[File:Siddham_k.svg|15px]] (ka) **** Bengali-Assamese: {{l|bn|ক}} *** Sharada: {{l|sa|𑆑}} **** Landa scripts: ***** Gurmukhi: {{l|pa|ਕ}} ***** Khojki: {{l|mul|𑈈}} (ka) **** Devashesha: ***** Takri: {{l|mul|𑚊}} (ka) ***** Dogri: {{l|mul|𑠊}} (ka) ** Kalinga: *** {{desc|or|କ}} * Tocharian: [[File:Tocharian_letter_ka.gif|20px]] (ka) == පාලි == === වෙනත් ආකාර === {{pi-alt|Latn=ka}} ===Pronoun=== {{pi-pronoun|m <!--|cat2=interrogative pronouns--> }} # {{pi-sc||ka|t=who (m.)}} ==== වරනැඟීම ==== {{pi-decl-noun|g=m|novoc=yes |dats_mod=replace|dats=𑀓𑀲𑁆𑀲|dats2=𑀓𑀺𑀲𑁆𑀲 |abls_mod=replace|abls=𑀓𑀲𑁆𑀫𑀸|abls2=𑀓𑀺𑀲𑁆𑀫𑀸 |gens=𑀓𑀺𑀲𑁆𑀲 |locs_mod=replace|locs=𑀓𑀲𑁆𑀫𑀺𑀁|locs2=𑀓𑀫𑁆𑀳𑀺|locs3=𑀓𑀺𑀲𑁆𑀫𑀺𑀁|locs4=𑀓𑀺𑀫𑁆𑀳𑀺 |nomp_mod=replace|nomp=𑀓𑁂 |datp_mod=replace|datp=𑀓𑁂𑀲𑀁|datp2=𑀓𑁂𑀲𑀸𑀦𑀁 |genp_mod=replace|genp=𑀓𑁂𑀲𑀁|genp2=𑀓𑁂𑀲𑀸𑀦𑀁 }} ===Pronoun=== {{pi-pronoun|n <!--|cat2=interrogative pronouns--> }} # {{pi-sc||ka|t=what (n.)}} ==== වරනැඟීම ==== {{pi-decl-noun|g=n|novoc=yes |noms_mod=replace|noms=𑀓𑀺𑀁 |accs_mod=replace|accs=𑀓𑀺𑀁 |dats_mod=replace|dats=𑀓𑀲𑁆𑀲|dats2=𑀓𑀺𑀲𑁆𑀲 |abls_mod=replace|abls=𑀓𑀲𑁆𑀫𑀸|abls2=𑀓𑀺𑀲𑁆𑀫𑀸 |gens=𑀓𑀺𑀲𑁆𑀲 |locs_mod=replace|locs=𑀓𑀲𑁆𑀫𑀺𑀁|locs2=𑀓𑀫𑁆𑀳𑀺|locs3=𑀓𑀺𑀲𑁆𑀫𑀺𑀁|locs4=𑀓𑀺𑀫𑁆𑀳𑀺 |datp_mod=replace|datp=𑀓𑁂𑀲𑀁|datp2=𑀓𑁂𑀲𑀸𑀦𑀁 |genp_mod=replace|genp=𑀓𑁂𑀲𑀁|genp2=𑀓𑁂𑀲𑀸𑀦𑀁 }} 1b60pveuvk555tcjbjrvikh932jxro9 𑀒 0 141697 230613 2021-02-10T13:58:59Z en>SodhakSH 0 Created page with "{{character info}} ==Translingual== ===Letter=== {{head|mul|letter|tr=au|sc=Brah}} # {{n-g|the [[fourteenth]] [[vowel]] of the [[Brahmi]] [[script]]}}" 230613 wikitext text/x-wiki {{character info}} ==Translingual== ===Letter=== {{head|mul|letter|tr=au|sc=Brah}} # {{n-g|the [[fourteenth]] [[vowel]] of the [[Brahmi]] [[script]]}} g7fs45sgfxoo88agrutj6tgl457vrds 230614 230613 2026-04-05T14:31:40Z Lee 19 [[:en:𑀒]] වෙතින් එක් සංශෝධනයක් 230613 wikitext text/x-wiki {{character info}} ==Translingual== ===Letter=== {{head|mul|letter|tr=au|sc=Brah}} # {{n-g|the [[fourteenth]] [[vowel]] of the [[Brahmi]] [[script]]}} g7fs45sgfxoo88agrutj6tgl457vrds 230679 230614 2026-04-05T14:42:05Z Pinthura 2424 යොමු තොරතුරු පරිවර්තනය 230679 wikitext text/x-wiki {{character info}} == සර්ව භාෂාමය == === අකුර === {{head|mul|letter|tr=au|sc=Brah}} # {{n-g|the [[fourteenth]] [[vowel]] of the [[Brahmi]] [[script]]}} ipads4z5ybh3jxmnf05bz9ln24t9j4p 𑀑 0 141698 230615 2021-02-10T13:58:33Z en>SodhakSH 0 Created page with "{{character info}} ==Translingual== ===Letter=== {{head|mul|letter|tr=o|sc=Brah}} # {{n-g|the [[thirteenth]] [[vowel]] of the [[Brahmi]] [[script]]}}" 230615 wikitext text/x-wiki {{character info}} ==Translingual== ===Letter=== {{head|mul|letter|tr=o|sc=Brah}} # {{n-g|the [[thirteenth]] [[vowel]] of the [[Brahmi]] [[script]]}} d4wyugjhtxrr0syayqta1j4oayx8c0w 230616 230615 2026-04-05T14:31:55Z Lee 19 [[:en:𑀑]] වෙතින් එක් සංශෝධනයක් 230615 wikitext text/x-wiki {{character info}} ==Translingual== ===Letter=== {{head|mul|letter|tr=o|sc=Brah}} # {{n-g|the [[thirteenth]] [[vowel]] of the [[Brahmi]] [[script]]}} d4wyugjhtxrr0syayqta1j4oayx8c0w 230678 230616 2026-04-05T14:41:55Z Pinthura 2424 යොමු තොරතුරු පරිවර්තනය 230678 wikitext text/x-wiki {{character info}} == සර්ව භාෂාමය == === අකුර === {{head|mul|letter|tr=o|sc=Brah}} # {{n-g|the [[thirteenth]] [[vowel]] of the [[Brahmi]] [[script]]}} 1s02ngrqw3lnu8mr61p82yokbmt4xah 𑀐 0 141699 230617 2021-02-10T13:57:59Z en>SodhakSH 0 230617 wikitext text/x-wiki {{character info}} ==Translingual== ===Letter=== {{head|mul|letter|tr=ai|sc=Brah}} # {{n-g|the [[twelfth]] [[vowel]] of the [[Brahmi]] [[script]]}} bus3c09i856jq1jsqscwxycz4nucdpr 230618 230617 2026-04-05T14:32:11Z Lee 19 [[:en:𑀐]] වෙතින් එක් සංශෝධනයක් 230617 wikitext text/x-wiki {{character info}} ==Translingual== ===Letter=== {{head|mul|letter|tr=ai|sc=Brah}} # {{n-g|the [[twelfth]] [[vowel]] of the [[Brahmi]] [[script]]}} bus3c09i856jq1jsqscwxycz4nucdpr 230674 230618 2026-04-05T14:41:45Z Pinthura 2424 යොමු තොරතුරු පරිවර්තනය 230674 wikitext text/x-wiki {{character info}} == සර්ව භාෂාමය == === අකුර === {{head|mul|letter|tr=ai|sc=Brah}} # {{n-g|the [[twelfth]] [[vowel]] of the [[Brahmi]] [[script]]}} oppsnkbncoacdwdr94vld7of1u2rafm 𑀏 0 141700 230619 2024-09-01T05:37:12Z en>WingerBot 0 deprecated code 'inc-pra' -> 'pra' for Prakrit (manually assisted) 230619 wikitext text/x-wiki {{character info}} ==Translingual== ===Letter=== {{head|mul|letter|tr=e}} # {{n-g|the [[eleventh]] [[vowel]] of the [[Brahmi]] [[script]]}} ==Prakrit== ===Etymology=== {{inh+|pra|sa|अयि}}. ===Interjection=== {{pra-intj|s}} # [[hey]] ===References=== * {{R:hi:Misra|119}} i31slx0g3d31uiqdwz1yxfl4xv8k1ci 230620 230619 2026-04-05T14:32:26Z Lee 19 [[:en:𑀏]] වෙතින් එක් සංශෝධනයක් 230619 wikitext text/x-wiki {{character info}} ==Translingual== ===Letter=== {{head|mul|letter|tr=e}} # {{n-g|the [[eleventh]] [[vowel]] of the [[Brahmi]] [[script]]}} ==Prakrit== ===Etymology=== {{inh+|pra|sa|अयि}}. ===Interjection=== {{pra-intj|s}} # [[hey]] ===References=== * {{R:hi:Misra|119}} i31slx0g3d31uiqdwz1yxfl4xv8k1ci 230670 230620 2026-04-05T14:41:35Z Pinthura 2424 යොමු තොරතුරු පරිවර්තනය 230670 wikitext text/x-wiki {{character info}} == සර්ව භාෂාමය == === අකුර === {{head|mul|letter|tr=e}} # {{n-g|the [[eleventh]] [[vowel]] of the [[Brahmi]] [[script]]}} == ප්‍රාකෘත == === නිරුක්තිය === {{inh+|pra|sa|अयि}}. === විශ්මයාර්ථ පදය === {{pra-intj|s}} # [[hey]] === මූලාශ්‍ර === * {{R:hi:Misra|119}} 2s63w7sgenzzzp4hmcmw932mpveq7d2 𑀎 0 141701 230621 2022-06-23T15:34:52Z en>AleksiB 1945 0 230621 wikitext text/x-wiki {{character info}} ==Translingual== ===Letter=== {{head|mul|letter|tr=ḹ|sc=Brah}} # {{n-g|the [[tenth]] [[vowel]] of the [[Brahmi]] [[script]]}} 4sto3ts5snfq10ga8n95s74mkypqrim 230622 230621 2026-04-05T14:32:39Z Lee 19 [[:en:𑀎]] වෙතින් එක් සංශෝධනයක් 230621 wikitext text/x-wiki {{character info}} ==Translingual== ===Letter=== {{head|mul|letter|tr=ḹ|sc=Brah}} # {{n-g|the [[tenth]] [[vowel]] of the [[Brahmi]] [[script]]}} 4sto3ts5snfq10ga8n95s74mkypqrim 230667 230622 2026-04-05T14:41:25Z Pinthura 2424 යොමු තොරතුරු පරිවර්තනය 230667 wikitext text/x-wiki {{character info}} == සර්ව භාෂාමය == === අකුර === {{head|mul|letter|tr=ḹ|sc=Brah}} # {{n-g|the [[tenth]] [[vowel]] of the [[Brahmi]] [[script]]}} k4ezmia8068jmz79ngo71qx5cdm4ido 𑀍 0 141702 230623 2025-03-13T14:01:18Z en>Surjection 0 Reverted edits by [[Special:Contributions/2601:601:4280:BA70:9504:9749:7C22:CBB|2601:601:4280:BA70:9504:9749:7C22:CBB]]. If you think this rollback is in error, please leave a message on my [[User talk:Surjection|talk page]]. 230623 wikitext text/x-wiki {{character info}} ==Translingual== ===Letter=== {{head|mul|letter|tr=ḷ|sc=Brah}} # {{n-g|the [[ninth]] [[vowel]] of the [[Brahmi]] [[script]]}} 4ed1yy978u1b5fp3r6qzs6eozbwk8tx 230624 230623 2026-04-05T14:32:54Z Lee 19 [[:en:𑀍]] වෙතින් එක් සංශෝධනයක් 230623 wikitext text/x-wiki {{character info}} ==Translingual== ===Letter=== {{head|mul|letter|tr=ḷ|sc=Brah}} # {{n-g|the [[ninth]] [[vowel]] of the [[Brahmi]] [[script]]}} 4ed1yy978u1b5fp3r6qzs6eozbwk8tx 230666 230624 2026-04-05T14:41:15Z Pinthura 2424 යොමු තොරතුරු පරිවර්තනය 230666 wikitext text/x-wiki {{character info}} == සර්ව භාෂාමය == === අකුර === {{head|mul|letter|tr=ḷ|sc=Brah}} # {{n-g|the [[ninth]] [[vowel]] of the [[Brahmi]] [[script]]}} 3rxyl05k1ynywrt376sl06usok4gsst 𑀌 0 141703 230625 2021-02-10T13:53:08Z en>SodhakSH 0 Created page with "{{character info}} ==Translingual== ===Letter=== {{head|mul|letter|tr=ṝ|sc=Brah}} # {{n-g|the [[eighth]] [[vowel]] of the [[Brahmi]] [[script]]}}" 230625 wikitext text/x-wiki {{character info}} ==Translingual== ===Letter=== {{head|mul|letter|tr=ṝ|sc=Brah}} # {{n-g|the [[eighth]] [[vowel]] of the [[Brahmi]] [[script]]}} hg35358zg53cyuvg6y98id4b4j4fdj0 230626 230625 2026-04-05T14:33:08Z Lee 19 [[:en:𑀌]] වෙතින් එක් සංශෝධනයක් 230625 wikitext text/x-wiki {{character info}} ==Translingual== ===Letter=== {{head|mul|letter|tr=ṝ|sc=Brah}} # {{n-g|the [[eighth]] [[vowel]] of the [[Brahmi]] [[script]]}} hg35358zg53cyuvg6y98id4b4j4fdj0 230665 230626 2026-04-05T14:41:05Z Pinthura 2424 යොමු තොරතුරු පරිවර්තනය 230665 wikitext text/x-wiki {{character info}} == සර්ව භාෂාමය == === අකුර === {{head|mul|letter|tr=ṝ|sc=Brah}} # {{n-g|the [[eighth]] [[vowel]] of the [[Brahmi]] [[script]]}} n0272p6l9ysliu8h17rc34wzodbxv6q 𑀋 0 141704 230627 2021-02-10T13:47:30Z en>SodhakSH 0 Created page with "{{character info}} ==Translingual== ===Letter=== {{head|mul|letter|tr=ṛ|sc=Brah}} # {{n-g|the [[seventh]] [[vowel]] of the [[Brahmi]] [[script]]}}" 230627 wikitext text/x-wiki {{character info}} ==Translingual== ===Letter=== {{head|mul|letter|tr=ṛ|sc=Brah}} # {{n-g|the [[seventh]] [[vowel]] of the [[Brahmi]] [[script]]}} 0ocduxgzjqqx6ik2ikdizkh3yxoolpt 230628 230627 2026-04-05T14:33:23Z Lee 19 [[:en:𑀋]] වෙතින් එක් සංශෝධනයක් 230627 wikitext text/x-wiki {{character info}} ==Translingual== ===Letter=== {{head|mul|letter|tr=ṛ|sc=Brah}} # {{n-g|the [[seventh]] [[vowel]] of the [[Brahmi]] [[script]]}} 0ocduxgzjqqx6ik2ikdizkh3yxoolpt 230664 230628 2026-04-05T14:40:55Z Pinthura 2424 යොමු තොරතුරු පරිවර්තනය 230664 wikitext text/x-wiki {{character info}} == සර්ව භාෂාමය == === අකුර === {{head|mul|letter|tr=ṛ|sc=Brah}} # {{n-g|the [[seventh]] [[vowel]] of the [[Brahmi]] [[script]]}} 3cxwz078aw3otrw4x8oe0alu1d9rd3n 𑀊 0 141705 230629 2021-02-10T13:48:17Z en>SodhakSH 0 230629 wikitext text/x-wiki {{character info}} ==Translingual== ===Letter=== {{head|mul|letter|tr=ū|sc=Brah}} # {{n-g|the [[sixth]] [[vowel]] of the [[Brahmi]] [[script]]}} teese8yzzotj85tdq5u8ewb86bzh7u2 230630 230629 2026-04-05T14:33:47Z Lee 19 [[:en:𑀊]] වෙතින් එක් සංශෝධනයක් 230629 wikitext text/x-wiki {{character info}} ==Translingual== ===Letter=== {{head|mul|letter|tr=ū|sc=Brah}} # {{n-g|the [[sixth]] [[vowel]] of the [[Brahmi]] [[script]]}} teese8yzzotj85tdq5u8ewb86bzh7u2 230663 230630 2026-04-05T14:40:45Z Pinthura 2424 යොමු තොරතුරු පරිවර්තනය 230663 wikitext text/x-wiki {{character info}} == සර්ව භාෂාමය == === අකුර === {{head|mul|letter|tr=ū|sc=Brah}} # {{n-g|the [[sixth]] [[vowel]] of the [[Brahmi]] [[script]]}} 0jm9bh9wtcptu74238g4sxjy4g32i8h 𑀉 0 141706 230631 2024-09-11T16:01:37Z en>ChromeBones 0 230631 wikitext text/x-wiki {{character info}} ==Translingual== ===Letter=== {{head|mul|letter|tr=u|sc=Brah}} # {{n-g|the [[fifth]] [[vowel]] of the [[Brahmi]] [[script]]}} ====Descendants==== * Gupta: [[File:Gupta_gujarat_u.svg|15px]] (u) ** Nagari: [[File:Nagari1035_u.svg|15px]] (u) *** Devanagari: {{l|mul|उ|tr=u}} *** {{desc|gu|ઉ}} *** Nandinagari: ** Kalinga: *** {{desc|or|ଉ}} ** Siddham: [[File:Siddham_u.svg|15px]] (u) *** Traditional Assamese: [[File:Kamarupi_u.svg|20px]] *** {{desc|bn|উ}} ** Nepali scripts: *** Ranjana: [[File:Ranjana_u.svg|15px]] (u) ** Sharada: {{l|sa|𑆇}} *** Landa scripts: **** Gurmukhi: {{l|pa|ਉ}} *** Devashesha: ****Takri: [[𑚄]] (u) ****Dogra: [[𑠄]] (u) * Southern Brahmi: ** Bhattiprolu: *** {{desc|te|ఉ}} ** Kadamba: *** {{desc|kn|ಉ}} *** Pallava: [[File:Pallava_U.svg|15px]] (u) **** {{desc|ml|ഉ}} ** {{desc|ta|உ}} * Tocharian: [[File:Tocharian_letter_u.gif|20px]] (u) l35414qaisqnzvz4o4lcpnx7nfg8b4m 230632 230631 2026-04-05T14:34:01Z Lee 19 [[:en:𑀉]] වෙතින් එක් සංශෝධනයක් 230631 wikitext text/x-wiki {{character info}} ==Translingual== ===Letter=== {{head|mul|letter|tr=u|sc=Brah}} # {{n-g|the [[fifth]] [[vowel]] of the [[Brahmi]] [[script]]}} ====Descendants==== * Gupta: [[File:Gupta_gujarat_u.svg|15px]] (u) ** Nagari: [[File:Nagari1035_u.svg|15px]] (u) *** Devanagari: {{l|mul|उ|tr=u}} *** {{desc|gu|ઉ}} *** Nandinagari: ** Kalinga: *** {{desc|or|ଉ}} ** Siddham: [[File:Siddham_u.svg|15px]] (u) *** Traditional Assamese: [[File:Kamarupi_u.svg|20px]] *** {{desc|bn|উ}} ** Nepali scripts: *** Ranjana: [[File:Ranjana_u.svg|15px]] (u) ** Sharada: {{l|sa|𑆇}} *** Landa scripts: **** Gurmukhi: {{l|pa|ਉ}} *** Devashesha: ****Takri: [[𑚄]] (u) ****Dogra: [[𑠄]] (u) * Southern Brahmi: ** Bhattiprolu: *** {{desc|te|ఉ}} ** Kadamba: *** {{desc|kn|ಉ}} *** Pallava: [[File:Pallava_U.svg|15px]] (u) **** {{desc|ml|ഉ}} ** {{desc|ta|உ}} * Tocharian: [[File:Tocharian_letter_u.gif|20px]] (u) l35414qaisqnzvz4o4lcpnx7nfg8b4m 230660 230632 2026-04-05T14:40:35Z Pinthura 2424 යොමු තොරතුරු පරිවර්තනය 230660 wikitext text/x-wiki {{character info}} == සර්ව භාෂාමය == === අකුර === {{head|mul|letter|tr=u|sc=Brah}} # {{n-g|the [[fifth]] [[vowel]] of the [[Brahmi]] [[script]]}} ====Descendants==== * Gupta: [[File:Gupta_gujarat_u.svg|15px]] (u) ** Nagari: [[File:Nagari1035_u.svg|15px]] (u) *** Devanagari: {{l|mul|उ|tr=u}} *** {{desc|gu|ઉ}} *** Nandinagari: ** Kalinga: *** {{desc|or|ଉ}} ** Siddham: [[File:Siddham_u.svg|15px]] (u) *** Traditional Assamese: [[File:Kamarupi_u.svg|20px]] *** {{desc|bn|উ}} ** Nepali scripts: *** Ranjana: [[File:Ranjana_u.svg|15px]] (u) ** Sharada: {{l|sa|𑆇}} *** Landa scripts: **** Gurmukhi: {{l|pa|ਉ}} *** Devashesha: ****Takri: [[𑚄]] (u) ****Dogra: [[𑠄]] (u) * Southern Brahmi: ** Bhattiprolu: *** {{desc|te|ఉ}} ** Kadamba: *** {{desc|kn|ಉ}} *** Pallava: [[File:Pallava_U.svg|15px]] (u) **** {{desc|ml|ഉ}} ** {{desc|ta|உ}} * Tocharian: [[File:Tocharian_letter_u.gif|20px]] (u) fsvo1omc43yth0685adx2x8le9maog9 𑀈 0 141707 230633 2025-11-08T02:35:51Z en>WingerBot 0 replace sclb=, nolb= in {{desc}}/{{desctree}} with sclang=, nolang= respectively; misc cleanups (manually assisted) 230633 wikitext text/x-wiki {{character info}} ==Translingual== ===Letter=== {{head|mul|letter|tr=ī|sc=Brah}} # {{n-g|the [[fourth]] [[vowel]] of the [[Brahmi]] [[script]]}} ====Descendants==== * Gupta: [[File:Gupta_gujarat_ii.svg|15px]] (ī) ** Nagari: [[File:Nagari1035_ii.svg|15px]] (ī) *** Devanagari: {{l|mul|ई|tr=ī}} *** {{desc|gu|ઈ}} *** Nandinagari: {{l|mul|𑦣}} [[File:NANDINAGARI_LETTER_II.svg|25px]] ** Kalinga: *** {{desc|or|ଈ}} ** Siddham: [[File:Siddham_ii.svg|15px]] (ī) *** Traditional Assamese: [[File:Kamarupi_ī.svg|20px]] *** {{desc|bn|ঈ}} ** Nepali scripts: *** Ranjana: [[File:Ranjana_ii.svg|15px]] (ī) ** Sharada: {{l|sa|𑆆}} *** Landa scripts: **** Gurmukhi: {{l|pa|ਈ}} **** {{desc|mul|𑈂|sclang=1}} (ī) *** Devashesha: ****Takri: [[𑚃]] (ī) ****Dogra: [[𑠃]] (ī) * Southern Brahmi: ** Bhattiprolu: *** {{desc|te|ఈ}} ** Kadamba: *** {{desc|kn|ಈ}} *** Pallava: [[File:Pallava_Ii.svg|15px]] (ī) **** {{desc|ml|ൟ}} ** {{desc|ta|ஈ}} * Tocharian: [[File:Tocharian_letter_ii.gif|15px]] (ī) e7r6c3x9c5lkd0kgv5tjk6t1fa9vmny 230634 230633 2026-04-05T14:34:17Z Lee 19 [[:en:𑀈]] වෙතින් එක් සංශෝධනයක් 230633 wikitext text/x-wiki {{character info}} ==Translingual== ===Letter=== {{head|mul|letter|tr=ī|sc=Brah}} # {{n-g|the [[fourth]] [[vowel]] of the [[Brahmi]] [[script]]}} ====Descendants==== * Gupta: [[File:Gupta_gujarat_ii.svg|15px]] (ī) ** Nagari: [[File:Nagari1035_ii.svg|15px]] (ī) *** Devanagari: {{l|mul|ई|tr=ī}} *** {{desc|gu|ઈ}} *** Nandinagari: {{l|mul|𑦣}} [[File:NANDINAGARI_LETTER_II.svg|25px]] ** Kalinga: *** {{desc|or|ଈ}} ** Siddham: [[File:Siddham_ii.svg|15px]] (ī) *** Traditional Assamese: [[File:Kamarupi_ī.svg|20px]] *** {{desc|bn|ঈ}} ** Nepali scripts: *** Ranjana: [[File:Ranjana_ii.svg|15px]] (ī) ** Sharada: {{l|sa|𑆆}} *** Landa scripts: **** Gurmukhi: {{l|pa|ਈ}} **** {{desc|mul|𑈂|sclang=1}} (ī) *** Devashesha: ****Takri: [[𑚃]] (ī) ****Dogra: [[𑠃]] (ī) * Southern Brahmi: ** Bhattiprolu: *** {{desc|te|ఈ}} ** Kadamba: *** {{desc|kn|ಈ}} *** Pallava: [[File:Pallava_Ii.svg|15px]] (ī) **** {{desc|ml|ൟ}} ** {{desc|ta|ஈ}} * Tocharian: [[File:Tocharian_letter_ii.gif|15px]] (ī) e7r6c3x9c5lkd0kgv5tjk6t1fa9vmny 230659 230634 2026-04-05T14:40:25Z Pinthura 2424 යොමු තොරතුරු පරිවර්තනය 230659 wikitext text/x-wiki {{character info}} == සර්ව භාෂාමය == === අකුර === {{head|mul|letter|tr=ī|sc=Brah}} # {{n-g|the [[fourth]] [[vowel]] of the [[Brahmi]] [[script]]}} ====Descendants==== * Gupta: [[File:Gupta_gujarat_ii.svg|15px]] (ī) ** Nagari: [[File:Nagari1035_ii.svg|15px]] (ī) *** Devanagari: {{l|mul|ई|tr=ī}} *** {{desc|gu|ઈ}} *** Nandinagari: {{l|mul|𑦣}} [[File:NANDINAGARI_LETTER_II.svg|25px]] ** Kalinga: *** {{desc|or|ଈ}} ** Siddham: [[File:Siddham_ii.svg|15px]] (ī) *** Traditional Assamese: [[File:Kamarupi_ī.svg|20px]] *** {{desc|bn|ঈ}} ** Nepali scripts: *** Ranjana: [[File:Ranjana_ii.svg|15px]] (ī) ** Sharada: {{l|sa|𑆆}} *** Landa scripts: **** Gurmukhi: {{l|pa|ਈ}} **** {{desc|mul|𑈂|sclang=1}} (ī) *** Devashesha: ****Takri: [[𑚃]] (ī) ****Dogra: [[𑠃]] (ī) * Southern Brahmi: ** Bhattiprolu: *** {{desc|te|ఈ}} ** Kadamba: *** {{desc|kn|ಈ}} *** Pallava: [[File:Pallava_Ii.svg|15px]] (ī) **** {{desc|ml|ൟ}} ** {{desc|ta|ஈ}} * Tocharian: [[File:Tocharian_letter_ii.gif|15px]] (ī) 6utz61zkvgq7bt3yeaphsbxmrv7uz68 𑀇 0 141708 230635 2024-09-11T19:45:28Z en>ChromeBones 0 230635 wikitext text/x-wiki {{character info}} ==Translingual== ===Letter=== {{head|mul|letter|tr=i|sc=Brah}} # {{n-g|the [[third]] [[vowel]] of the [[Brahmi]] [[script]]}} ====Descendants==== * Gupta: [[File:Gupta_allahabad_i.svg|15px]], [[File:Gupta_ashoka_i.svg|15px]], [[File:Gupta_girnar_i.svg|15px]], [[File:Gupta_gujarat_i.svg|15px]] (i) ** Nagari: [[File:Nagari1035_i.svg|15px]] (i) *** Devanagari: {{l|mul|इ|tr=i}} *** {{desc|gu|ઇ}} *** Nandinagari: {{l|mul|𑦢}} [[File:NANDINAGARI_LETTER_I.svg|25px]] ** Kalinga: *** {{desc|or|ଇ}} ** Siddham: [[File:Siddham_i.svg|15px]] (i) *** Traditional Assamese: [[File:Kamarupi_i.svg|20px]], [[File:Kamarupi_i_variant_1.svg|20px]] *** {{desc|bn|ই}} ** Nepali scripts: *** Ranjana: [[File:Ranjana_i.svg|15px]] (i) ** Sharada: {{l|sa|𑆅}} *** Landa scripts: **** Gurmukhi: {{l|pa|ੲ}} **** Khojki: {{l|mul|𑉀}} (i) *** Devashesha: **** Takri: {{l|mul|𑚂}} (i) **** Dogri: {{l|mul|𑠂}} (i) * Southern Brahmi: ** Bhattiprolu: *** {{desc|te|ఇ}} ** Kadamba: *** {{desc|kn|ಇ}} *** Pallava: [[File:Pallava_I.svg|15px]] (i) **** {{desc|ml|ഇ}} ** {{desc|ta|இ}} * Tocharian: [[File:Tocharian_letter_i.gif|20px]] (i) 6i2wrdeqkygxn6zciad3tmuk1t5sorl 230636 230635 2026-04-05T14:34:30Z Lee 19 [[:en:𑀇]] වෙතින් එක් සංශෝධනයක් 230635 wikitext text/x-wiki {{character info}} ==Translingual== ===Letter=== {{head|mul|letter|tr=i|sc=Brah}} # {{n-g|the [[third]] [[vowel]] of the [[Brahmi]] [[script]]}} ====Descendants==== * Gupta: [[File:Gupta_allahabad_i.svg|15px]], [[File:Gupta_ashoka_i.svg|15px]], [[File:Gupta_girnar_i.svg|15px]], [[File:Gupta_gujarat_i.svg|15px]] (i) ** Nagari: [[File:Nagari1035_i.svg|15px]] (i) *** Devanagari: {{l|mul|इ|tr=i}} *** {{desc|gu|ઇ}} *** Nandinagari: {{l|mul|𑦢}} [[File:NANDINAGARI_LETTER_I.svg|25px]] ** Kalinga: *** {{desc|or|ଇ}} ** Siddham: [[File:Siddham_i.svg|15px]] (i) *** Traditional Assamese: [[File:Kamarupi_i.svg|20px]], [[File:Kamarupi_i_variant_1.svg|20px]] *** {{desc|bn|ই}} ** Nepali scripts: *** Ranjana: [[File:Ranjana_i.svg|15px]] (i) ** Sharada: {{l|sa|𑆅}} *** Landa scripts: **** Gurmukhi: {{l|pa|ੲ}} **** Khojki: {{l|mul|𑉀}} (i) *** Devashesha: **** Takri: {{l|mul|𑚂}} (i) **** Dogri: {{l|mul|𑠂}} (i) * Southern Brahmi: ** Bhattiprolu: *** {{desc|te|ఇ}} ** Kadamba: *** {{desc|kn|ಇ}} *** Pallava: [[File:Pallava_I.svg|15px]] (i) **** {{desc|ml|ഇ}} ** {{desc|ta|இ}} * Tocharian: [[File:Tocharian_letter_i.gif|20px]] (i) 6i2wrdeqkygxn6zciad3tmuk1t5sorl 230658 230636 2026-04-05T14:40:15Z Pinthura 2424 යොමු තොරතුරු පරිවර්තනය 230658 wikitext text/x-wiki {{character info}} == සර්ව භාෂාමය == === අකුර === {{head|mul|letter|tr=i|sc=Brah}} # {{n-g|the [[third]] [[vowel]] of the [[Brahmi]] [[script]]}} ====Descendants==== * Gupta: [[File:Gupta_allahabad_i.svg|15px]], [[File:Gupta_ashoka_i.svg|15px]], [[File:Gupta_girnar_i.svg|15px]], [[File:Gupta_gujarat_i.svg|15px]] (i) ** Nagari: [[File:Nagari1035_i.svg|15px]] (i) *** Devanagari: {{l|mul|इ|tr=i}} *** {{desc|gu|ઇ}} *** Nandinagari: {{l|mul|𑦢}} [[File:NANDINAGARI_LETTER_I.svg|25px]] ** Kalinga: *** {{desc|or|ଇ}} ** Siddham: [[File:Siddham_i.svg|15px]] (i) *** Traditional Assamese: [[File:Kamarupi_i.svg|20px]], [[File:Kamarupi_i_variant_1.svg|20px]] *** {{desc|bn|ই}} ** Nepali scripts: *** Ranjana: [[File:Ranjana_i.svg|15px]] (i) ** Sharada: {{l|sa|𑆅}} *** Landa scripts: **** Gurmukhi: {{l|pa|ੲ}} **** Khojki: {{l|mul|𑉀}} (i) *** Devashesha: **** Takri: {{l|mul|𑚂}} (i) **** Dogri: {{l|mul|𑠂}} (i) * Southern Brahmi: ** Bhattiprolu: *** {{desc|te|ఇ}} ** Kadamba: *** {{desc|kn|ಇ}} *** Pallava: [[File:Pallava_I.svg|15px]] (i) **** {{desc|ml|ഇ}} ** {{desc|ta|இ}} * Tocharian: [[File:Tocharian_letter_i.gif|20px]] (i) ipdo5iqt000tgro2cdaoje4yg2hxub1 𑀆 0 141709 230637 2025-11-08T02:07:40Z en>WingerBot 0 replace sclb=, nolb= in {{desc}}/{{desctree}} with sclang=, nolang= respectively; misc cleanups (manually assisted) 230637 wikitext text/x-wiki {{character info}} ==Translingual== ===Letter=== {{head|mul|letter|tr=ā|sc=Brah}} # {{n-g|the [[second]] [[vowel]] of the [[Brahmi]] [[script]]}} ====Descendants==== * Gupta: [[File:Gupta_allahabad_aa.svg|15px]], [[File:Gupta_ashoka_aa.svg|15px]], [[File:Gupta_girnar_aa.svg|15px]], [[File:Gupta_gujarat_aa.svg|15px]] (ā) ** Nagari: [[File:Nagari1035_aa.svg|15px]] (ā) *** Devanagari: {{l|mul|आ|tr=ā}} *** {{desc|gu|આ}} *** Nandinagari: {{l|mul|𑦡}} [[File:NANDINAGARI_LETTER_AA.svg|25px]] ** Kalinga: *** {{desc|or|ଆ}} ** Siddham: [[File:Siddham_aa.svg|15px]] (ā) *** Traditional Assamese: [[File:Kamarupi_ā.svg|22px]] *** {{desc|bn|আ}} ** Nepali scripts: *** Ranjana: [[File:Ranjana_aa.svg|15px]] (ā) ** Sharada: {{l|sa|𑆄}} *** Landa scripts: **** Gurmukhi: {{l|pa|ਆ}} **** {{desc|mul|𑈁|sclang=1}} (ā) *** Devashesha: **** {{desc|mul|𑚁|sclang=1}} (ā) **** {{desc|mul|𑠁|sclang=1}} (ā) * Southern Brahmi: ** Bhattiprolu: *** {{desc|te|ఆ}} ** Kadamba: *** {{desc|kn|ಆ}} *** Pallava: [[File:Pallava_Aa.svg|15px]] (ā) **** {{desc|ml|ആ}} ** {{desc|ta|ஆ}} * Tocharian: [[File:Tocharian_letter_aa.gif|20px]] (ā) ==Old Tamil== ===Etymology=== {{inh+|oty|dra-pro|*ā}}. ===Pronunciation=== * {{IPA|oty|/ɑː/}} ===Noun=== {{head|oty|noun}} # [[cow]]; the [[female]] of an [[ox]] ====Descendants==== * {{desc|ml|ആ|ആവ്|ആൻ}} * {{desc|ta|ஆ|ஆன்}} ===References=== * {{R:dra:DED|334}} 2fcoa27bwiq6q9cxwwfhn3bz9v0kimg 230638 230637 2026-04-05T14:34:45Z Lee 19 [[:en:𑀆]] වෙතින් එක් සංශෝධනයක් 230637 wikitext text/x-wiki {{character info}} ==Translingual== ===Letter=== {{head|mul|letter|tr=ā|sc=Brah}} # {{n-g|the [[second]] [[vowel]] of the [[Brahmi]] [[script]]}} ====Descendants==== * Gupta: [[File:Gupta_allahabad_aa.svg|15px]], [[File:Gupta_ashoka_aa.svg|15px]], [[File:Gupta_girnar_aa.svg|15px]], [[File:Gupta_gujarat_aa.svg|15px]] (ā) ** Nagari: [[File:Nagari1035_aa.svg|15px]] (ā) *** Devanagari: {{l|mul|आ|tr=ā}} *** {{desc|gu|આ}} *** Nandinagari: {{l|mul|𑦡}} [[File:NANDINAGARI_LETTER_AA.svg|25px]] ** Kalinga: *** {{desc|or|ଆ}} ** Siddham: [[File:Siddham_aa.svg|15px]] (ā) *** Traditional Assamese: [[File:Kamarupi_ā.svg|22px]] *** {{desc|bn|আ}} ** Nepali scripts: *** Ranjana: [[File:Ranjana_aa.svg|15px]] (ā) ** Sharada: {{l|sa|𑆄}} *** Landa scripts: **** Gurmukhi: {{l|pa|ਆ}} **** {{desc|mul|𑈁|sclang=1}} (ā) *** Devashesha: **** {{desc|mul|𑚁|sclang=1}} (ā) **** {{desc|mul|𑠁|sclang=1}} (ā) * Southern Brahmi: ** Bhattiprolu: *** {{desc|te|ఆ}} ** Kadamba: *** {{desc|kn|ಆ}} *** Pallava: [[File:Pallava_Aa.svg|15px]] (ā) **** {{desc|ml|ആ}} ** {{desc|ta|ஆ}} * Tocharian: [[File:Tocharian_letter_aa.gif|20px]] (ā) ==Old Tamil== ===Etymology=== {{inh+|oty|dra-pro|*ā}}. ===Pronunciation=== * {{IPA|oty|/ɑː/}} ===Noun=== {{head|oty|noun}} # [[cow]]; the [[female]] of an [[ox]] ====Descendants==== * {{desc|ml|ആ|ആവ്|ആൻ}} * {{desc|ta|ஆ|ஆன்}} ===References=== * {{R:dra:DED|334}} 2fcoa27bwiq6q9cxwwfhn3bz9v0kimg 230657 230638 2026-04-05T14:40:05Z Pinthura 2424 යොමු තොරතුරු පරිවර්තනය 230657 wikitext text/x-wiki {{character info}} == සර්ව භාෂාමය == === අකුර === {{head|mul|letter|tr=ā|sc=Brah}} # {{n-g|the [[second]] [[vowel]] of the [[Brahmi]] [[script]]}} ====Descendants==== * Gupta: [[File:Gupta_allahabad_aa.svg|15px]], [[File:Gupta_ashoka_aa.svg|15px]], [[File:Gupta_girnar_aa.svg|15px]], [[File:Gupta_gujarat_aa.svg|15px]] (ā) ** Nagari: [[File:Nagari1035_aa.svg|15px]] (ā) *** Devanagari: {{l|mul|आ|tr=ā}} *** {{desc|gu|આ}} *** Nandinagari: {{l|mul|𑦡}} [[File:NANDINAGARI_LETTER_AA.svg|25px]] ** Kalinga: *** {{desc|or|ଆ}} ** Siddham: [[File:Siddham_aa.svg|15px]] (ā) *** Traditional Assamese: [[File:Kamarupi_ā.svg|22px]] *** {{desc|bn|আ}} ** Nepali scripts: *** Ranjana: [[File:Ranjana_aa.svg|15px]] (ā) ** Sharada: {{l|sa|𑆄}} *** Landa scripts: **** Gurmukhi: {{l|pa|ਆ}} **** {{desc|mul|𑈁|sclang=1}} (ā) *** Devashesha: **** {{desc|mul|𑚁|sclang=1}} (ā) **** {{desc|mul|𑠁|sclang=1}} (ā) * Southern Brahmi: ** Bhattiprolu: *** {{desc|te|ఆ}} ** Kadamba: *** {{desc|kn|ಆ}} *** Pallava: [[File:Pallava_Aa.svg|15px]] (ā) **** {{desc|ml|ആ}} ** {{desc|ta|ஆ}} * Tocharian: [[File:Tocharian_letter_aa.gif|20px]] (ā) ==Old Tamil== === නිරුක්තිය === {{inh+|oty|dra-pro|*ā}}. === උච්චාරණය === * {{IPA|oty|/ɑː/}} === නාම පදය === {{head|oty|noun}} # [[cow]]; the [[female]] of an [[ox]] ====Descendants==== * {{desc|ml|ആ|ആവ്|ആൻ}} * {{desc|ta|ஆ|ஆன்}} === මූලාශ්‍ර === * {{R:dra:DED|334}} layrxaghiormexwkjdlye7n12hco4n4 𑀅 0 141710 230639 2025-11-08T01:51:57Z en>WingerBot 0 replace sclb=, nolb= in {{desc}}/{{desctree}} with sclang=, nolang= respectively; misc cleanups (manually assisted) 230639 wikitext text/x-wiki {{character info}} ==Translingual== ===Glyph origin=== Possibly from {{cog|arc|𐡀}}, although this is debated. Compare {{cog|he|א}}. ===Letter=== {{head|mul|letter|tr=a}} # {{n-g|the first [[vowel]] of the [[Brahmi]] script}} ====Usage notes==== This character also has the form [[File:Brah a.svg|12px]]. ====Descendants==== {{top2}} * Gupta: [[File:Gupta_allahabad_a.svg|15px]], [[File:Gupta_ashoka_a.svg|15px]], [[File:Gupta_girnar_a.svg|15px]], [[File:Gupta_gujarat_a.svg|15px]] (a) ** Nagari: [[File:Nagari1035_a.svg|15px]] (a) *** {{desc|mul|अ|sclang=1}} **** {{desc|mul|𑘁|sclang=1}} *** {{desc|mul|અ|sclang=1}} *** {{desc|mul|𑦠|sclang=1}} ** Kalinga: *** {{desc|mul|ଅ|sclang=1}} ** {{desc|mul|𑖀|sclang=1}} *** Traditional Assamese: [[File:Kamarupi_a.svg|20px]] *** {{desc|mul|অ|sclang=1}} *** {{desc|mul|ཨ|sclang=1}} ** Nepali scripts: *** Ranjana: [[File:Ranjana_a.svg|15px]] (a) **** Soyombo: [[File:Soyombo_a.svg|15px]] (a) ** {{desc|mul|𑆃|sclang=1}} *** Landa scripts: **** {{desc|mul|ਅ|sclang=1}} **** {{desc|mul|𑈀|sclang=1}} *** Devashesha: **** {{desc|mul|𑠀|sclang=1}} **** {{desc|mul|𑚀|sclang=1}} * Southern Brahmi: ** Bhattiprolu: *** {{desc|mul|అ|sclang=1}} ** Kadamba: *** {{desc|mul|ಅ|sclang=1}} ** {{desc|mul|𑌅|sclang=1}} [[File:GRANTHA_LETTER_A.svg|25px]] (a) *** Pallava: [[File:Pallava_A.svg|15px]] (a) **** {{desc|mul|အ|sclang=1}} **** {{desc|mul|അ|sclang=1}} **** {{desc|mul|අ|sclang=1}} *** Kawi: **** {{desc|mul|ꦄ|sclang=1}} **** {{desc|mul|ᮃ|sclang=1}} **** {{desc|mul|ᜀ|sclang=1}} [[File:TAGALOG_LETTER_A.svg|15px]] *** {{desc|mul|អ|sclang=1}} **** {{desc|mul|ອ|sclang=1}} **** {{desc|mul|อ|sclang=1}} ** {{desc|mul|அ|sclang=1}} ** Tamil-Brahmi: ** Vatteluttu: * Tocharian: [[File:Tocharian_letter_a.gif|20px]] (a) {{bottom}} ==Prakrit== ===Alternative forms=== * {{alt|pra|𑀬}} ===Etymology=== {{dercat|pra|ine-pro|iir-pro|inc-pro|inh=3}} {{inh+|pra|sa|च}}. Cognate with {{cog|pi|ca}}. ===Conjunction=== {{pra-con}} # [[and]] # [[also]], [[moreover]] ===References=== * {{R:inc:Woolner|11}} * {{R:pra:Sheth}} hlxtfsnz50k0k3h5z4bmii0r0rnlooo 230640 230639 2026-04-05T14:35:02Z Lee 19 [[:en:𑀅]] වෙතින් එක් සංශෝධනයක් 230639 wikitext text/x-wiki {{character info}} ==Translingual== ===Glyph origin=== Possibly from {{cog|arc|𐡀}}, although this is debated. Compare {{cog|he|א}}. ===Letter=== {{head|mul|letter|tr=a}} # {{n-g|the first [[vowel]] of the [[Brahmi]] script}} ====Usage notes==== This character also has the form [[File:Brah a.svg|12px]]. ====Descendants==== {{top2}} * Gupta: [[File:Gupta_allahabad_a.svg|15px]], [[File:Gupta_ashoka_a.svg|15px]], [[File:Gupta_girnar_a.svg|15px]], [[File:Gupta_gujarat_a.svg|15px]] (a) ** Nagari: [[File:Nagari1035_a.svg|15px]] (a) *** {{desc|mul|अ|sclang=1}} **** {{desc|mul|𑘁|sclang=1}} *** {{desc|mul|અ|sclang=1}} *** {{desc|mul|𑦠|sclang=1}} ** Kalinga: *** {{desc|mul|ଅ|sclang=1}} ** {{desc|mul|𑖀|sclang=1}} *** Traditional Assamese: [[File:Kamarupi_a.svg|20px]] *** {{desc|mul|অ|sclang=1}} *** {{desc|mul|ཨ|sclang=1}} ** Nepali scripts: *** Ranjana: [[File:Ranjana_a.svg|15px]] (a) **** Soyombo: [[File:Soyombo_a.svg|15px]] (a) ** {{desc|mul|𑆃|sclang=1}} *** Landa scripts: **** {{desc|mul|ਅ|sclang=1}} **** {{desc|mul|𑈀|sclang=1}} *** Devashesha: **** {{desc|mul|𑠀|sclang=1}} **** {{desc|mul|𑚀|sclang=1}} * Southern Brahmi: ** Bhattiprolu: *** {{desc|mul|అ|sclang=1}} ** Kadamba: *** {{desc|mul|ಅ|sclang=1}} ** {{desc|mul|𑌅|sclang=1}} [[File:GRANTHA_LETTER_A.svg|25px]] (a) *** Pallava: [[File:Pallava_A.svg|15px]] (a) **** {{desc|mul|အ|sclang=1}} **** {{desc|mul|അ|sclang=1}} **** {{desc|mul|අ|sclang=1}} *** Kawi: **** {{desc|mul|ꦄ|sclang=1}} **** {{desc|mul|ᮃ|sclang=1}} **** {{desc|mul|ᜀ|sclang=1}} [[File:TAGALOG_LETTER_A.svg|15px]] *** {{desc|mul|អ|sclang=1}} **** {{desc|mul|ອ|sclang=1}} **** {{desc|mul|อ|sclang=1}} ** {{desc|mul|அ|sclang=1}} ** Tamil-Brahmi: ** Vatteluttu: * Tocharian: [[File:Tocharian_letter_a.gif|20px]] (a) {{bottom}} ==Prakrit== ===Alternative forms=== * {{alt|pra|𑀬}} ===Etymology=== {{dercat|pra|ine-pro|iir-pro|inc-pro|inh=3}} {{inh+|pra|sa|च}}. Cognate with {{cog|pi|ca}}. ===Conjunction=== {{pra-con}} # [[and]] # [[also]], [[moreover]] ===References=== * {{R:inc:Woolner|11}} * {{R:pra:Sheth}} hlxtfsnz50k0k3h5z4bmii0r0rnlooo 230656 230640 2026-04-05T14:39:55Z Pinthura 2424 යොමු තොරතුරු පරිවර්තනය 230656 wikitext text/x-wiki {{character info}} == සර්ව භාෂාමය == ===Glyph origin=== Possibly from {{cog|arc|𐡀}}, although this is debated. Compare {{cog|he|א}}. === අකුර === {{head|mul|letter|tr=a}} # {{n-g|the first [[vowel]] of the [[Brahmi]] script}} ==== භාවිත සටහන් ==== This character also has the form [[File:Brah a.svg|12px]]. ====Descendants==== {{top2}} * Gupta: [[File:Gupta_allahabad_a.svg|15px]], [[File:Gupta_ashoka_a.svg|15px]], [[File:Gupta_girnar_a.svg|15px]], [[File:Gupta_gujarat_a.svg|15px]] (a) ** Nagari: [[File:Nagari1035_a.svg|15px]] (a) *** {{desc|mul|अ|sclang=1}} **** {{desc|mul|𑘁|sclang=1}} *** {{desc|mul|અ|sclang=1}} *** {{desc|mul|𑦠|sclang=1}} ** Kalinga: *** {{desc|mul|ଅ|sclang=1}} ** {{desc|mul|𑖀|sclang=1}} *** Traditional Assamese: [[File:Kamarupi_a.svg|20px]] *** {{desc|mul|অ|sclang=1}} *** {{desc|mul|ཨ|sclang=1}} ** Nepali scripts: *** Ranjana: [[File:Ranjana_a.svg|15px]] (a) **** Soyombo: [[File:Soyombo_a.svg|15px]] (a) ** {{desc|mul|𑆃|sclang=1}} *** Landa scripts: **** {{desc|mul|ਅ|sclang=1}} **** {{desc|mul|𑈀|sclang=1}} *** Devashesha: **** {{desc|mul|𑠀|sclang=1}} **** {{desc|mul|𑚀|sclang=1}} * Southern Brahmi: ** Bhattiprolu: *** {{desc|mul|అ|sclang=1}} ** Kadamba: *** {{desc|mul|ಅ|sclang=1}} ** {{desc|mul|𑌅|sclang=1}} [[File:GRANTHA_LETTER_A.svg|25px]] (a) *** Pallava: [[File:Pallava_A.svg|15px]] (a) **** {{desc|mul|အ|sclang=1}} **** {{desc|mul|അ|sclang=1}} **** {{desc|mul|අ|sclang=1}} *** Kawi: **** {{desc|mul|ꦄ|sclang=1}} **** {{desc|mul|ᮃ|sclang=1}} **** {{desc|mul|ᜀ|sclang=1}} [[File:TAGALOG_LETTER_A.svg|15px]] *** {{desc|mul|អ|sclang=1}} **** {{desc|mul|ອ|sclang=1}} **** {{desc|mul|อ|sclang=1}} ** {{desc|mul|அ|sclang=1}} ** Tamil-Brahmi: ** Vatteluttu: * Tocharian: [[File:Tocharian_letter_a.gif|20px]] (a) {{bottom}} == ප්‍රාකෘත == === වෙනත් ආකාර === * {{alt|pra|𑀬}} === නිරුක්තිය === {{dercat|pra|ine-pro|iir-pro|inc-pro|inh=3}} {{inh+|pra|sa|च}}. Cognate with {{cog|pi|ca}}. ===Conjunction=== {{pra-con}} # [[and]] # [[also]], [[moreover]] === මූලාශ්‍ර === * {{R:inc:Woolner|11}} * {{R:pra:Sheth}} ap5203pctbh4ayoo9nf00q94dya2z9z 𑀄 0 141711 230641 2024-09-10T14:05:25Z en>ChromeBones 0 230641 wikitext text/x-wiki {{character info}} ==Sanskrit== ===Letter=== {{head|sa|letter|tr=f}} # the sign {{m|sa|उपध्मानीय}}, occurring as a result of [[external]] [[sandhi]] between a [[visarga]] and an [[unvoiced]] [[bilabial]] ({{m|sa|𑀧}}, {{m|sa|𑀨}}) in [[Vedic]] [[Sanskrit]] tq4veyol2gwgzrzj9eu0rimsv2c92cz 230642 230641 2026-04-05T14:35:19Z Lee 19 [[:en:𑀄]] වෙතින් එක් සංශෝධනයක් 230641 wikitext text/x-wiki {{character info}} ==Sanskrit== ===Letter=== {{head|sa|letter|tr=f}} # the sign {{m|sa|उपध्मानीय}}, occurring as a result of [[external]] [[sandhi]] between a [[visarga]] and an [[unvoiced]] [[bilabial]] ({{m|sa|𑀧}}, {{m|sa|𑀨}}) in [[Vedic]] [[Sanskrit]] tq4veyol2gwgzrzj9eu0rimsv2c92cz 230655 230642 2026-04-05T14:39:45Z Pinthura 2424 යොමු තොරතුරු පරිවර්තනය 230655 wikitext text/x-wiki {{character info}} == සංස්කෘත == === අකුර === {{head|sa|letter|tr=f}} # the sign {{m|sa|उपध्मानीय}}, occurring as a result of [[external]] [[sandhi]] between a [[visarga]] and an [[unvoiced]] [[bilabial]] ({{m|sa|𑀧}}, {{m|sa|𑀨}}) in [[Vedic]] [[Sanskrit]] qz8xb2hwayes6tor13lvdct3wxgf7a1 𑀃 0 141712 230643 2024-09-10T14:01:40Z en>ChromeBones 0 230643 wikitext text/x-wiki {{character info}} ==Sanskrit== ===Letter=== {{head|sa|letter|tr=x}} # the sign {{m|sa|जिह्वामूलीय|tr=jihvā́mūlīya}}, occurring as a result of [[external]] [[sandhi]] between a [[visarga]] and an [[unvoiced]] [[velar]] ({{m|sa|𑀓}}, {{m|sa|𑀔}}) in [[Vedic]] [[Sanskrit]] ja22hmmncx2deyn4ajp6wx08s8b756x 230644 230643 2026-04-05T14:36:52Z Lee 19 [[:en:𑀃]] වෙතින් එක් සංශෝධනයක් 230643 wikitext text/x-wiki {{character info}} ==Sanskrit== ===Letter=== {{head|sa|letter|tr=x}} # the sign {{m|sa|जिह्वामूलीय|tr=jihvā́mūlīya}}, occurring as a result of [[external]] [[sandhi]] between a [[visarga]] and an [[unvoiced]] [[velar]] ({{m|sa|𑀓}}, {{m|sa|𑀔}}) in [[Vedic]] [[Sanskrit]] ja22hmmncx2deyn4ajp6wx08s8b756x 230654 230644 2026-04-05T14:39:35Z Pinthura 2424 යොමු තොරතුරු පරිවර්තනය 230654 wikitext text/x-wiki {{character info}} == සංස්කෘත == === අකුර === {{head|sa|letter|tr=x}} # the sign {{m|sa|जिह्वामूलीय|tr=jihvā́mūlīya}}, occurring as a result of [[external]] [[sandhi]] between a [[visarga]] and an [[unvoiced]] [[velar]] ({{m|sa|𑀓}}, {{m|sa|𑀔}}) in [[Vedic]] [[Sanskrit]] 5u9pj7nnwa4zbszgk5gpew4d03855lz 𑀂 0 141713 230645 2022-06-23T15:56:43Z en>AleksiB 1945 0 230645 wikitext text/x-wiki {{character info}} ==Translingual== ===Glyph origin=== Likely related to other visarga signs, such as {{lang|mul|sc=Deva|[[ः]]}}. ===Letter=== {{head|mul|letter|tr=a}} # {{n-g|The equivalent of the [[visarga]] in the Brahmi script}}. djvl8nry4tyf07px62mf6yt1aiupdgd 230646 230645 2026-04-05T14:37:06Z Lee 19 [[:en:𑀂]] වෙතින් එක් සංශෝධනයක් 230645 wikitext text/x-wiki {{character info}} ==Translingual== ===Glyph origin=== Likely related to other visarga signs, such as {{lang|mul|sc=Deva|[[ः]]}}. ===Letter=== {{head|mul|letter|tr=a}} # {{n-g|The equivalent of the [[visarga]] in the Brahmi script}}. djvl8nry4tyf07px62mf6yt1aiupdgd 230653 230646 2026-04-05T14:39:25Z Pinthura 2424 යොමු තොරතුරු පරිවර්තනය 230653 wikitext text/x-wiki {{character info}} == සර්ව භාෂාමය == ===Glyph origin=== Likely related to other visarga signs, such as {{lang|mul|sc=Deva|[[ः]]}}. === අකුර === {{head|mul|letter|tr=a}} # {{n-g|The equivalent of the [[visarga]] in the Brahmi script}}. cuftrn5dt7sc4gq4ijekr1q6ryw0vo8 𑀁 0 141714 230647 2022-06-23T15:57:10Z en>AleksiB 1945 0 230647 wikitext text/x-wiki {{character info}} ==Translingual== ===Glyph origin=== Likely related to other anusvara signs, such as {{lang|mul|sc=Deva|[[ं]]}}. ===Letter=== {{head|mul|letter}} # {{n-g|The equivalent of the [[anusvara]] in the Brahmi script}}. 4f0kdvdcbzwn6wswr1zvrlw1upgus5b 230648 230647 2026-04-05T14:37:27Z Lee 19 [[:en:𑀁]] වෙතින් එක් සංශෝධනයක් 230647 wikitext text/x-wiki {{character info}} ==Translingual== ===Glyph origin=== Likely related to other anusvara signs, such as {{lang|mul|sc=Deva|[[ं]]}}. ===Letter=== {{head|mul|letter}} # {{n-g|The equivalent of the [[anusvara]] in the Brahmi script}}. 4f0kdvdcbzwn6wswr1zvrlw1upgus5b 230652 230648 2026-04-05T14:39:15Z Pinthura 2424 යොමු තොරතුරු පරිවර්තනය 230652 wikitext text/x-wiki {{character info}} == සර්ව භාෂාමය == ===Glyph origin=== Likely related to other anusvara signs, such as {{lang|mul|sc=Deva|[[ं]]}}. === අකුර === {{head|mul|letter}} # {{n-g|The equivalent of the [[anusvara]] in the Brahmi script}}. 9pfe2x0u5uqyxkqd72fiyil3j2z5gji 𑀀 0 141715 230649 2022-06-23T15:57:29Z en>AleksiB 1945 0 230649 wikitext text/x-wiki {{character info}} ==Translingual== ===Glyph origin=== Likely related to other candrabindu signs, such as {{lang|mul|sc=Deva|[[ँ]]}}. ===Letter=== {{head|mul|letter}} # {{n-g|The equivalent of the [[candrabindu]] in the Brahmi script}}. pwyhenm8sllkvukvd4qszkbrbj1awgq 230650 230649 2026-04-05T14:37:43Z Lee 19 [[:en:𑀀]] වෙතින් එක් සංශෝධනයක් 230649 wikitext text/x-wiki {{character info}} ==Translingual== ===Glyph origin=== Likely related to other candrabindu signs, such as {{lang|mul|sc=Deva|[[ँ]]}}. ===Letter=== {{head|mul|letter}} # {{n-g|The equivalent of the [[candrabindu]] in the Brahmi script}}. pwyhenm8sllkvukvd4qszkbrbj1awgq 230651 230650 2026-04-05T14:39:05Z Pinthura 2424 යොමු තොරතුරු පරිවර්තනය 230651 wikitext text/x-wiki {{character info}} == සර්ව භාෂාමය == ===Glyph origin=== Likely related to other candrabindu signs, such as {{lang|mul|sc=Deva|[[ँ]]}}. === අකුර === {{head|mul|letter}} # {{n-g|The equivalent of the [[candrabindu]] in the Brahmi script}}. ockexbmf9sorpq76qbfxhbg32m28k3c Module:Armi-translit 828 141716 230661 2025-03-06T14:49:17Z en>Theknightwho 0 Remove unnecessary check. 230661 Scribunto text/plain local export = {} local tt = { ["𐡀"] = "ʾ", -- aleph ["𐡁"] = "b", -- beth ["𐡂"] = "g", -- gimel ["𐡃"] = "d", -- daleth ["𐡄"] = "h", -- he ["𐡅"] = "w", -- waw ["𐡆"] = "z", -- zayin ["𐡇"] = "ḥ", -- heth ["𐡈"] = "ṭ", -- teth ["𐡉"] = "y", -- yodh ["𐡊"] = "k", -- khaph ["𐡋"] = "l", -- lamedh ["𐡌"] = "m", -- mem ["𐡍"] = "n", -- nun ["𐡎"] = "s", -- samekh ["𐡏"] = "ʿ", -- ayin ["𐡐"] = "p", -- pe ["𐡑"] = "ṣ", -- sadhe ["𐡒"] = "q", -- qoph ["𐡓"] = "r", -- resh ["𐡔"] = "š", -- shin ["𐡕"] = "t", -- taw ["𐡗"] = "|", -- section sign ["𐡘"] = "1", -- one ["𐡙"] = "2", -- two ["𐡚"] = "3", -- three ["𐡛"] = "10", -- ten ["𐡜"] = "20", -- twenty ["𐡝"] = "100", -- one hundred ["𐡞"] = "1000", -- one thousand ["𐡟"] = "10000", -- ten thousand } function export.tr(text, lang, sc) -- Transliterate characters text = mw.ustring.gsub(text, '.', tt) return text end return export f9nx8ypdsi00mwip7d7tnmfnn6ih4fa 230662 230661 2026-04-05T14:40:37Z Lee 19 [[:en:Module:Armi-translit]] වෙතින් එක් සංශෝධනයක් 230661 Scribunto text/plain local export = {} local tt = { ["𐡀"] = "ʾ", -- aleph ["𐡁"] = "b", -- beth ["𐡂"] = "g", -- gimel ["𐡃"] = "d", -- daleth ["𐡄"] = "h", -- he ["𐡅"] = "w", -- waw ["𐡆"] = "z", -- zayin ["𐡇"] = "ḥ", -- heth ["𐡈"] = "ṭ", -- teth ["𐡉"] = "y", -- yodh ["𐡊"] = "k", -- khaph ["𐡋"] = "l", -- lamedh ["𐡌"] = "m", -- mem ["𐡍"] = "n", -- nun ["𐡎"] = "s", -- samekh ["𐡏"] = "ʿ", -- ayin ["𐡐"] = "p", -- pe ["𐡑"] = "ṣ", -- sadhe ["𐡒"] = "q", -- qoph ["𐡓"] = "r", -- resh ["𐡔"] = "š", -- shin ["𐡕"] = "t", -- taw ["𐡗"] = "|", -- section sign ["𐡘"] = "1", -- one ["𐡙"] = "2", -- two ["𐡚"] = "3", -- three ["𐡛"] = "10", -- ten ["𐡜"] = "20", -- twenty ["𐡝"] = "100", -- one hundred ["𐡞"] = "1000", -- one thousand ["𐡟"] = "10000", -- ten thousand } function export.tr(text, lang, sc) -- Transliterate characters text = mw.ustring.gsub(text, '.', tt) return text end return export f9nx8ypdsi00mwip7d7tnmfnn6ih4fa Module:Shrd-translit 828 141717 230668 2024-08-09T16:09:03Z en>Svartava 0 230668 Scribunto text/plain local export = {} local m_str_utils = require("Module:string utilities") local gsub = m_str_utils.gsub local match = m_str_utils.match local toNFC = mw.ustring.toNFC local u = m_str_utils.char local consonants = { ['𑆑']='k', ['𑆒']='kh', ['𑆓']='g', ['𑆔']='gh', ['𑆕']='ṅ', ['𑆖']='c', ['𑆗']='ch', ['𑆘']='j', ['𑆙']='jh', ['𑆚']='ñ', ['𑆛']='ṭ', ['𑆜']='ṭh', ['𑆝']='ḍ', ['𑆞']='ḍh', ['𑆟']='ṇ', ['𑆠']='t', ['𑆡']='th', ['𑆢']='d', ['𑆣']='dh', ['𑆤']='n', ['𑆥']='p', ['𑆦']='ph', ['𑆧']='b', ['𑆨']='bh', ['𑆩']='m', ['𑆪']='y', ['𑆫']='r', ['𑆬']='l', ['𑆮']='v', ['𑆭']='ḷ', ['𑆯']='ś', ['𑆰']='ṣ', ['𑆱']='s', ['𑆲']='h', } local diacritics = { ['𑆳']='ā', ['𑆴']='i', ['𑆵']='ī', ['𑆶']='u', ['𑆷']='ū', ['𑆸']='ṛ', ['𑆹']='ṝ', ['𑆺']='ḷ', ['𑆻']='ḹ', ['𑆼'] = 'e', ['𑆽']='ai', ['𑆾']='o', ['𑆿']='au', ['𑇀']='', } local diatrema = { ['𑆅']='ï', ['𑆇']='ü', } local tt = { -- vowels ['𑆃']='a', ['𑆄']='ā', ['𑆅']='i', ['𑆆']='ī', ['𑆇']='u', ['𑆈']='ū', ['𑆉']='ṛ', ['𑆊']='ṝ', ['𑆋']='ḷ', ['𑆌']='ḹ', ['𑆍']='e', ['𑆎']='ai', ['𑆏']='o', ['𑆐']='au', -- chandrabindu ['𑆀']='m̐', --until a better method is found -- anusvara ['𑆁']='ṃ', --until a better method is found -- visarga ['𑆂']='ḥ', -- avagraha ['𑇁']='’', --numerals ['𑇐']='0', ['𑇑']='1', ['𑇒']='2', ['𑇓']='3', ['𑇔']='4', ['𑇕']='5', ['𑇖']='6', ['𑇗']='7', ['𑇘']='8', ['𑇙']='9', --punctuation ['𑇆']='.', --double danda ['𑇅']='.', --danda --Vedic extensions ['𑇂']='x', ['𑇃']='f', --Om ['𑇄']='oṃ', --reconstructed ['*'] = '', } function export.tr(text, lang, sc) text = mw.ustring.gsub( text, '([𑆑𑆒𑆓𑆔𑆕𑆖𑆗𑆘𑆙𑆚𑆛𑆜𑆝𑆞𑆟𑆠𑆡𑆢𑆣𑆤𑆥𑆦𑆧𑆨𑆩𑆪𑆫𑆬𑆮𑆭𑆯𑆰𑆱𑆲])'.. '([𑆳𑆴𑆵𑆶𑆷𑆸𑆹𑆺𑆻𑆼𑆽𑆾𑆿𑇀]?)'.. '([𑆅𑆇]?)', function(c, d, e) if d == "" and e ~= "" then return consonants[c] .. 'a' .. diatrema[e] elseif e ~= "" then return consonants[c] .. diacritics[d] .. tt[e] elseif d == "" then return consonants[c] .. 'a' else return consonants[c] .. diacritics[d] end end) -- Adjacent vowel letters needing dieresis text = gsub(text, '([𑆃])([𑆅𑆇])', function(a, b) return tt[a]..diatrema[b] end) text = gsub(text, '.', tt) return text end return export ro5f9x7dky1a1zv6lt96sr6h726kdci 230669 230668 2026-04-05T14:41:26Z Lee 19 [[:en:Module:Shrd-translit]] වෙතින් එක් සංශෝධනයක් 230668 Scribunto text/plain local export = {} local m_str_utils = require("Module:string utilities") local gsub = m_str_utils.gsub local match = m_str_utils.match local toNFC = mw.ustring.toNFC local u = m_str_utils.char local consonants = { ['𑆑']='k', ['𑆒']='kh', ['𑆓']='g', ['𑆔']='gh', ['𑆕']='ṅ', ['𑆖']='c', ['𑆗']='ch', ['𑆘']='j', ['𑆙']='jh', ['𑆚']='ñ', ['𑆛']='ṭ', ['𑆜']='ṭh', ['𑆝']='ḍ', ['𑆞']='ḍh', ['𑆟']='ṇ', ['𑆠']='t', ['𑆡']='th', ['𑆢']='d', ['𑆣']='dh', ['𑆤']='n', ['𑆥']='p', ['𑆦']='ph', ['𑆧']='b', ['𑆨']='bh', ['𑆩']='m', ['𑆪']='y', ['𑆫']='r', ['𑆬']='l', ['𑆮']='v', ['𑆭']='ḷ', ['𑆯']='ś', ['𑆰']='ṣ', ['𑆱']='s', ['𑆲']='h', } local diacritics = { ['𑆳']='ā', ['𑆴']='i', ['𑆵']='ī', ['𑆶']='u', ['𑆷']='ū', ['𑆸']='ṛ', ['𑆹']='ṝ', ['𑆺']='ḷ', ['𑆻']='ḹ', ['𑆼'] = 'e', ['𑆽']='ai', ['𑆾']='o', ['𑆿']='au', ['𑇀']='', } local diatrema = { ['𑆅']='ï', ['𑆇']='ü', } local tt = { -- vowels ['𑆃']='a', ['𑆄']='ā', ['𑆅']='i', ['𑆆']='ī', ['𑆇']='u', ['𑆈']='ū', ['𑆉']='ṛ', ['𑆊']='ṝ', ['𑆋']='ḷ', ['𑆌']='ḹ', ['𑆍']='e', ['𑆎']='ai', ['𑆏']='o', ['𑆐']='au', -- chandrabindu ['𑆀']='m̐', --until a better method is found -- anusvara ['𑆁']='ṃ', --until a better method is found -- visarga ['𑆂']='ḥ', -- avagraha ['𑇁']='’', --numerals ['𑇐']='0', ['𑇑']='1', ['𑇒']='2', ['𑇓']='3', ['𑇔']='4', ['𑇕']='5', ['𑇖']='6', ['𑇗']='7', ['𑇘']='8', ['𑇙']='9', --punctuation ['𑇆']='.', --double danda ['𑇅']='.', --danda --Vedic extensions ['𑇂']='x', ['𑇃']='f', --Om ['𑇄']='oṃ', --reconstructed ['*'] = '', } function export.tr(text, lang, sc) text = mw.ustring.gsub( text, '([𑆑𑆒𑆓𑆔𑆕𑆖𑆗𑆘𑆙𑆚𑆛𑆜𑆝𑆞𑆟𑆠𑆡𑆢𑆣𑆤𑆥𑆦𑆧𑆨𑆩𑆪𑆫𑆬𑆮𑆭𑆯𑆰𑆱𑆲])'.. '([𑆳𑆴𑆵𑆶𑆷𑆸𑆹𑆺𑆻𑆼𑆽𑆾𑆿𑇀]?)'.. '([𑆅𑆇]?)', function(c, d, e) if d == "" and e ~= "" then return consonants[c] .. 'a' .. diatrema[e] elseif e ~= "" then return consonants[c] .. diacritics[d] .. tt[e] elseif d == "" then return consonants[c] .. 'a' else return consonants[c] .. diacritics[d] end end) -- Adjacent vowel letters needing dieresis text = gsub(text, '([𑆃])([𑆅𑆇])', function(a, b) return tt[a]..diatrema[b] end) text = gsub(text, '.', tt) return text end return export ro5f9x7dky1a1zv6lt96sr6h726kdci Module:Shrd-translit/testcases/documentation 828 141718 230671 2024-03-06T04:04:04Z en>WingerBot 0 need a blank line between preceding text and testcase invocation (manually assisted) 230671 wikitext text/x-wiki This is the unit-testing module for [[Module:Shrd-translit]]. {{#invoke:Shrd-translit/testcases|run_tests|differs_at=1}} 45y8y88ui00fl0yl0moxlsuw65moanp 230672 230671 2026-04-05T14:41:42Z Lee 19 [[:en:Module:Shrd-translit/testcases/documentation]] වෙතින් එක් සංශෝධනයක් 230671 wikitext text/x-wiki This is the unit-testing module for [[Module:Shrd-translit]]. {{#invoke:Shrd-translit/testcases|run_tests|differs_at=1}} 45y8y88ui00fl0yl0moxlsuw65moanp Module:Shrd-translit/testcases 828 141719 230673 2024-08-03T10:45:36Z en>Kutchkutch 0 230673 Scribunto text/plain -- Unit tests for [[Module:shrd-translit]]. Refresh page to run tests. local tests = require('Module:UnitTests') local shrd_translit = require('Module:Shrd-translit') local full_link = require('Module:links').full_link local sa = require('Module:languages').getByCode('sa') --TO DO function tests:do_test_translit(sharada, roman) self:equals(sharada, shrd_translit.tr(sharada, 'sa', 'Shrd'), roman) end function tests:test_translit_sharada() local examples = { {'𑆮𑆳𑆑𑇀', 'vāk'}, {'𑆮𑆳𑆑', 'vāka'}, {'𑆃𑆢𑆸𑆰𑇀𑆛', 'adṛṣṭa'}, {'𑆱𑆾𑇁𑆲𑆩𑇀', 'so’ham'}, {'𑆢𑆶𑆂𑆒', 'duḥkha' }, {'𑆃𑆑𑇀𑆒𑆅', 'akkhaï' }, } self:iterate(examples, "do_test_translit") end return tests hwr8z5uway6k8h7s3pgiodprjh6uu5m 230675 230673 2026-04-05T14:41:46Z Lee 19 [[:en:Module:Shrd-translit/testcases]] වෙතින් එක් සංශෝධනයක් 230673 Scribunto text/plain -- Unit tests for [[Module:shrd-translit]]. Refresh page to run tests. local tests = require('Module:UnitTests') local shrd_translit = require('Module:Shrd-translit') local full_link = require('Module:links').full_link local sa = require('Module:languages').getByCode('sa') --TO DO function tests:do_test_translit(sharada, roman) self:equals(sharada, shrd_translit.tr(sharada, 'sa', 'Shrd'), roman) end function tests:test_translit_sharada() local examples = { {'𑆮𑆳𑆑𑇀', 'vāk'}, {'𑆮𑆳𑆑', 'vāka'}, {'𑆃𑆢𑆸𑆰𑇀𑆛', 'adṛṣṭa'}, {'𑆱𑆾𑇁𑆲𑆩𑇀', 'so’ham'}, {'𑆢𑆶𑆂𑆒', 'duḥkha' }, {'𑆃𑆑𑇀𑆒𑆅', 'akkhaï' }, } self:iterate(examples, "do_test_translit") end return tests hwr8z5uway6k8h7s3pgiodprjh6uu5m Module:Shrd-translit/documentation 828 141720 230676 2021-09-05T14:02:41Z en>Kutchkutch 0 Created page with "{{translit module documentation|Shrd}} <includeonly>[[Category:Indo-Aryan transliteration modules]]</includeonly>" 230676 wikitext text/x-wiki {{translit module documentation|Shrd}} <includeonly>[[Category:Indo-Aryan transliteration modules]]</includeonly> 10sxid4bcb25s6gki1e5sszcvldq9bj 230677 230676 2026-04-05T14:41:49Z Lee 19 [[:en:Module:Shrd-translit/documentation]] වෙතින් එක් සංශෝධනයක් 230676 wikitext text/x-wiki {{translit module documentation|Shrd}} <includeonly>[[Category:Indo-Aryan transliteration modules]]</includeonly> 10sxid4bcb25s6gki1e5sszcvldq9bj Module:mr-Modi-translit 828 141721 230682 2024-04-05T03:05:44Z en>Theknightwho 0 Use faster implementation of mw.ustring.char. 230682 Scribunto text/plain local export = {} local u = require("Module:string/char") local gsub = mw.ustring.gsub local find = mw.ustring.find local ZWJ = u(0x200D) local conv = { -- consonants ['𑘎']='k', ['𑘏']='kh', ['𑘐']='g', ['𑘑']='gh', ['𑘒']='ṅ', ['𑘓']='c', ['𑘔']='ch', ['𑘕']='j', ['𑘖']='jh', ['𑘗']='ñ', ['𑘘']='ṭ', ['𑘙']='ṭh', ['𑘚']='ḍ', ['𑘛']='ḍh', ['𑘜']='ṇ', ['𑘝']='t', ['𑘞']='th', ['𑘟']='d', ['𑘠']='dh', ['𑘡']='n', ['𑘢']='p', ['𑘣']='ph', ['𑘤']='b', ['𑘥']='bh', ['𑘦']='m', ['𑘧']='y', ['𑘨']='r', ['𑘩']='l', ['𑘪']='v', ['𑘯']='ḷ', ['𑘫']='ś', ['𑘬']='ṣ', ['𑘭']='s', ['𑘮']='h', ['𑘨𑘿'..ZWJ] = 'r', -- ['𑘕𑘿𑘗'] = 'dny', -- vowel diacritics ---- only in script charts: ['𑘱'] = 'i', ['𑘴'] ='ū', ['𑘳'] = 'u', ['𑘹'] = 'e', ['𑘻'] = 'o', ['𑘰'] = 'ā', ['𑘲'] = 'ī', ['𑘵'] = 'ru', ['𑘺'] = 'ai', ['𑘼'] = 'au', -- ['𑘰𑙀'] = 'ŏ', ['𑙀'] = 'ĕ', -- vowel signs ---- only in script charts: ['𑘂'] = 'i', ['𑘅'] ='ū', ['𑘀'] = 'a', ['𑘄'] = 'u', ['𑘊'] = 'e', ['𑘌'] = 'o', ['𑘁'] = 'ā', ['𑘃'] = 'ī', ['𑘆'] = 'ŕ', ['𑘋'] = 'ai', ['𑘍'] = 'au', ['𑘁𑙀'] = 'ŏ', ['𑘀𑙀'] = 'ĕ', ['𑘊𑙀'] = 'ĕ', ['𑘌𑘦𑘿'] = 'om', -- chandrabindu --- ['𑙀𑘽'] = '̃', -- anusvara ['𑘽'] = 'ṁ', -- visarga ['𑘾'] = 'ḥ', -- virama ['𑘿'] = '', -- numerals ['𑙐'] = '0', ['𑙑'] = '1', ['𑙒'] = '2', ['𑙓'] = '3', ['𑙔'] = '4', ['𑙕'] = '5', ['𑙖'] = '6', ['𑙗'] = '7', ['𑙘'] = '8', ['𑙙'] = '9', -- punctuation ['𑙁'] = '.', -- danda ['𑙂'] = '.', -- double danda ['+'] = '', -- compound separator -- abbreviation sign ['𑙃'] = '.', } local nasal_assim = { ['𑘎'] = '𑘒', ['𑘏'] = '𑘒', ['𑘐'] = '𑘒', ['𑘑'] = '𑘒', ['𑘓'] = '𑘗', ['𑘔'] = '𑘗', ['𑘕'] = '𑘗', ['𑘖'] = '𑘗', ['𑘘'] = '𑘜', ['𑘙'] = '𑘜', ['𑘚'] = '𑘜', ['𑘛'] = '𑘜', ['𑘢'] = '𑘦', ['𑘣'] = '𑘦', ['𑘤'] = '𑘦', ['𑘥'] = '𑘦', ['𑘦'] = '𑘦', ['𑘧'] = 'i', ['𑘨'] = '𑘄', ['𑘩'] = '𑘩', ['𑘪'] = '𑘄', ['𑘫'] = '𑘄', ['𑘬'] = '𑘄', ['𑘭'] = '𑘄', ['𑘮'] = '𑘄', } local perm_cl = { ['𑘦𑘿𑘩'] = true, ['𑘪𑘿𑘩'] = true, ['𑘡𑘿𑘩'] = true, } local all_cons, special_cons = '𑘎𑘏𑘐𑘑𑘒𑘓𑘔𑘕𑘖𑘗𑘘𑘙𑘚𑘛𑘝𑘞𑘟𑘠𑘢𑘣𑘤𑘥𑘫𑘬𑘭𑘧𑘨𑘩𑘪𑘮𑘜𑘡𑘦𑘯', '𑘟𑘝𑘧𑘨𑘩𑘪𑘮𑘡𑘦' local vowel, vowel_sign = '%*a𑘱𑘳𑘵𑘹𑘻𑘰𑘲𑘴𑘺𑘼𑙀', '𑘀𑘂𑘄𑘊𑘌𑘁𑘃𑘅𑘆𑘋𑘍𑘀𑙀' local syncope_pattern = '([' .. vowel .. vowel_sign .. '])([' .. all_cons .. '])a([' .. all_cons .. '])([ं]?[' .. vowel .. vowel_sign .. '])' local function rev_string(text) local char_array, i = {}, 1 for char in string.gmatch(text, "[%z\1-\127\194-\244][\128-\191]*") do -- UTF-8 character pattern char_array[i] = char i = i + 1 end return table.concat(require("Module:table").reverse(char_array)) end function export.tr(text, lang, sc) -- text = gsub(text, 'ाँ', 'ॉ' .. 'ं') -- text = gsub(text, 'ँ', 'ॅ' .. 'ं') text = gsub(text, '([^' .. vowel .. vowel_sign .. '])𑘽 ', '%1𑘀 ') text = gsub(text, '([^' .. vowel .. vowel_sign .. '])𑘽$', '%1𑘀') text = gsub(text, '([' .. all_cons .. '])([' .. vowel .. '𑘿]?)', function(c, d) return c .. (d == "" and 'a' or d) end) for word in mw.ustring.gmatch(text, "[𑘀-𑙙a]+") do local orig_word = word word = rev_string(word) word = gsub(word, '^a([' .. all_cons .. '][' .. vowel .. vowel_sign .. '])', '%1') while find(word, syncope_pattern) do word = gsub(word, syncope_pattern, '%1%2%3%4') end word = gsub(word, '(.?)𑘽(.)', function(succ, prev) return succ .. (succ..prev == "a" and "𑘿𑘦" or (succ == "" and find(prev, '[' .. vowel .. ']') and "̃" or nasal_assim[succ] or "n")) .. prev end) text = gsub(text, orig_word, rev_string(word)) end text = gsub(text, '.', conv) text = gsub(text, 'a([iu])̃', 'a͠%1') text = gsub(text, 'aa', 'a') text = gsub(text, 'ñjñ', 'ndny') text = gsub(text, 'jñ', 'dny') return mw.ustring.toNFC(text) end return export gj5tdm2ion1f1zvtsbr3xcko9tvtngu 230683 230682 2026-04-05T14:44:00Z Lee 19 [[:en:Module:mr-Modi-translit]] වෙතින් එක් සංශෝධනයක් 230682 Scribunto text/plain local export = {} local u = require("Module:string/char") local gsub = mw.ustring.gsub local find = mw.ustring.find local ZWJ = u(0x200D) local conv = { -- consonants ['𑘎']='k', ['𑘏']='kh', ['𑘐']='g', ['𑘑']='gh', ['𑘒']='ṅ', ['𑘓']='c', ['𑘔']='ch', ['𑘕']='j', ['𑘖']='jh', ['𑘗']='ñ', ['𑘘']='ṭ', ['𑘙']='ṭh', ['𑘚']='ḍ', ['𑘛']='ḍh', ['𑘜']='ṇ', ['𑘝']='t', ['𑘞']='th', ['𑘟']='d', ['𑘠']='dh', ['𑘡']='n', ['𑘢']='p', ['𑘣']='ph', ['𑘤']='b', ['𑘥']='bh', ['𑘦']='m', ['𑘧']='y', ['𑘨']='r', ['𑘩']='l', ['𑘪']='v', ['𑘯']='ḷ', ['𑘫']='ś', ['𑘬']='ṣ', ['𑘭']='s', ['𑘮']='h', ['𑘨𑘿'..ZWJ] = 'r', -- ['𑘕𑘿𑘗'] = 'dny', -- vowel diacritics ---- only in script charts: ['𑘱'] = 'i', ['𑘴'] ='ū', ['𑘳'] = 'u', ['𑘹'] = 'e', ['𑘻'] = 'o', ['𑘰'] = 'ā', ['𑘲'] = 'ī', ['𑘵'] = 'ru', ['𑘺'] = 'ai', ['𑘼'] = 'au', -- ['𑘰𑙀'] = 'ŏ', ['𑙀'] = 'ĕ', -- vowel signs ---- only in script charts: ['𑘂'] = 'i', ['𑘅'] ='ū', ['𑘀'] = 'a', ['𑘄'] = 'u', ['𑘊'] = 'e', ['𑘌'] = 'o', ['𑘁'] = 'ā', ['𑘃'] = 'ī', ['𑘆'] = 'ŕ', ['𑘋'] = 'ai', ['𑘍'] = 'au', ['𑘁𑙀'] = 'ŏ', ['𑘀𑙀'] = 'ĕ', ['𑘊𑙀'] = 'ĕ', ['𑘌𑘦𑘿'] = 'om', -- chandrabindu --- ['𑙀𑘽'] = '̃', -- anusvara ['𑘽'] = 'ṁ', -- visarga ['𑘾'] = 'ḥ', -- virama ['𑘿'] = '', -- numerals ['𑙐'] = '0', ['𑙑'] = '1', ['𑙒'] = '2', ['𑙓'] = '3', ['𑙔'] = '4', ['𑙕'] = '5', ['𑙖'] = '6', ['𑙗'] = '7', ['𑙘'] = '8', ['𑙙'] = '9', -- punctuation ['𑙁'] = '.', -- danda ['𑙂'] = '.', -- double danda ['+'] = '', -- compound separator -- abbreviation sign ['𑙃'] = '.', } local nasal_assim = { ['𑘎'] = '𑘒', ['𑘏'] = '𑘒', ['𑘐'] = '𑘒', ['𑘑'] = '𑘒', ['𑘓'] = '𑘗', ['𑘔'] = '𑘗', ['𑘕'] = '𑘗', ['𑘖'] = '𑘗', ['𑘘'] = '𑘜', ['𑘙'] = '𑘜', ['𑘚'] = '𑘜', ['𑘛'] = '𑘜', ['𑘢'] = '𑘦', ['𑘣'] = '𑘦', ['𑘤'] = '𑘦', ['𑘥'] = '𑘦', ['𑘦'] = '𑘦', ['𑘧'] = 'i', ['𑘨'] = '𑘄', ['𑘩'] = '𑘩', ['𑘪'] = '𑘄', ['𑘫'] = '𑘄', ['𑘬'] = '𑘄', ['𑘭'] = '𑘄', ['𑘮'] = '𑘄', } local perm_cl = { ['𑘦𑘿𑘩'] = true, ['𑘪𑘿𑘩'] = true, ['𑘡𑘿𑘩'] = true, } local all_cons, special_cons = '𑘎𑘏𑘐𑘑𑘒𑘓𑘔𑘕𑘖𑘗𑘘𑘙𑘚𑘛𑘝𑘞𑘟𑘠𑘢𑘣𑘤𑘥𑘫𑘬𑘭𑘧𑘨𑘩𑘪𑘮𑘜𑘡𑘦𑘯', '𑘟𑘝𑘧𑘨𑘩𑘪𑘮𑘡𑘦' local vowel, vowel_sign = '%*a𑘱𑘳𑘵𑘹𑘻𑘰𑘲𑘴𑘺𑘼𑙀', '𑘀𑘂𑘄𑘊𑘌𑘁𑘃𑘅𑘆𑘋𑘍𑘀𑙀' local syncope_pattern = '([' .. vowel .. vowel_sign .. '])([' .. all_cons .. '])a([' .. all_cons .. '])([ं]?[' .. vowel .. vowel_sign .. '])' local function rev_string(text) local char_array, i = {}, 1 for char in string.gmatch(text, "[%z\1-\127\194-\244][\128-\191]*") do -- UTF-8 character pattern char_array[i] = char i = i + 1 end return table.concat(require("Module:table").reverse(char_array)) end function export.tr(text, lang, sc) -- text = gsub(text, 'ाँ', 'ॉ' .. 'ं') -- text = gsub(text, 'ँ', 'ॅ' .. 'ं') text = gsub(text, '([^' .. vowel .. vowel_sign .. '])𑘽 ', '%1𑘀 ') text = gsub(text, '([^' .. vowel .. vowel_sign .. '])𑘽$', '%1𑘀') text = gsub(text, '([' .. all_cons .. '])([' .. vowel .. '𑘿]?)', function(c, d) return c .. (d == "" and 'a' or d) end) for word in mw.ustring.gmatch(text, "[𑘀-𑙙a]+") do local orig_word = word word = rev_string(word) word = gsub(word, '^a([' .. all_cons .. '][' .. vowel .. vowel_sign .. '])', '%1') while find(word, syncope_pattern) do word = gsub(word, syncope_pattern, '%1%2%3%4') end word = gsub(word, '(.?)𑘽(.)', function(succ, prev) return succ .. (succ..prev == "a" and "𑘿𑘦" or (succ == "" and find(prev, '[' .. vowel .. ']') and "̃" or nasal_assim[succ] or "n")) .. prev end) text = gsub(text, orig_word, rev_string(word)) end text = gsub(text, '.', conv) text = gsub(text, 'a([iu])̃', 'a͠%1') text = gsub(text, 'aa', 'a') text = gsub(text, 'ñjñ', 'ndny') text = gsub(text, 'jñ', 'dny') return mw.ustring.toNFC(text) end return export gj5tdm2ion1f1zvtsbr3xcko9tvtngu Module:mr-Modi-translit/testcases/documentation 828 141722 230684 2024-03-06T04:03:51Z en>WingerBot 0 need a blank line between preceding text and testcase invocation (manually assisted) 230684 wikitext text/x-wiki This is the unit-testing module for [[Module:mr-Modi-translit]]. {{#invoke:mr-Modi-translit/testcases|run_tests|differs_at=1|comments=1}} d3885ojl6p40t7t66ten7hnqe9d91q7 230685 230684 2026-04-05T14:44:18Z Lee 19 [[:en:Module:mr-Modi-translit/testcases/documentation]] වෙතින් එක් සංශෝධනයක් 230684 wikitext text/x-wiki This is the unit-testing module for [[Module:mr-Modi-translit]]. {{#invoke:mr-Modi-translit/testcases|run_tests|differs_at=1|comments=1}} d3885ojl6p40t7t66ten7hnqe9d91q7 Module:mr-Modi-translit/testcases 828 141723 230686 2022-02-15T07:40:55Z en>Kutchkutch 0 230686 Scribunto text/plain -- Unit tests for [[Module:mr-Modi-translit]]. Refresh page to run tests. local tests = require('Module:UnitTests') local mr_translit = require('Module:mr-Modi-translit') --TO DO function tests:do_test_translit(modi, roman, comment) self:equals( '<span class="Modi" lang="mr">[[' .. modi .. '#Marathi|' .. modi .. ']]</span>', mr_translit.tr(modi, 'mr', 'Modi'), roman, { comment = comment }) end function tests:test_translit_marathi() local examples = { --Fundamental tests { '𑘥𑘰𑘨𑘝', 'bhārat' }, { '𑘦𑘨𑘰𑘙𑘲', 'marāṭhī' }, { '𑘮𑘵𑘟𑘧', 'hruday' }, } self:iterate(examples, 'do_test_translit') end return tests 0q1y8nnp7ok71zuqhvnzbr7lj215nvs 230687 230686 2026-04-05T14:44:22Z Lee 19 [[:en:Module:mr-Modi-translit/testcases]] වෙතින් එක් සංශෝධනයක් 230686 Scribunto text/plain -- Unit tests for [[Module:mr-Modi-translit]]. Refresh page to run tests. local tests = require('Module:UnitTests') local mr_translit = require('Module:mr-Modi-translit') --TO DO function tests:do_test_translit(modi, roman, comment) self:equals( '<span class="Modi" lang="mr">[[' .. modi .. '#Marathi|' .. modi .. ']]</span>', mr_translit.tr(modi, 'mr', 'Modi'), roman, { comment = comment }) end function tests:test_translit_marathi() local examples = { --Fundamental tests { '𑘥𑘰𑘨𑘝', 'bhārat' }, { '𑘦𑘨𑘰𑘙𑘲', 'marāṭhī' }, { '𑘮𑘵𑘟𑘧', 'hruday' }, } self:iterate(examples, 'do_test_translit') end return tests 0q1y8nnp7ok71zuqhvnzbr7lj215nvs Module:mr-Modi-translit/documentation 828 141724 230688 2022-02-15T07:26:18Z en>Kutchkutch 0 Created page with "{{translit module documentation|mr}} <includeonly>[[Category:Indo-Aryan transliteration modules]]</includeonly>" 230688 wikitext text/x-wiki {{translit module documentation|mr}} <includeonly>[[Category:Indo-Aryan transliteration modules]]</includeonly> q0o0zky03a7cgkcb33sumbtojqo1hoz 230689 230688 2026-04-05T14:44:26Z Lee 19 [[:en:Module:mr-Modi-translit/documentation]] වෙතින් එක් සංශෝධනයක් 230688 wikitext text/x-wiki {{translit module documentation|mr}} <includeonly>[[Category:Indo-Aryan transliteration modules]]</includeonly> q0o0zky03a7cgkcb33sumbtojqo1hoz ලසසපය 0 141725 230690 2026-04-05T15:09:32Z WrdSrchSi 3305 Page created: + etymon|si + IPA|si + head|si|proper noun + definition 230690 wikitext text/x-wiki == සිංහල == === නිරුක්තිය === {{etymon|si|id=ලසසප අ|af|si>ලසසප#නාම ප්‍රකෘතිය>ප්‍රකෘතිය|si>-අ>ප්‍රත්‍ය|tree=1}} ''[[ලසසප#නාම ප්‍රකෘතිය|ලසසප]] (ප්‍රකෘතිය) + [[-අ]] (ප්‍රත්‍යය) > ලසසප + '''ය්''' ([[ව්‍යඤ්ජනාගමනය]]) + -අ >'' [[ලසසපය]] ===උච්චාරණය=== * {{IPA|si|/ˈlasəsapəjə/}} === සංඥා නාම පදය === {{head|si|proper noun}} # ලංකා සම සමාජ පක්ෂය. <!-- ==== පරිවර්තන ==== {{trans-top|පරිවර්තන}} * ඉංග්‍රීසි: {{t|en|<<ඉංග්‍රීසි වචනය>>}} {{trans-bottom}} === අමතර අවධානයට === * {{l|si|<<ආශ්‍රිත පවතින වෙනත් වචන>>}} --> nefy2d1dsgdmndlnu5nstjvmmhwwcta බවුවා 0 141726 230691 2026-04-05T15:20:01Z WrdSrchSi 3305 Page created: + වෙනත් ආකාර + IPA|si + definition 230691 wikitext text/x-wiki == සිංහල == ===වෙනත් ආකාර=== * {{l|si|බව්වා#නාම පදය|බව්වා}} === නිරුක්තිය === {{rfe|si}} ===උච්චාරණය=== * {{IPA|si|/ˈbaʋuʋaː/}} === නාම පදය === {{si-noun|බවුවෝ}} # කුඩා දරුවන් ගේ බසෙහි [[බල්ලා]] සඳහා යෙදෙයි. <!-- ==== පරිවර්තන ==== {{trans-top|පරිවර්තන}} * ඉංග්‍රීසි: {{t|en|<<ඉංග්‍රීසි වචනය>>}} {{trans-bottom}} === අමතර අවධානයට === * {{l|si|<<ආශ්‍රිත පවතින වෙනත් වචන>>}} --> q2fe2fjz184vzxjfapi29fqzns0ld7v අටළොස් 0 141727 230692 2026-04-06T10:23:18Z Lee 19 '== සිංහල == === නිරුක්තිය === {{rfe|si}} === නාම පදය === {{si-noun}} # {{rfdef|si}} <!-- ==== පරිවර්තන ==== {{trans-top|පරිවර්තන}} * ඉංග්‍රීසි: {{t|en|<<ඉංග්‍රීසි වචනය>>}} {{trans-bottom}} === අමතර අවධානයට === * {{l|si|<<ආශ්‍රිත පවතින වෙනත් ව...' යොදමින් නව පිටුවක් තනන ලදි 230692 wikitext text/x-wiki == සිංහල == === නිරුක්තිය === {{rfe|si}} === නාම පදය === {{si-noun}} # {{rfdef|si}} <!-- ==== පරිවර්තන ==== {{trans-top|පරිවර්තන}} * ඉංග්‍රීසි: {{t|en|<<ඉංග්‍රීසි වචනය>>}} {{trans-bottom}} === අමතර අවධානයට === * {{l|si|<<ආශ්‍රිත පවතින වෙනත් වචන>>}} --> 37g9s13iio6w9i2yw7aw46v28viw7h4