<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://yezur.xyz/w/index.php?action=history&amp;feed=atom&amp;title=Module%3ABesoh</id>
	<title>Module:Besoh - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://yezur.xyz/w/index.php?action=history&amp;feed=atom&amp;title=Module%3ABesoh"/>
	<link rel="alternate" type="text/html" href="https://yezur.xyz/w/index.php?title=Module:Besoh&amp;action=history"/>
	<updated>2026-08-29T02:56:04Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://yezur.xyz/w/index.php?title=Module:Besoh&amp;diff=5910&amp;oldid=prev</id>
		<title>Thiorosan: Pluralization update: word-final e/o merge into -u (operator ruling, per CWS table rules)</title>
		<link rel="alternate" type="text/html" href="https://yezur.xyz/w/index.php?title=Module:Besoh&amp;diff=5910&amp;oldid=prev"/>
		<updated>2026-08-06T13:22:44Z</updated>

		<summary type="html">&lt;p&gt;Pluralization update: word-final e/o merge into -u (operator ruling, per CWS table rules)&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 13:22, 6 August 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l13&quot;&gt;Line 13:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 13:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;function p._plural(w)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;function p._plural(w)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	local last = U.sub(w, -1)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	if last == &quot;e&quot; or last == &quot;o&quot; then&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		return U.sub(w, 1, -2) .. &quot;u&quot;       -- final e/o merge into the -u&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	end&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	return w .. (ends_vowel(w) and &amp;quot;&amp;#039;u&amp;quot; or &amp;quot;u&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	return w .. (ends_vowel(w) and &amp;quot;&amp;#039;u&amp;quot; or &amp;quot;u&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;end&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;end&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Thiorosan</name></author>
	</entry>
	<entry>
		<id>https://yezur.xyz/w/index.php?title=Module:Besoh&amp;diff=4775&amp;oldid=prev</id>
		<title>Thiorosan: Link all single-word inflected forms (dative, locative, stative); periphrastic perfect stays unlinked (operator request)</title>
		<link rel="alternate" type="text/html" href="https://yezur.xyz/w/index.php?title=Module:Besoh&amp;diff=4775&amp;oldid=prev"/>
		<updated>2026-08-06T09:16:49Z</updated>

		<summary type="html">&lt;p&gt;Link all single-word inflected forms (dative, locative, stative); periphrastic perfect stays unlinked (operator request)&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 09:16, 6 August 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l84&quot;&gt;Line 84:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 84:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&amp;#039;| &amp;#039; .. cell(w, false) .. &amp;#039; || &amp;#039; .. cell(p._plural(w), true),&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&amp;#039;| &amp;#039; .. cell(w, false) .. &amp;#039; || &amp;#039; .. cell(p._plural(w), true),&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&amp;#039;|-&amp;#039;, &amp;#039;! DAT&amp;#039;,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&amp;#039;|-&amp;#039;, &amp;#039;! DAT&amp;#039;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&#039;| &#039; .. cell(p._dative(w), &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;false&lt;/del&gt;) .. &#039; || &#039; .. cell(p._dative(p._plural(w)), &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;false&lt;/del&gt;),&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&#039;| &#039; .. cell(p._dative(w), &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;true&lt;/ins&gt;) .. &#039; || &#039; .. cell(p._dative(p._plural(w)), &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;true&lt;/ins&gt;),&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&amp;#039;|-&amp;#039;, &amp;#039;! LOC&amp;#039;,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&amp;#039;|-&amp;#039;, &amp;#039;! LOC&amp;#039;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&#039;| &#039; .. cell(p._locative(w), &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;false&lt;/del&gt;) .. &#039; || &#039; .. cell(p._loc_pl(w), &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;false&lt;/del&gt;),&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&#039;| &#039; .. cell(p._locative(w), &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;true&lt;/ins&gt;) .. &#039; || &#039; .. cell(p._loc_pl(w), &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;true&lt;/ins&gt;),&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&amp;#039;|}&amp;#039;,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&amp;#039;|}&amp;#039;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l99&quot;&gt;Line 99:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 99:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&amp;#039;! !! Ø !! STAT&amp;#039;,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&amp;#039;! !! Ø !! STAT&amp;#039;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&amp;#039;|-&amp;#039;, &amp;#039;! Ø&amp;#039;,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&amp;#039;|-&amp;#039;, &amp;#039;! Ø&amp;#039;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&#039;| — || &#039; .. cell(p._stative(w), &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;false&lt;/del&gt;),&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&#039;| — || &#039; .. cell(p._stative(w), &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;true&lt;/ins&gt;),&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&amp;#039;|-&amp;#039;, &amp;#039;! PERF&amp;#039;,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&amp;#039;|-&amp;#039;, &amp;#039;! PERF&amp;#039;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&amp;#039;| &amp;#039; .. cell(p._perfect(w), false) .. &amp;#039; || &amp;#039; .. cell(p._perfect(p._stative(w)), false),&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&amp;#039;| &amp;#039; .. cell(p._perfect(w), false) .. &amp;#039; || &amp;#039; .. cell(p._perfect(p._stative(w)), false),&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Thiorosan</name></author>
	</entry>
	<entry>
		<id>https://yezur.xyz/w/index.php?title=Module:Besoh&amp;diff=4646&amp;oldid=prev</id>
		<title>Thiorosan: Bold the linked bare-plural cell (operator request)</title>
		<link rel="alternate" type="text/html" href="https://yezur.xyz/w/index.php?title=Module:Besoh&amp;diff=4646&amp;oldid=prev"/>
		<updated>2026-08-06T08:29:30Z</updated>

		<summary type="html">&lt;p&gt;Bold the linked bare-plural cell (operator request)&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 08:29, 6 August 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l62&quot;&gt;Line 62:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 62:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	local shown&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	local shown&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	if link then&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	if link then&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		shown = &quot;[[Dictionary:&quot; .. form .. &quot;#Besoh|&quot; .. form .. &quot;]]&quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		shown = &quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/ins&gt;[[Dictionary:&quot; .. form .. &quot;#Besoh|&quot; .. form .. &quot;]]&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/ins&gt;&quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	else&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	else&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		shown = &amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;quot; .. form .. &amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		shown = &amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;quot; .. form .. &amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Thiorosan</name></author>
	</entry>
	<entry>
		<id>https://yezur.xyz/w/index.php?title=Module:Besoh&amp;diff=4388&amp;oldid=prev</id>
		<title>Thiorosan: Besoh inflection + estimated pronunciation (ports the language&#039;s table rules and spoken laws)</title>
		<link rel="alternate" type="text/html" href="https://yezur.xyz/w/index.php?title=Module:Besoh&amp;diff=4388&amp;oldid=prev"/>
		<updated>2026-08-06T08:17:47Z</updated>

		<summary type="html">&lt;p&gt;Besoh inflection + estimated pronunciation (ports the language&amp;#039;s table rules and spoken laws)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- Module:Besoh — inflection and estimated pronunciation for Besoh (YCQ-BE).&lt;br /&gt;
-- Morphology mirrors the language&amp;#039;s table rules: plural -u (-&amp;#039;u after vowels),&lt;br /&gt;
-- dative postposition bi, locative -on (-&amp;#039;on after vowels) with the &amp;#039;u&amp;#039;&lt;br /&gt;
-- collapse in the plural locative; stative -va, perfect particle va&amp;#039;.&lt;br /&gt;
-- pron() implements the ten spoken laws (stress is not estimated).&lt;br /&gt;
local p = {}&lt;br /&gt;
local U = mw.ustring&lt;br /&gt;
&lt;br /&gt;
local VOW = &amp;quot;aeiouäëïöü&amp;quot;&lt;br /&gt;
local function ends_vowel(w)&lt;br /&gt;
	return U.find(w, &amp;quot;[&amp;quot; .. VOW .. &amp;quot;]$&amp;quot;) ~= nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._plural(w)&lt;br /&gt;
	return w .. (ends_vowel(w) and &amp;quot;&amp;#039;u&amp;quot; or &amp;quot;u&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
function p._dative(w) return w .. &amp;quot;bi&amp;quot; end&lt;br /&gt;
function p._locative(w)&lt;br /&gt;
	return w .. (ends_vowel(w) and &amp;quot;&amp;#039;on&amp;quot; or &amp;quot;on&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
function p._loc_pl(w)&lt;br /&gt;
	local f = p._locative(p._plural(w))&lt;br /&gt;
	return (U.gsub(f, &amp;quot;&amp;#039;u&amp;#039;&amp;quot;, &amp;quot;&amp;#039;&amp;quot;))&lt;br /&gt;
end&lt;br /&gt;
function p._stative(w) return w .. &amp;quot;va&amp;quot; end&lt;br /&gt;
function p._perfect(w) return &amp;quot;va&amp;#039; &amp;quot; .. w end&lt;br /&gt;
&lt;br /&gt;
-- estimated pronunciation from the orthography (laws 6–15, segmental only)&lt;br /&gt;
function p._pron(w)&lt;br /&gt;
	local s = w&lt;br /&gt;
	-- letters to base sounds&lt;br /&gt;
	for a, b in pairs({ [&amp;quot;ś&amp;quot;]=&amp;quot;ʃ&amp;quot;, [&amp;quot;ź&amp;quot;]=&amp;quot;ʒ&amp;quot;, [&amp;quot;c&amp;quot;]=&amp;quot;ʦ&amp;quot;, [&amp;quot;j&amp;quot;]=&amp;quot;ʣ&amp;quot;, [&amp;quot;ñ&amp;quot;]=&amp;quot;ɲ&amp;quot;,&lt;br /&gt;
		[&amp;quot;n&amp;quot;]=&amp;quot;ŋ&amp;quot;, [&amp;quot;ĥ&amp;quot;]=&amp;quot;x&amp;quot;, [&amp;quot;ĝ&amp;quot;]=&amp;quot;ɣ&amp;quot;, [&amp;quot;ǵ&amp;quot;]=&amp;quot;ʁ&amp;quot;, [&amp;quot;&amp;#039;&amp;quot;]=&amp;quot;ʔ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ä&amp;quot;]=&amp;quot;aː&amp;quot;, [&amp;quot;ë&amp;quot;]=&amp;quot;eː&amp;quot;, [&amp;quot;ï&amp;quot;]=&amp;quot;iː&amp;quot;, [&amp;quot;ö&amp;quot;]=&amp;quot;oː&amp;quot;, [&amp;quot;ü&amp;quot;]=&amp;quot;uː&amp;quot; }) do&lt;br /&gt;
		s = U.gsub(s, a, b)&lt;br /&gt;
	end&lt;br /&gt;
	s = U.gsub(s, &amp;quot;iu&amp;quot;, &amp;quot;y&amp;quot;)&lt;br /&gt;
	s = U.gsub(s, &amp;quot;x([iey])&amp;quot;, &amp;quot;ç%1&amp;quot;)&lt;br /&gt;
	local NAS = { a=&amp;quot;ã&amp;quot;, e=&amp;quot;ẽ&amp;quot;, i=&amp;quot;ĩ&amp;quot;, o=&amp;quot;õ&amp;quot;, u=&amp;quot;ũ&amp;quot; }&lt;br /&gt;
	s = U.gsub(s, &amp;quot;([aeiou])ŋ$&amp;quot;, function(v) return NAS[v] end)&lt;br /&gt;
	s = U.gsub(s, &amp;quot;([aeiouyː])ʔ$&amp;quot;, &amp;quot;%1ˀ&amp;quot;)&lt;br /&gt;
	s = U.gsub(s, &amp;quot;([aeiouyː])b([aeiouy])&amp;quot;, &amp;quot;%1β%2&amp;quot;)&lt;br /&gt;
	s = U.gsub(s, &amp;quot;([aeiouyː])d([aeiouy])&amp;quot;, &amp;quot;%1ð%2&amp;quot;)&lt;br /&gt;
	s = U.gsub(s, &amp;quot;([aeiouyː])g([aeiouy])&amp;quot;, &amp;quot;%1ɣ%2&amp;quot;)&lt;br /&gt;
	local L = &amp;quot;pbtdkgqʦʣfvszʃʒxɣʁhmɲŋrlβðç&amp;quot;&lt;br /&gt;
	s = U.gsub(s, &amp;quot;e([&amp;quot; .. L .. &amp;quot;][&amp;quot; .. L .. &amp;quot;])&amp;quot;, &amp;quot;ɛ%1&amp;quot;)&lt;br /&gt;
	s = U.gsub(s, &amp;quot;o([&amp;quot; .. L .. &amp;quot;][&amp;quot; .. L .. &amp;quot;])&amp;quot;, &amp;quot;ɔ%1&amp;quot;)&lt;br /&gt;
	s = U.gsub(s, &amp;quot;e([&amp;quot; .. L .. &amp;quot;])$&amp;quot;, &amp;quot;ɛ%1&amp;quot;)&lt;br /&gt;
	s = U.gsub(s, &amp;quot;o([&amp;quot; .. L .. &amp;quot;])$&amp;quot;, &amp;quot;ɔ%1&amp;quot;)&lt;br /&gt;
	local VOC = &amp;quot;aeiouyɛɔãẽĩõũ&amp;quot;&lt;br /&gt;
	if U.find(s, &amp;quot;[&amp;quot; .. VOC .. &amp;quot;].*[eo]$&amp;quot;) and not U.find(s, &amp;quot;[&amp;quot; .. VOC .. &amp;quot;ː][eo]$&amp;quot;) then&lt;br /&gt;
		s = U.gsub(s, &amp;quot;[eo]$&amp;quot;, &amp;quot;əː&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	local DEV = { b=&amp;quot;p&amp;quot;, d=&amp;quot;t&amp;quot;, g=&amp;quot;k&amp;quot;, v=&amp;quot;f&amp;quot;, z=&amp;quot;s&amp;quot;, [&amp;quot;ʒ&amp;quot;]=&amp;quot;ʃ&amp;quot;, [&amp;quot;ʣ&amp;quot;]=&amp;quot;ʦ&amp;quot;, [&amp;quot;ɣ&amp;quot;]=&amp;quot;x&amp;quot; }&lt;br /&gt;
	local VCE = { p=&amp;quot;b&amp;quot;, t=&amp;quot;d&amp;quot;, k=&amp;quot;g&amp;quot;, f=&amp;quot;v&amp;quot;, s=&amp;quot;z&amp;quot;, [&amp;quot;ʃ&amp;quot;]=&amp;quot;ʒ&amp;quot;, [&amp;quot;ʦ&amp;quot;]=&amp;quot;ʣ&amp;quot; }&lt;br /&gt;
	s = U.gsub(s, &amp;quot;([ptkfsʃʦ])([bdgvzʒʣ])&amp;quot;, function(a, b2) return VCE[a] .. b2 end)&lt;br /&gt;
	s = U.gsub(s, &amp;quot;([bdgvzʒʣɣ])$&amp;quot;, function(a) return DEV[a] end)&lt;br /&gt;
	return s&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function cell(form, link)&lt;br /&gt;
	local shown&lt;br /&gt;
	if link then&lt;br /&gt;
		shown = &amp;quot;[[Dictionary:&amp;quot; .. form .. &amp;quot;#Besoh|&amp;quot; .. form .. &amp;quot;]]&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		shown = &amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;quot; .. form .. &amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	return shown .. &amp;quot;&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;/&amp;quot; .. p._pron(form) .. &amp;quot;/&amp;lt;/small&amp;gt;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function headword(frame)&lt;br /&gt;
	local w = mw.text.trim(frame:getParent().args.word or frame:getParent().args[1] or &amp;quot;&amp;quot;)&lt;br /&gt;
	if w == &amp;quot;&amp;quot; then w = mw.title.getCurrentTitle().text end&lt;br /&gt;
	return w&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- {{YCQ-BE-decl}} — noun table; the bare plural links to its own entry.&lt;br /&gt;
function p.decl(frame)&lt;br /&gt;
	local w = headword(frame)&lt;br /&gt;
	local rows = {&lt;br /&gt;
		&amp;#039;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&amp;#039;,&lt;br /&gt;
		&amp;#039;! !! SG !! PL&amp;#039;,&lt;br /&gt;
		&amp;#039;|-&amp;#039;, &amp;#039;! Ø&amp;#039;,&lt;br /&gt;
		&amp;#039;| &amp;#039; .. cell(w, false) .. &amp;#039; || &amp;#039; .. cell(p._plural(w), true),&lt;br /&gt;
		&amp;#039;|-&amp;#039;, &amp;#039;! DAT&amp;#039;,&lt;br /&gt;
		&amp;#039;| &amp;#039; .. cell(p._dative(w), false) .. &amp;#039; || &amp;#039; .. cell(p._dative(p._plural(w)), false),&lt;br /&gt;
		&amp;#039;|-&amp;#039;, &amp;#039;! LOC&amp;#039;,&lt;br /&gt;
		&amp;#039;| &amp;#039; .. cell(p._locative(w), false) .. &amp;#039; || &amp;#039; .. cell(p._loc_pl(w), false),&lt;br /&gt;
		&amp;#039;|}&amp;#039;,&lt;br /&gt;
	}&lt;br /&gt;
	return table.concat(rows, &amp;quot;\n&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- {{YCQ-BE-conj}} — verb table.&lt;br /&gt;
function p.conj(frame)&lt;br /&gt;
	local w = headword(frame)&lt;br /&gt;
	local rows = {&lt;br /&gt;
		&amp;#039;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&amp;#039;,&lt;br /&gt;
		&amp;#039;! !! Ø !! STAT&amp;#039;,&lt;br /&gt;
		&amp;#039;|-&amp;#039;, &amp;#039;! Ø&amp;#039;,&lt;br /&gt;
		&amp;#039;| — || &amp;#039; .. cell(p._stative(w), false),&lt;br /&gt;
		&amp;#039;|-&amp;#039;, &amp;#039;! PERF&amp;#039;,&lt;br /&gt;
		&amp;#039;| &amp;#039; .. cell(p._perfect(w), false) .. &amp;#039; || &amp;#039; .. cell(p._perfect(p._stative(w)), false),&lt;br /&gt;
		&amp;#039;|}&amp;#039;,&lt;br /&gt;
	}&lt;br /&gt;
	return table.concat(rows, &amp;quot;\n&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Thiorosan</name></author>
	</entry>
</feed>