<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://test.st34an.tech/index.php?action=history&amp;feed=atom&amp;title=Module%3ALanguages%2Fdata</id>
	<title>Module:Languages/data - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://test.st34an.tech/index.php?action=history&amp;feed=atom&amp;title=Module%3ALanguages%2Fdata"/>
	<link rel="alternate" type="text/html" href="https://test.st34an.tech/index.php?title=Module:Languages/data&amp;action=history"/>
	<updated>2026-04-10T18:58:34Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://test.st34an.tech/index.php?title=Module:Languages/data&amp;diff=11&amp;oldid=prev</id>
		<title>Jsrs701: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://test.st34an.tech/index.php?title=Module:Languages/data&amp;diff=11&amp;oldid=prev"/>
		<updated>2026-04-10T07:25:45Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 07:25, 10 April 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key mediawikidb:diff:1.41:old-10:rev-11 --&gt;
&lt;/table&gt;</summary>
		<author><name>Jsrs701</name></author>
	</entry>
	<entry>
		<id>https://test.st34an.tech/index.php?title=Module:Languages/data&amp;diff=10&amp;oldid=prev</id>
		<title>bob&gt;Djpwikiadmin: Replaced content with &quot;local table = table local insert = table.insert local u = mw.ustring.char  local export = {}  -- UTF-8 encoded strings for some commonly-used diacritics. local c = { 	grav...&quot;</title>
		<link rel="alternate" type="text/html" href="https://test.st34an.tech/index.php?title=Module:Languages/data&amp;diff=10&amp;oldid=prev"/>
		<updated>2023-09-07T02:11:44Z</updated>

		<summary type="html">&lt;p&gt;Replaced content with &amp;quot;local table = table local insert = table.insert local u = mw.ustring.char  local export = {}  -- UTF-8 encoded strings for some commonly-used diacritics. local c = { 	grav...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local table = table&lt;br /&gt;
local insert = table.insert&lt;br /&gt;
local u = mw.ustring.char&lt;br /&gt;
&lt;br /&gt;
local export = {}&lt;br /&gt;
&lt;br /&gt;
-- UTF-8 encoded strings for some commonly-used diacritics.&lt;br /&gt;
local c = {&lt;br /&gt;
	grave			= u(0x0300),&lt;br /&gt;
	acute			= u(0x0301),&lt;br /&gt;
	circ			= u(0x0302),&lt;br /&gt;
	tilde			= u(0x0303),&lt;br /&gt;
	macron			= u(0x0304),&lt;br /&gt;
	overline		= u(0x0305),&lt;br /&gt;
	breve			= u(0x0306),&lt;br /&gt;
	dotabove		= u(0x0307),&lt;br /&gt;
	diaer			= u(0x0308),&lt;br /&gt;
	ringabove		= u(0x030A),&lt;br /&gt;
	dacute			= u(0x030B),&lt;br /&gt;
	caron			= u(0x030C),&lt;br /&gt;
	lineabove		= u(0x030D),&lt;br /&gt;
	dgrave			= u(0x030F),&lt;br /&gt;
	invbreve		= u(0x0311),&lt;br /&gt;
	commaabove		= u(0x0313),&lt;br /&gt;
	revcommaabove	= u(0x0314),&lt;br /&gt;
	dotbelow		= u(0x0323),&lt;br /&gt;
	diaerbelow		= u(0x0324),&lt;br /&gt;
	ringbelow		= u(0x0325),&lt;br /&gt;
	cedilla			= u(0x0327),&lt;br /&gt;
	ogonek			= u(0x0328),&lt;br /&gt;
	brevebelow		= u(0x032E),&lt;br /&gt;
	macronbelow		= u(0x0331),&lt;br /&gt;
	perispomeni		= u(0x0342),&lt;br /&gt;
	ypogegrammeni	= u(0x0345),&lt;br /&gt;
	CGJ				= u(0x034F), -- combining grapheme joiner&lt;br /&gt;
	dbrevebelow		= u(0x035C),&lt;br /&gt;
	dinvbreve		= u(0x0361),&lt;br /&gt;
	kamora          = u(0x0484),&lt;br /&gt;
	dasiapneumata   = u(0x0485),&lt;br /&gt;
	psilipneumata   = u(0x0486),&lt;br /&gt;
	kashida			= u(0x0640),&lt;br /&gt;
	fathatan		= u(0x064B),&lt;br /&gt;
	dammatan		= u(0x064C),&lt;br /&gt;
	kasratan		= u(0x064D),&lt;br /&gt;
	fatha			= u(0x064E),&lt;br /&gt;
	damma			= u(0x064F),&lt;br /&gt;
	kasra			= u(0x0650),&lt;br /&gt;
	shadda			= u(0x0651),&lt;br /&gt;
	sukun			= u(0x0652),&lt;br /&gt;
	hamzaabove		= u(0x0654),&lt;br /&gt;
	nunghunna		= u(0x0658),&lt;br /&gt;
	smallv			= u(0x065A),&lt;br /&gt;
	superalef		= u(0x0670),&lt;br /&gt;
	psili			= u(0x1FBD),&lt;br /&gt;
	coronis			= u(0x1FBF),&lt;br /&gt;
	ZWNJ			= u(0x200C), -- zero width non-joiner&lt;br /&gt;
	ZWJ				= u(0x200D), -- zero width joiner&lt;br /&gt;
	RSQuo			= u(0x2019), -- right single quote&lt;br /&gt;
	VS01			= u(0xFE00), -- variation selector 1&lt;br /&gt;
	-- Punctuation for the standardChars field.&lt;br /&gt;
	punc			= &amp;quot; &amp;#039;,%-–…∅&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
-- Braille characters for the standardChars field.&lt;br /&gt;
local braille = {}&lt;br /&gt;
for i = 0x2800, 0x28FF do&lt;br /&gt;
	insert(braille, u(i))&lt;br /&gt;
end&lt;br /&gt;
c.braille = table.concat(braille)&lt;br /&gt;
export.chars = c&lt;br /&gt;
&lt;br /&gt;
-- PUA characters, generally used in sortkeys.&lt;br /&gt;
-- Note: if the limit needs to be increased, do so in powers of 2 (due to the way memory is allocated for tables).&lt;br /&gt;
local p = {}&lt;br /&gt;
for i = 1, 32 do&lt;br /&gt;
	p[i] = u(0xF000+i-1)&lt;br /&gt;
end&lt;br /&gt;
export.puaChars = p&lt;br /&gt;
&lt;br /&gt;
local s = {}&lt;br /&gt;
-- These values are placed here to make it possible to synchronise a group of languages without the need for a dedicated function module.&lt;br /&gt;
&lt;br /&gt;
s[&amp;quot;cau-Cyrl-displaytext&amp;quot;] = {&lt;br /&gt;
	from = {&amp;quot;[IlІӀ]&amp;quot;, &amp;quot;ᴴ&amp;quot;},&lt;br /&gt;
	to = {&amp;quot;ӏ&amp;quot;, &amp;quot;ᵸ&amp;quot;}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
s[&amp;quot;cau-Cyrl-entryname&amp;quot;] = {&lt;br /&gt;
	remove_diacritics = c.grave .. c.acute .. c.macron,&lt;br /&gt;
	from = s[&amp;quot;cau-Cyrl-displaytext&amp;quot;].from,&lt;br /&gt;
	to = s[&amp;quot;cau-Cyrl-displaytext&amp;quot;].to&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
s[&amp;quot;cau-Latn-entryname&amp;quot;] = {remove_diacritics = c.grave .. c.acute .. c.macron}&lt;br /&gt;
&lt;br /&gt;
s[&amp;quot;Cyrs-entryname&amp;quot;] = {remove_diacritics = c.grave .. c.acute ..  c.diaer .. c.kamora .. c.dasiapneumata .. c.psilipneumata}&lt;br /&gt;
&lt;br /&gt;
s[&amp;quot;Cyrs-sortkey&amp;quot;] = {&lt;br /&gt;
	from = {&lt;br /&gt;
		&amp;quot;ї&amp;quot;, &amp;quot;оу&amp;quot;, -- 2 chars&lt;br /&gt;
		&amp;quot;ґ&amp;quot;, &amp;quot;ꙣ&amp;quot;, &amp;quot;є&amp;quot;, &amp;quot;[ѕꙃꙅ]&amp;quot;, &amp;quot;ꙁ&amp;quot;, &amp;quot;[іꙇ]&amp;quot;, &amp;quot;[ђꙉ]&amp;quot;, &amp;quot;[ѻꙩꙫꙭꙮꚙꚛ]&amp;quot;, &amp;quot;ꙋ&amp;quot;, &amp;quot;[ѡѿꙍѽ]&amp;quot;, &amp;quot;ꙑ&amp;quot;, &amp;quot;ѣ&amp;quot;, &amp;quot;ꙗ&amp;quot;, &amp;quot;ѥ&amp;quot;, &amp;quot;ꙕ&amp;quot;, &amp;quot;[ѧꙙ]&amp;quot;, &amp;quot;[ѩꙝ]&amp;quot;, &amp;quot;ꙛ&amp;quot;, &amp;quot;ѫ&amp;quot;, &amp;quot;ѭ&amp;quot;, &amp;quot;ѯ&amp;quot;, &amp;quot;ѱ&amp;quot;, &amp;quot;ѳ&amp;quot;, &amp;quot;ѵ&amp;quot;, &amp;quot;ҁ&amp;quot; -- 1 char&lt;br /&gt;
	},&lt;br /&gt;
	to = {&lt;br /&gt;
		&amp;quot;и&amp;quot; .. p[1], &amp;quot;у&amp;quot;,&lt;br /&gt;
		&amp;quot;г&amp;quot; .. p[1], &amp;quot;д&amp;quot; .. p[1], &amp;quot;е&amp;quot;, &amp;quot;ж&amp;quot; .. p[1], &amp;quot;з&amp;quot;, &amp;quot;и&amp;quot; .. p[1], &amp;quot;и&amp;quot; .. p[2], &amp;quot;о&amp;quot;, &amp;quot;у&amp;quot;, &amp;quot;х&amp;quot; .. p[1], &amp;quot;ы&amp;quot;, &amp;quot;ь&amp;quot; .. p[1], &amp;quot;ь&amp;quot; .. p[2], &amp;quot;ь&amp;quot; .. p[3], &amp;quot;ю&amp;quot;, &amp;quot;я&amp;quot;, &amp;quot;я&amp;quot; .. p[1], &amp;quot;я&amp;quot; .. p[2], &amp;quot;я&amp;quot; .. p[3], &amp;quot;я&amp;quot; .. p[4], &amp;quot;я&amp;quot; .. p[5], &amp;quot;я&amp;quot; .. p[6], &amp;quot;я&amp;quot; .. p[7], &amp;quot;я&amp;quot; .. p[8], &amp;quot;я&amp;quot; .. p[9]&lt;br /&gt;
	},&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
s[&amp;quot;Grek-sortkey&amp;quot;] = {&lt;br /&gt;
	remove_diacritics = c.grave .. c.acute .. c.diaer .. c.caron .. c.commaabove .. c.revcommaabove .. c.diaerbelow .. c.brevebelow .. c.perispomeni .. c.ypogegrammeni,&lt;br /&gt;
	from = {&amp;quot;ς&amp;quot;},&lt;br /&gt;
	to = {&amp;quot;σ&amp;quot;}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
s[&amp;quot;Jpan-sortkey&amp;quot;] = {&lt;br /&gt;
	Jpan = &amp;quot;Jpan-sortkey&amp;quot;,&lt;br /&gt;
	Hani = &amp;quot;Hani-sortkey&amp;quot;,&lt;br /&gt;
	Hrkt = &amp;quot;Hira-sortkey&amp;quot;, -- sort general kana by normalizing to Hira&lt;br /&gt;
	Hira = &amp;quot;Hira-sortkey&amp;quot;,&lt;br /&gt;
	Kana = &amp;quot;Kana-sortkey&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
s[&amp;quot;Jpan-translit&amp;quot;] = {&lt;br /&gt;
	Hrkt = &amp;quot;Hrkt-translit&amp;quot;,&lt;br /&gt;
	Hira = &amp;quot;Hrkt-translit&amp;quot;,&lt;br /&gt;
	Kana = &amp;quot;Hrkt-translit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local HaniChars = require(&amp;quot;Module:scripts&amp;quot;).getByCode(&amp;quot;Hani&amp;quot;):getCharacters()&lt;br /&gt;
s[&amp;quot;Kore-entryname&amp;quot;] = {&lt;br /&gt;
	remove_diacritics = u(0x302E) .. u(0x302F),&lt;br /&gt;
	from = {&amp;quot;([&amp;quot; .. HaniChars .. &amp;quot;])%(.-%)&amp;quot;, &amp;quot;(.)%-(.)&amp;quot;, &amp;quot;%([&amp;quot; .. HaniChars .. &amp;quot;]+%)&amp;quot;},&lt;br /&gt;
	to = {&amp;quot;%1&amp;quot;, &amp;quot;%1%2&amp;quot;}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
s[&amp;quot;Mong-displaytext&amp;quot;] = {&lt;br /&gt;
	from = {&amp;quot;([ᠨ-ᡂᡸ])ᠶ([ᠨ-ᡂᡸ])&amp;quot;, &amp;quot;([ᠠ-ᡂᡸ])ᠸ([^᠋ᠠ-ᠧ])&amp;quot;, &amp;quot;([ᠠ-ᡂᡸ])ᠸ$&amp;quot;},&lt;br /&gt;
	to = {&amp;quot;%1ᠢ%2&amp;quot;, &amp;quot;%1ᠧ%2&amp;quot;, &amp;quot;%1ᠧ&amp;quot;}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
s[&amp;quot;Mong-entryname&amp;quot;] = s[&amp;quot;Mong-displaytext&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
s[&amp;quot;roa-oil-sortkey&amp;quot;] = {&lt;br /&gt;
	remove_diacritics = c.grave .. c.acute .. c.circ .. c.diaer .. c.ringabove .. c.cedilla .. &amp;quot;&amp;#039;&amp;quot;,&lt;br /&gt;
	from = {&amp;quot;æ&amp;quot;, &amp;quot;œ&amp;quot;},&lt;br /&gt;
	to = {&amp;quot;ae&amp;quot;, &amp;quot;oe&amp;quot;}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
s[&amp;quot;Tibt-displaytext&amp;quot;] = {&lt;br /&gt;
	from = {&amp;quot;ༀ&amp;quot;, &amp;quot;༌&amp;quot;, &amp;quot;།།&amp;quot;, &amp;quot;༚༚&amp;quot;, &amp;quot;༚༝&amp;quot;, &amp;quot;༝༚&amp;quot;, &amp;quot;༝༝&amp;quot;, &amp;quot;ཷ&amp;quot;, &amp;quot;ཹ&amp;quot;, &amp;quot;ེེ&amp;quot;, &amp;quot;ོོ&amp;quot;},&lt;br /&gt;
	to = {&amp;quot;ཨོཾ&amp;quot;, &amp;quot;་&amp;quot;, &amp;quot;༎&amp;quot;, &amp;quot;༛&amp;quot;, &amp;quot;༟&amp;quot;, &amp;quot;࿎&amp;quot;, &amp;quot;༞&amp;quot;, &amp;quot;ྲཱྀ&amp;quot;, &amp;quot;ླཱྀ&amp;quot;, &amp;quot;ཻ&amp;quot;, &amp;quot;ཽ&amp;quot;}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
s[&amp;quot;Tibt-entryname&amp;quot;] = s[&amp;quot;Tibt-displaytext&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
s[&amp;quot;wen-sortkey&amp;quot;] = {&lt;br /&gt;
	from = {&lt;br /&gt;
		&amp;quot;l&amp;quot;, -- Ensure &amp;quot;l&amp;quot; comes after &amp;quot;ł&amp;quot;.&lt;br /&gt;
		&amp;quot;b́&amp;quot;, &amp;quot;č&amp;quot;, &amp;quot;ć&amp;quot;, &amp;quot;dź&amp;quot;, &amp;quot;ě&amp;quot;, &amp;quot;f́&amp;quot;, &amp;quot;ch&amp;quot;, &amp;quot;ł&amp;quot;, &amp;quot;ḿ&amp;quot;, &amp;quot;ń&amp;quot;, &amp;quot;ó&amp;quot;, &amp;quot;ṕ&amp;quot;, &amp;quot;ř&amp;quot;, &amp;quot;ŕ&amp;quot;, &amp;quot;š&amp;quot;, &amp;quot;ś&amp;quot;, &amp;quot;ẃ&amp;quot;, &amp;quot;ž&amp;quot;, &amp;quot;ż&amp;quot;, &amp;quot;ź&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	to = {&lt;br /&gt;
		&amp;quot;l&amp;quot; .. p[1],&lt;br /&gt;
		&amp;quot;b&amp;quot; .. p[1], &amp;quot;c&amp;quot; .. p[1], &amp;quot;c&amp;quot; .. p[2], &amp;quot;d&amp;quot; .. p[1], &amp;quot;e&amp;quot; .. p[1], &amp;quot;f&amp;quot; .. p[1], &amp;quot;h&amp;quot; .. p[1], &amp;quot;l&amp;quot;, &amp;quot;m&amp;quot; .. p[1], &amp;quot;n&amp;quot; .. p[1], &amp;quot;o&amp;quot; .. p[1], &amp;quot;p&amp;quot; .. p[1], &amp;quot;r&amp;quot; .. p[1], &amp;quot;r&amp;quot; .. p[2], &amp;quot;s&amp;quot; .. p[1], &amp;quot;s&amp;quot; .. p[2], &amp;quot;w&amp;quot; .. p[1], &amp;quot;z&amp;quot; .. p[1], &amp;quot;z&amp;quot; .. p[2], &amp;quot;z&amp;quot; .. p[3]&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
export.shared = s&lt;br /&gt;
&lt;br /&gt;
-- Short-term solution to override the standard substitution process, by forcing the module to substitute the entire text in one pass. This results in any PUA characters that are used as stand-ins for formatting being handled by the language-specific substitution process, which is usually undesirable.&lt;br /&gt;
-- This override is provided for languages which use formatting between strings of text which might need to interact with each other (e.g. Korean 값이 transliterates as &amp;quot;gaps-i&amp;quot;, but [[값]] has the formatting &amp;#039;&amp;#039;&amp;#039;값&amp;#039;&amp;#039;&amp;#039;[[-이]]. The normal process would split the text at the second &amp;#039;&amp;#039;&amp;#039;.)&lt;br /&gt;
export.contiguous_substitution = {&lt;br /&gt;
	[&amp;quot;ja&amp;quot;] = &amp;quot;tr&amp;quot;,&lt;br /&gt;
	[&amp;quot;jje&amp;quot;] = &amp;quot;tr&amp;quot;,&lt;br /&gt;
	[&amp;quot;ko&amp;quot;] = &amp;quot;tr&amp;quot;,&lt;br /&gt;
	[&amp;quot;ru&amp;quot;] = &amp;quot;tr&amp;quot;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
return export&lt;/div&gt;</summary>
		<author><name>bob&gt;Djpwikiadmin</name></author>
	</entry>
</feed>