Wiktionary tnwiktionary https://tn.wiktionary.org/wiki/Tsebe_ya_konokono MediaWiki 1.44.0-wmf.3 case-sensitive Pego Faphegileng Puisano Modirisi Puisano ya modirisi Wiktionary Puisano ya Wiktionary Setshwantsho Puisano ya setshwantsho MediaWiki Puisano ya MediaWiki Tempolete Puisano ya tempolete Thuso Puisano ya thuso Karolo Puisano ya karolo TimedText TimedText talk Module Module talk Tempolete:Sitesupportpage 10 17 2202 2004-01-29T12:55:45Z MediaWiki default 16 2202 wikitext text/x-wiki &lt;sitesupportpage&gt; odlo3q2qspr4rxe1yukj5rilk7wumhq Tempolete:Gnunote 10 61 2246 2004-01-29T12:55:45Z MediaWiki default 16 2246 wikitext text/x-wiki All text is available under the terms of the <a class=internal href='/wiki/GNU_FDL'>GNU Free Documentation License</a>. iqoi3msj3367xih2y2zwfjc2oojrwxm MediaWiki:Searchresulttext 8 229 4344 2414 2006-04-02T13:03:42Z Gangleri 8 {{MediaWiki:!/InterLang}} 4344 wikitext text/x-wiki {{MediaWiki:!/InterProject}} For more information about searching {{SITENAME}}, see [[Project:Searching|Searching {{SITENAME}}]]. {{MediaWiki:!/InterLang}} jb32bwfj8uw5wkumch18wy9bhvte7fd MediaWiki:Recentchangestext 8 289 8415 4343 2022-10-02T19:32:58Z Rebel Agent 2678 Tlhanolo 8415 wikitext text/x-wiki {{MediaWiki:!/InterProject}} Sala morago diphetogo tse dišha tsa wiki e mo tsebeng e. {{MediaWiki:!/InterLang}} ooohb87i3lez7dgvy5pde4sclyi2chr MediaWiki:Showhideminor 8 294 4357 4315 2006-04-03T07:01:45Z Gangleri 8 $6 anonymous users 4357 wikitext text/x-wiki $1 minor edits | $2 bots | $3 logged in users | $6 anonymous users<!-- | $4 patrolled edits --> | $5 own edits 9akhpcwsndkzxulhh7hxrcmgw1439bk MediaWiki:Sitestatstext 8 363 5692 4345 2012-01-20T21:19:42Z Hoo man 380 Bot: Security fix: [[WMFblog:2011/10/03/native-https-support-enabled-for-all-wikimedia-foundation-wikis/|protocol-relative URLs]] per https://meta.wikimedia.org/?oldid=3197161 ([[m:Stewards' noticeboard|questions?]]). 5692 wikitext text/x-wiki {{MediaWiki:!/InterProject}} There are '''$1''' total pages in the database. This includes "talk" pages, pages about {{SITENAME}}, minimal "stub" pages, redirects, and others that probably don't qualify as content pages. Excluding those, there are '''$2''' pages that are probably legitimate content pages. '''$8''' files have been uploaded. There have been a total of '''$3''' page views, and '''$4''' page edits since the wiki was setup. That comes to '''$5''' average edits per page, and '''$6''' views per edit. The [//meta.wikimedia.org/wiki/Help:Job_queue job queue] length is '''$7'''. {{MediaWiki:!/InterLang}} m57vrmx9741otxf5gl0g9qohv3wyyea MediaWiki:Watchdetails 8 439 4346 4127 2006-04-02T13:04:08Z Gangleri 8 {{MediaWiki:!/InterLang}} 4346 wikitext text/x-wiki {{MediaWiki:!/InterProject}} * $1 pages watched not counting talk pages * [[Special:Watchlist/edit|Show and edit complete watchlist]] {{MediaWiki:!/InterLang}} 2stx4cj0ih4nw29zk6vk3gfd3huwmh8 MediaWiki:Watcheditlist 8 444 4347 3748 2006-04-02T13:04:21Z Gangleri 8 {{MediaWiki:!/InterLang}} 4347 wikitext text/x-wiki {{MediaWiki:!/InterProject}} Here's an alphabetical list of your watched content pages. Check the boxes of pages you want to remove from your watchlist and click the 'remove checked' button at the bottom of the screen (deleting a content page also deletes the accompanying talk page and vice versa). {{MediaWiki:!/InterLang}} jkzaavpp3gxq36qbk26j9dzqnmh26mw MediaWiki:Blockiptext 8 505 4348 2690 2006-04-02T13:04:55Z Gangleri 8 {{MediaWiki:!/InterLang}} 4348 wikitext text/x-wiki {{MediaWiki:!/InterProject}} Use the form below to block write access from a specific IP address or username. This should be done only only to prevent vandalism, and in accordance with [[Project:Policy|policy]]. Fill in a specific reason below (for example, citing particular pages that were vandalized). {{MediaWiki:!/InterLang}} 9t9xoaacab98a08qcs2kbv2rakv88hr MediaWiki:Allmessagestext 8 568 4351 4350 2006-04-02T13:09:28Z Gangleri 8 {{MediaWiki:!/InterLang}} 4351 wikitext text/x-wiki {{MediaWiki:!/InterProject}}<!-- <br clear="all" /> --> This is a list of system messages available in the MediaWiki: namespace. {{MediaWiki:!/InterLang}} bvjz7ny6btjj19v5qnyl3qk788ldyzi Tempolete:All messages 10 570 2755 2004-02-22T03:46:36Z MediaWiki default 16 2755 wikitext text/x-wiki This is a list of all messages available in the MediaWiki: namespace <table border=1 width=100%><tr><td> '''Name''' </td><td> '''Default text''' </td><td> '''Current text''' </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:1movedto2&action=edit 1movedto2] </td><td> $1 moved to $2 </td><td> {{MSGNW:1movedto2}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:About&action=edit about] </td><td> About </td><td> {{MSGNW:about}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Aboutpage&action=edit aboutpage] </td><td> Wiktionary:About </td><td> {{MSGNW:aboutpage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Aboutwikipedia&action=edit aboutwikipedia] </td><td> About Wiktionary </td><td> {{MSGNW:aboutwikipedia}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Accmailtext&action=edit accmailtext] </td><td> The Password for &#39;$1&#39; has been sent to $2. </td><td> {{MSGNW:accmailtext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Accmailtitle&action=edit accmailtitle] </td><td> Password sent. </td><td> {{MSGNW:accmailtitle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Actioncomplete&action=edit actioncomplete] </td><td> Action complete </td><td> {{MSGNW:actioncomplete}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Addedwatch&action=edit addedwatch] </td><td> Added to watchlist </td><td> {{MSGNW:addedwatch}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Addedwatchtext&action=edit addedwatchtext] </td><td> The page &quot;$1&quot; has been added to your &lt;a href=&quot;/wiki/Special:Watchlist&quot;&gt;watchlist&lt;/a&gt;. Future changes to this page and its associated Talk page will be listed there, and the page will appear &lt;b&gt;bolded&lt;/b&gt; in the &lt;a href=&quot;/wiki/Special:Recentchanges&quot;&gt;list of recent changes&lt;/a&gt; to make it easier to pick out.&lt;/p&gt; &lt;p&gt;If you want to remove the page from your watchlist later, click &quot;Stop watching&quot; in the sidebar. </td><td> {{MSGNW:addedwatchtext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Administrators&action=edit administrators] </td><td> Wiktionary:Administrators </td><td> {{MSGNW:administrators}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Affirmation&action=edit affirmation] </td><td> I affirm that the copyright holder of this file agrees to license it under the terms of the $1. </td><td> {{MSGNW:affirmation}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:All&action=edit all] </td><td> all </td><td> {{MSGNW:all}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Allmessages&action=edit allmessages] </td><td> All_messages </td><td> {{MSGNW:allmessages}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Allmessagestext&action=edit allmessagestext] </td><td> This is a list of all messages available in the MediaWiki: namespace </td><td> {{MSGNW:allmessagestext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Allpages&action=edit allpages] </td><td> All pages </td><td> {{MSGNW:allpages}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Alphaindexline&action=edit alphaindexline] </td><td> $1 to $2 </td><td> {{MSGNW:alphaindexline}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Alreadyloggedin&action=edit alreadyloggedin] </td><td> &lt;font color=red&gt;&lt;b&gt;User $1, you are already logged in!&lt;/b&gt;&lt;/font&gt;&lt;br&gt; </td><td> {{MSGNW:alreadyloggedin}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Alreadyrolled&action=edit alreadyrolled] </td><td> Cannot rollback last edit of &#91;&#91;$1]] by &#91;&#91;User:$2&#124;$2]] (&#91;&#91;User talk:$2&#124;Talk]]); someone else has edited or rolled back the article already. Last edit was by &#91;&#91;User:$3&#124;$3]] (&#91;&#91;User talk:$3&#124;Talk]]). </td><td> {{MSGNW:alreadyrolled}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Ancientpages&action=edit ancientpages] </td><td> Oldest articles </td><td> {{MSGNW:ancientpages}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Anontalkpagetext&action=edit anontalkpagetext] </td><td> ---- &#39;&#39;This is the discussion page for an anonymous user who has not created an account yet or who does not use it. We therefore have to use the numerical &#91;&#91;IP address]] to identify him/her. Such an IP address can be shared by several users. If you are an anonymous user and feel that irrelevant comments have been directed at you, please &#91;&#91;Special:Userlogin&#124;create an account or log in]] to avoid future confusion with other anonymous users.&#39;&#39; </td><td> {{MSGNW:anontalkpagetext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Articleexists&action=edit articleexists] </td><td> A page of that name already exists, or the name you have chosen is not valid. Please choose another name. </td><td> {{MSGNW:articleexists}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Articlepage&action=edit articlepage] </td><td> View article </td><td> {{MSGNW:articlepage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Asksql&action=edit asksql] </td><td> SQL query </td><td> {{MSGNW:asksql}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Asksqltext&action=edit asksqltext] </td><td> Use the form below to make a direct query of the database. Use single quotes (&#39;like this&#39;) to delimit string literals. This can often add considerable load to the server, so please use this function sparingly. </td><td> {{MSGNW:asksqltext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Autoblocker&action=edit autoblocker] </td><td> Autoblocked because you share an IP address with &quot;$1&quot;. Reason &quot;$2&quot;. </td><td> {{MSGNW:autoblocker}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Badarticleerror&action=edit badarticleerror] </td><td> This action cannot be performed on this page. </td><td> {{MSGNW:badarticleerror}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Badfilename&action=edit badfilename] </td><td> Image name has been changed to &quot;$1&quot;. </td><td> {{MSGNW:badfilename}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Badfiletype&action=edit badfiletype] </td><td> &quot;.$1&quot; is not a recommended image file format. </td><td> {{MSGNW:badfiletype}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Badipaddress&action=edit badipaddress] </td><td> No user exists by that name </td><td> {{MSGNW:badipaddress}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Badquery&action=edit badquery] </td><td> Badly formed search query </td><td> {{MSGNW:badquery}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Badquerytext&action=edit badquerytext] </td><td> We could not process your query. This is probably because you have attempted to search for a word fewer than three letters long, which is not yet supported. It could also be that you have mistyped the expression, for example &quot;fish and and scales&quot;. Please try another query. </td><td> {{MSGNW:badquerytext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Badretype&action=edit badretype] </td><td> The passwords you entered do not match. </td><td> {{MSGNW:badretype}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Badtitle&action=edit badtitle] </td><td> Bad title </td><td> {{MSGNW:badtitle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Badtitletext&action=edit badtitletext] </td><td> The requested page title was invalid, empty, or an incorrectly linked inter-language or inter-wiki title. </td><td> {{MSGNW:badtitletext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Blanknamespace&action=edit blanknamespace] </td><td> (Main) </td><td> {{MSGNW:blanknamespace}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Blockedtext&action=edit blockedtext] </td><td> Your user name or IP address has been blocked by $1. The reason given is this:&lt;br&gt;&#39;&#39;$2&#39;&#39;&lt;p&gt;You may contact $1 or one of the other &#91;&#91;Wiktionary:Administrators&#124;administrators]] to discuss the block. Note that you may not use the &quot;email this user&quot; feature unless you have a valid email address registered in your &#91;&#91;Special:Preferences&#124;user preferences]]. Your IP address is $3. Please include this address in any queries you make. &#61;=Note to AOL users== Due to continuing acts of vandalism by one particular AOL user, Wiktionary often blocks AOL proxies. Unfortunately, a single proxy server may be used by a large number of AOL users, and hence innocent AOL users are often inadvertently blocked. We apologise for any inconvenience caused. If this happens to you, please email an administrator, using an AOL email address. Be sure to include the IP address given above. </td><td> {{MSGNW:blockedtext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Blockedtitle&action=edit blockedtitle] </td><td> User is blocked </td><td> {{MSGNW:blockedtitle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Blockip&action=edit blockip] </td><td> Block user </td><td> {{MSGNW:blockip}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Blockipsuccesssub&action=edit blockipsuccesssub] </td><td> Block succeeded </td><td> {{MSGNW:blockipsuccesssub}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Blockipsuccesstext&action=edit blockipsuccesstext] </td><td> &quot;$1&quot; has been blocked. &lt;br&gt;See &#91;&#91;Special:Ipblocklist&#124;IP block list]] to review blocks. </td><td> {{MSGNW:blockipsuccesstext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Blockiptext&action=edit blockiptext] </td><td> Use the form below to block write access from a specific IP address or username. This should be done only only to prevent vandalism, and in accordance with &#91;&#91;Wiktionary:Policy&#124;policy]]. Fill in a specific reason below (for example, citing particular pages that were vandalized). </td><td> {{MSGNW:blockiptext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Blocklink&action=edit blocklink] </td><td> block </td><td> {{MSGNW:blocklink}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Blocklistline&action=edit blocklistline] </td><td> $1, $2 blocked $3 </td><td> {{MSGNW:blocklistline}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Blocklogentry&action=edit blocklogentry] </td><td> blocked &quot;$1&quot; </td><td> {{MSGNW:blocklogentry}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Blocklogpage&action=edit blocklogpage] </td><td> Block_log </td><td> {{MSGNW:blocklogpage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Blocklogtext&action=edit blocklogtext] </td><td> This is a log of user blocking and unblocking actions. Automatically blocked IP addresses are not be listed. See the &#91;&#91;Special:Ipblocklist&#124;IP block list]] for the list of currently operational bans and blocks. </td><td> {{MSGNW:blocklogtext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Bold_sample&action=edit bold_sample] </td><td> Bold text </td><td> {{MSGNW:bold_sample}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Bold_tip&action=edit bold_tip] </td><td> Bold text </td><td> {{MSGNW:bold_tip}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Booksources&action=edit booksources] </td><td> Book sources </td><td> {{MSGNW:booksources}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Booksourcetext&action=edit booksourcetext] </td><td> Below is a list of links to other sites that sell new and used books, and may also have further information about books you are looking for. Wiktionary is not affiliated with any of these businesses, and this list should not be construed as an endorsement. </td><td> {{MSGNW:booksourcetext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Brokenredirects&action=edit brokenredirects] </td><td> Broken Redirects </td><td> {{MSGNW:brokenredirects}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Brokenredirectstext&action=edit brokenredirectstext] </td><td> The following redirects link to a non-existing article. </td><td> {{MSGNW:brokenredirectstext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Bugreports&action=edit bugreports] </td><td> Bug reports </td><td> {{MSGNW:bugreports}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Bugreportspage&action=edit bugreportspage] </td><td> Wiktionary:Bug_reports </td><td> {{MSGNW:bugreportspage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Bureaucratlog&action=edit bureaucratlog] </td><td> Bureaucrat_log </td><td> {{MSGNW:bureaucratlog}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Bureaucratlogentry&action=edit bureaucratlogentry] </td><td> set $1: $2 </td><td> {{MSGNW:bureaucratlogentry}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Bureaucrattext&action=edit bureaucrattext] </td><td> The action you have requested can only be performed by sysops with &quot;bureaucrat&quot; status. </td><td> {{MSGNW:bureaucrattext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Bureaucrattitle&action=edit bureaucrattitle] </td><td> Bureaucrat access required </td><td> {{MSGNW:bureaucrattitle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Bydate&action=edit bydate] </td><td> by date </td><td> {{MSGNW:bydate}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Byname&action=edit byname] </td><td> by name </td><td> {{MSGNW:byname}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Bysize&action=edit bysize] </td><td> by size </td><td> {{MSGNW:bysize}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Cachederror&action=edit cachederror] </td><td> The following is a cached copy of the requested page, and may not be up to date. </td><td> {{MSGNW:cachederror}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Cancel&action=edit cancel] </td><td> Cancel </td><td> {{MSGNW:cancel}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Cannotdelete&action=edit cannotdelete] </td><td> Could not delete the page or image specified. (It may have already been deleted by someone else.) </td><td> {{MSGNW:cannotdelete}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Cantrollback&action=edit cantrollback] </td><td> Cannot revert edit; last contributor is only author of this article. </td><td> {{MSGNW:cantrollback}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Categories&action=edit categories] </td><td> Page categories </td><td> {{MSGNW:categories}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Category&action=edit category] </td><td> category </td><td> {{MSGNW:category}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Category_header&action=edit category_header] </td><td> Articles in category &quot;$1&quot; </td><td> {{MSGNW:category_header}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Changepassword&action=edit changepassword] </td><td> Change password </td><td> {{MSGNW:changepassword}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Changes&action=edit changes] </td><td> changes </td><td> {{MSGNW:changes}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Columns&action=edit columns] </td><td> Columns </td><td> {{MSGNW:columns}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Commentedit&action=edit commentedit] </td><td> (comment) </td><td> {{MSGNW:commentedit}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Confirm&action=edit confirm] </td><td> Confirm </td><td> {{MSGNW:confirm}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Confirmcheck&action=edit confirmcheck] </td><td> Yes, I really want to delete this. </td><td> {{MSGNW:confirmcheck}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Confirmdelete&action=edit confirmdelete] </td><td> Confirm delete </td><td> {{MSGNW:confirmdelete}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Confirmdeletetext&action=edit confirmdeletetext] </td><td> You are about to permanently delete a page or image along with all of its history from the database. Please confirm that you intend to do this, that you understand the consequences, and that you are doing this in accordance with &#91;&#91;Wiktionary:Policy]]. </td><td> {{MSGNW:confirmdeletetext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Contextchars&action=edit contextchars] </td><td> Characters of context per line </td><td> {{MSGNW:contextchars}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Contextlines&action=edit contextlines] </td><td> Lines to show per hit </td><td> {{MSGNW:contextlines}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Contribslink&action=edit contribslink] </td><td> contribs </td><td> {{MSGNW:contribslink}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Contribsub&action=edit contribsub] </td><td> For $1 </td><td> {{MSGNW:contribsub}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Contributions&action=edit contributions] </td><td> User contributions </td><td> {{MSGNW:contributions}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Copyrightpage&action=edit copyrightpage] </td><td> Wiktionary:Copyrights </td><td> {{MSGNW:copyrightpage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Copyrightpagename&action=edit copyrightpagename] </td><td> Wiktionary copyright </td><td> {{MSGNW:copyrightpagename}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Copyrightwarning&action=edit copyrightwarning] </td><td> Please note that all contributions to Wiktionary are considered to be released under the GNU Free Documentation License (see $1 for details). If you don&#39;t want your writing to be edited mercilessly and redistributed at will, then don&#39;t submit it here.&lt;br&gt; You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. &lt;strong&gt;DO NOT SUBMIT COPYRIGHTED WORK WITHOUT PERMISSION!&lt;/strong&gt; </td><td> {{MSGNW:copyrightwarning}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Couldntremove&action=edit couldntremove] </td><td> Couldn&#39;t remove item &#39;$1&#39;... </td><td> {{MSGNW:couldntremove}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Createaccount&action=edit createaccount] </td><td> Create new account </td><td> {{MSGNW:createaccount}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Createaccountmail&action=edit createaccountmail] </td><td> by eMail </td><td> {{MSGNW:createaccountmail}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Cur&action=edit cur] </td><td> cur </td><td> {{MSGNW:cur}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Currentevents&action=edit currentevents] </td><td> Current events </td><td> {{MSGNW:currentevents}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Currentrev&action=edit currentrev] </td><td> Current revision </td><td> {{MSGNW:currentrev}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Databaseerror&action=edit databaseerror] </td><td> Database error </td><td> {{MSGNW:databaseerror}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Dateformat&action=edit dateformat] </td><td> Date format </td><td> {{MSGNW:dateformat}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Dberrortext&action=edit dberrortext] </td><td> A database query syntax error has occurred. This could be because of an illegal search query (see $5), or it may indicate a bug in the software. The last attempted database query was: &lt;blockquote&gt;&lt;tt&gt;$1&lt;/tt&gt;&lt;/blockquote&gt; from within function &quot;&lt;tt&gt;$2&lt;/tt&gt;&quot;. MySQL returned error &quot;&lt;tt&gt;$3: $4&lt;/tt&gt;&quot;. </td><td> {{MSGNW:dberrortext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Dberrortextcl&action=edit dberrortextcl] </td><td> A database query syntax error has occurred. The last attempted database query was: &quot;$1&quot; from within function &quot;$2&quot;. MySQL returned error &quot;$3: $4&quot;. </td><td> {{MSGNW:dberrortextcl}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Deadendpages&action=edit deadendpages] </td><td> Dead-end pages </td><td> {{MSGNW:deadendpages}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Debug&action=edit debug] </td><td> Debug </td><td> {{MSGNW:debug}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Defaultns&action=edit defaultns] </td><td> Search in these namespaces by default: </td><td> {{MSGNW:defaultns}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Defemailsubject&action=edit defemailsubject] </td><td> Wiktionary e-mail </td><td> {{MSGNW:defemailsubject}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Deletecomment&action=edit deletecomment] </td><td> Reason for deletion </td><td> {{MSGNW:deletecomment}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Deletedarticle&action=edit deletedarticle] </td><td> deleted &quot;$1&quot; </td><td> {{MSGNW:deletedarticle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Deletedtext&action=edit deletedtext] </td><td> &quot;$1&quot; has been deleted. See $2 for a record of recent deletions. </td><td> {{MSGNW:deletedtext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Deleteimg&action=edit deleteimg] </td><td> del </td><td> {{MSGNW:deleteimg}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Deletepage&action=edit deletepage] </td><td> Delete page </td><td> {{MSGNW:deletepage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Deletesub&action=edit deletesub] </td><td> (Deleting &quot;$1&quot;) </td><td> {{MSGNW:deletesub}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Deletethispage&action=edit deletethispage] </td><td> Delete this page </td><td> {{MSGNW:deletethispage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Deletionlog&action=edit deletionlog] </td><td> deletion log </td><td> {{MSGNW:deletionlog}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Dellogpage&action=edit dellogpage] </td><td> Deletion_log </td><td> {{MSGNW:dellogpage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Dellogpagetext&action=edit dellogpagetext] </td><td> Below is a list of the most recent deletions. All times shown are server time (UTC). &lt;ul&gt; &lt;/ul&gt; </td><td> {{MSGNW:dellogpagetext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Developerspheading&action=edit developerspheading] </td><td> For developer use only </td><td> {{MSGNW:developerspheading}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Developertext&action=edit developertext] </td><td> The action you have requested can only be performed by users with &quot;developer&quot; status. See $1. </td><td> {{MSGNW:developertext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Developertitle&action=edit developertitle] </td><td> Developer access required </td><td> {{MSGNW:developertitle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Diff&action=edit diff] </td><td> diff </td><td> {{MSGNW:diff}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Difference&action=edit difference] </td><td> (Difference between revisions) </td><td> {{MSGNW:difference}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Disambiguations&action=edit disambiguations] </td><td> Disambiguation pages </td><td> {{MSGNW:disambiguations}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Disambiguationspage&action=edit disambiguationspage] </td><td> Wiktionary:Links_to_disambiguating_pages </td><td> {{MSGNW:disambiguationspage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Disambiguationstext&action=edit disambiguationstext] </td><td> The following articles link to a &lt;i&gt;disambiguation page&lt;/i&gt;. They should link to the appropriate topic instead.&lt;br&gt;A page is treated as dismbiguation if it is linked from $1.&lt;br&gt;Links from other namespaces are &lt;i&gt;not&lt;/i&gt; listed here. </td><td> {{MSGNW:disambiguationstext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Disclaimerpage&action=edit disclaimerpage] </td><td> Wiktionary:General_disclaimer </td><td> {{MSGNW:disclaimerpage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Disclaimers&action=edit disclaimers] </td><td> Disclaimers </td><td> {{MSGNW:disclaimers}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Doubleredirects&action=edit doubleredirects] </td><td> Double Redirects </td><td> {{MSGNW:doubleredirects}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Doubleredirectstext&action=edit doubleredirectstext] </td><td> &lt;b&gt;Attention:&lt;/b&gt; This list may contain false positives. That usually means there is additional text with links below the first #REDIRECT.&lt;br&gt; Each row contains links to the first and second redirect, as well as the first line of the second redirect text, usually giving the &quot;real&quot; taget article, which the first redirect should point to. </td><td> {{MSGNW:doubleredirectstext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Editcomment&action=edit editcomment] </td><td> The edit comment was: &quot;&lt;i&gt;$1&lt;/i&gt;&quot;. </td><td> {{MSGNW:editcomment}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Editconflict&action=edit editconflict] </td><td> Edit conflict: $1 </td><td> {{MSGNW:editconflict}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Editcurrent&action=edit editcurrent] </td><td> Edit the current version of this page </td><td> {{MSGNW:editcurrent}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Edithelp&action=edit edithelp] </td><td> Editing help </td><td> {{MSGNW:edithelp}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Edithelppage&action=edit edithelppage] </td><td> Wiktionary:How_does_one_edit_a_page </td><td> {{MSGNW:edithelppage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Editing&action=edit editing] </td><td> Editing $1 </td><td> {{MSGNW:editing}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Editingold&action=edit editingold] </td><td> &lt;strong&gt;WARNING: You are editing an out-of-date revision of this page. If you save it, any changes made since this revision will be lost.&lt;/strong&gt; </td><td> {{MSGNW:editingold}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Editsection&action=edit editsection] </td><td> edit </td><td> {{MSGNW:editsection}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Editthispage&action=edit editthispage] </td><td> Edit this page </td><td> {{MSGNW:editthispage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Emailflag&action=edit emailflag] </td><td> Disable e-mail from other users </td><td> {{MSGNW:emailflag}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Emailforlost&action=edit emailforlost] </td><td> * Entering an email address is optional. But it enables people to contact you through the website without you having to reveal your email address to them, and it also helps you if you forget your password. </td><td> {{MSGNW:emailforlost}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Emailfrom&action=edit emailfrom] </td><td> From </td><td> {{MSGNW:emailfrom}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Emailmessage&action=edit emailmessage] </td><td> Message </td><td> {{MSGNW:emailmessage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Emailpage&action=edit emailpage] </td><td> E-mail user </td><td> {{MSGNW:emailpage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Emailpagetext&action=edit emailpagetext] </td><td> If this user has entered a valid e-mail address in his or her user preferences, the form below will send a single message. The e-mail address you entered in your user preferences will appear as the &quot;From&quot; address of the mail, so the recipient will be able to reply. </td><td> {{MSGNW:emailpagetext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Emailsend&action=edit emailsend] </td><td> Send </td><td> {{MSGNW:emailsend}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Emailsent&action=edit emailsent] </td><td> E-mail sent </td><td> {{MSGNW:emailsent}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Emailsenttext&action=edit emailsenttext] </td><td> Your e-mail message has been sent. </td><td> {{MSGNW:emailsenttext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Emailsubject&action=edit emailsubject] </td><td> Subject </td><td> {{MSGNW:emailsubject}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Emailto&action=edit emailto] </td><td> To </td><td> {{MSGNW:emailto}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Emailuser&action=edit emailuser] </td><td> E-mail this user </td><td> {{MSGNW:emailuser}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Enterlockreason&action=edit enterlockreason] </td><td> Enter a reason for the lock, including an estimate of when the lock will be released </td><td> {{MSGNW:enterlockreason}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Error&action=edit error] </td><td> Error </td><td> {{MSGNW:error}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Errorpagetitle&action=edit errorpagetitle] </td><td> Error </td><td> {{MSGNW:errorpagetitle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Exbeforeblank&action=edit exbeforeblank] </td><td> content before blanking was: </td><td> {{MSGNW:exbeforeblank}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Exblank&action=edit exblank] </td><td> page was empty </td><td> {{MSGNW:exblank}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Excontent&action=edit excontent] </td><td> content was: </td><td> {{MSGNW:excontent}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Explainconflict&action=edit explainconflict] </td><td> Someone else has changed this page since you started editing it. The upper text area contains the page text as it currently exists. Your changes are shown in the lower text area. You will have to merge your changes into the existing text. &lt;b&gt;Only&lt;/b&gt; the text in the upper text area will be saved when you press &quot;Save page&quot;. &lt;p&gt; </td><td> {{MSGNW:explainconflict}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Export&action=edit export] </td><td> Export pages </td><td> {{MSGNW:export}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Exportcuronly&action=edit exportcuronly] </td><td> Include only the current revision, not the full history </td><td> {{MSGNW:exportcuronly}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Exporttext&action=edit exporttext] </td><td> You can export the text and editing history of a particular page or set of pages wrapped in some XML; this can then be imported into another wiki running MediaWiki software, transformed, or just kept for your private amusement. </td><td> {{MSGNW:exporttext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Extlink_sample&action=edit extlink_sample] </td><td> http&#58;//www.example.com link title </td><td> {{MSGNW:extlink_sample}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Extlink_tip&action=edit extlink_tip] </td><td> External link (remember http&#58;// prefix) </td><td> {{MSGNW:extlink_tip}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Faq&action=edit faq] </td><td> FAQ </td><td> {{MSGNW:faq}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Faqpage&action=edit faqpage] </td><td> Wiktionary:FAQ </td><td> {{MSGNW:faqpage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Filecopyerror&action=edit filecopyerror] </td><td> Could not copy file &quot;$1&quot; to &quot;$2&quot;. </td><td> {{MSGNW:filecopyerror}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Filedeleteerror&action=edit filedeleteerror] </td><td> Could not delete file &quot;$1&quot;. </td><td> {{MSGNW:filedeleteerror}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Filedesc&action=edit filedesc] </td><td> Summary </td><td> {{MSGNW:filedesc}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Filename&action=edit filename] </td><td> Filename </td><td> {{MSGNW:filename}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Filenotfound&action=edit filenotfound] </td><td> Could not find file &quot;$1&quot;. </td><td> {{MSGNW:filenotfound}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Filerenameerror&action=edit filerenameerror] </td><td> Could not rename file &quot;$1&quot; to &quot;$2&quot;. </td><td> {{MSGNW:filerenameerror}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Filesource&action=edit filesource] </td><td> Source </td><td> {{MSGNW:filesource}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Filestatus&action=edit filestatus] </td><td> Copyright status </td><td> {{MSGNW:filestatus}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Fileuploaded&action=edit fileuploaded] </td><td> File &quot;$1&quot; uploaded successfully. Please follow this link: ($2) to the description page and fill in information about the file, such as where it came from, when it was created and by whom, and anything else you may know about it. </td><td> {{MSGNW:fileuploaded}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Formerror&action=edit formerror] </td><td> Error: could not submit form </td><td> {{MSGNW:formerror}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Fromwikipedia&action=edit fromwikipedia] </td><td> From Wiktionary, the free encyclopedia. </td><td> {{MSGNW:fromwikipedia}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Getimagelist&action=edit getimagelist] </td><td> fetching image list </td><td> {{MSGNW:getimagelist}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Gnunote&action=edit gnunote] </td><td> All text is available under the terms of the &lt;a class=internal href=&#39;/wiki/GNU_FDL&#39;&gt;GNU Free Documentation License&lt;/a&gt;. </td><td> {{MSGNW:gnunote}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Go&action=edit go] </td><td> Go </td><td> {{MSGNW:go}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Googlesearch&action=edit googlesearch] </td><td> &lt;!-- SiteSearch Google --&gt; &lt;FORM method=GET action=&quot;http&#58;//www.google.com/search&quot;&gt; &lt;TABLE bgcolor=&quot;#FFFFFF&quot;&gt;&lt;tr&gt;&lt;td&gt; &lt;A HREF=&quot;http&#58;//www.google.com/&quot;&gt; &lt;IMG SRC=&quot;http&#58;//www.google.com/logos/Logo_40wht.gif&quot; border=&quot;0&quot; ALT=&quot;Google&quot;&gt;&lt;/A&gt; &lt;/td&gt; &lt;td&gt; &lt;INPUT TYPE=text name=q size=31 maxlength=255 value=&quot;$1&quot;&gt; &lt;INPUT type=submit name=btnG VALUE=&quot;Google Search&quot;&gt; &lt;font size=-1&gt; &lt;input type=hidden name=domains value=&quot;http&#58;//tn.wikipedia.org&quot;&gt;&lt;br&gt;&lt;input type=radio name=sitesearch value=&quot;&quot;&gt; WWW &lt;input type=radio name=sitesearch value=&quot;http&#58;//tn.wikipedia.org&quot; checked&gt; http&#58;//tn.wikipedia.org &lt;br&gt; &lt;input type=&#39;hidden&#39; name=&#39;ie&#39; value=&#39;$2&#39;&gt; &lt;input type=&#39;hidden&#39; name=&#39;oe&#39; value=&#39;$2&#39;&gt; &lt;/font&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/TABLE&gt; &lt;/FORM&gt; &lt;!-- SiteSearch Google --&gt; </td><td> {{MSGNW:googlesearch}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Guesstimezone&action=edit guesstimezone] </td><td> Fill in from browser </td><td> {{MSGNW:guesstimezone}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Headline_sample&action=edit headline_sample] </td><td> Headline text </td><td> {{MSGNW:headline_sample}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Headline_tip&action=edit headline_tip] </td><td> Level 2 headline </td><td> {{MSGNW:headline_tip}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Help&action=edit help] </td><td> Help </td><td> {{MSGNW:help}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Helppage&action=edit helppage] </td><td> Wiktionary:Help </td><td> {{MSGNW:helppage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Hide&action=edit hide] </td><td> hide </td><td> {{MSGNW:hide}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Hidetoc&action=edit hidetoc] </td><td> hide </td><td> {{MSGNW:hidetoc}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Hist&action=edit hist] </td><td> hist </td><td> {{MSGNW:hist}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Histlegend&action=edit histlegend] </td><td> Legend: (cur) = difference with current version, (last) = difference with preceding version, M = minor edit </td><td> {{MSGNW:histlegend}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:History&action=edit history] </td><td> Page history </td><td> {{MSGNW:history}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Historywarning&action=edit historywarning] </td><td> Warning: The page you are about to delete has a history: </td><td> {{MSGNW:historywarning}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Hr_tip&action=edit hr_tip] </td><td> Horizontal line (use sparingly) </td><td> {{MSGNW:hr_tip}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Ignorewarning&action=edit ignorewarning] </td><td> Ignore warning and save file anyway. </td><td> {{MSGNW:ignorewarning}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Ilshowmatch&action=edit ilshowmatch] </td><td> Show all images with names matching </td><td> {{MSGNW:ilshowmatch}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Ilsubmit&action=edit ilsubmit] </td><td> Search </td><td> {{MSGNW:ilsubmit}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Image_sample&action=edit image_sample] </td><td> Example.jpg </td><td> {{MSGNW:image_sample}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Image_tip&action=edit image_tip] </td><td> Embedded image </td><td> {{MSGNW:image_tip}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Imagelinks&action=edit imagelinks] </td><td> Image links </td><td> {{MSGNW:imagelinks}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Imagelist&action=edit imagelist] </td><td> Image list </td><td> {{MSGNW:imagelist}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Imagelisttext&action=edit imagelisttext] </td><td> Below is a list of $1 images sorted $2. </td><td> {{MSGNW:imagelisttext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Imagepage&action=edit imagepage] </td><td> View image page </td><td> {{MSGNW:imagepage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Imagereverted&action=edit imagereverted] </td><td> Revert to earlier version was successful. </td><td> {{MSGNW:imagereverted}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Imgdelete&action=edit imgdelete] </td><td> del </td><td> {{MSGNW:imgdelete}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Imgdesc&action=edit imgdesc] </td><td> desc </td><td> {{MSGNW:imgdesc}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Imghistlegend&action=edit imghistlegend] </td><td> Legend: (cur) = this is the current image, (del) = delete this old version, (rev) = revert to this old version. &lt;br&gt;&lt;i&gt;Click on date to see image uploaded on that date&lt;/i&gt;. </td><td> {{MSGNW:imghistlegend}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Imghistory&action=edit imghistory] </td><td> Image history </td><td> {{MSGNW:imghistory}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Imglegend&action=edit imglegend] </td><td> Legend: (desc) = show/edit image description. </td><td> {{MSGNW:imglegend}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Infobox&action=edit infobox] </td><td> Click a button to get an example text </td><td> {{MSGNW:infobox}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Internalerror&action=edit internalerror] </td><td> Internal error </td><td> {{MSGNW:internalerror}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Intl&action=edit intl] </td><td> Interlanguage links </td><td> {{MSGNW:intl}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Ip_range_invalid&action=edit ip_range_invalid] </td><td> Invalid IP range. </td><td> {{MSGNW:ip_range_invalid}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Ipaddress&action=edit ipaddress] </td><td> IP Address/username </td><td> {{MSGNW:ipaddress}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Ipb_expiry_invalid&action=edit ipb_expiry_invalid] </td><td> Expiry time invalid. </td><td> {{MSGNW:ipb_expiry_invalid}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Ipbexpiry&action=edit ipbexpiry] </td><td> Expiry </td><td> {{MSGNW:ipbexpiry}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Ipblocklist&action=edit ipblocklist] </td><td> List of blocked IP addresses and usernames </td><td> {{MSGNW:ipblocklist}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Ipbreason&action=edit ipbreason] </td><td> Reason </td><td> {{MSGNW:ipbreason}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Ipbsubmit&action=edit ipbsubmit] </td><td> Block this user </td><td> {{MSGNW:ipbsubmit}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Ipusubmit&action=edit ipusubmit] </td><td> Unblock this address </td><td> {{MSGNW:ipusubmit}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Ipusuccess&action=edit ipusuccess] </td><td> &quot;$1&quot; unblocked </td><td> {{MSGNW:ipusuccess}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Isredirect&action=edit isredirect] </td><td> redirect page </td><td> {{MSGNW:isredirect}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Italic_sample&action=edit italic_sample] </td><td> Italic text </td><td> {{MSGNW:italic_sample}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Italic_tip&action=edit italic_tip] </td><td> Italic text </td><td> {{MSGNW:italic_tip}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Iteminvalidname&action=edit iteminvalidname] </td><td> Problem with item &#39;$1&#39;, invalid name... </td><td> {{MSGNW:iteminvalidname}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Largefile&action=edit largefile] </td><td> It is recommended that images not exceed 100k in size. </td><td> {{MSGNW:largefile}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Last&action=edit last] </td><td> last </td><td> {{MSGNW:last}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Lastmodified&action=edit lastmodified] </td><td> This page was last modified $1. </td><td> {{MSGNW:lastmodified}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Lineno&action=edit lineno] </td><td> Line $1: </td><td> {{MSGNW:lineno}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Link_sample&action=edit link_sample] </td><td> Link title </td><td> {{MSGNW:link_sample}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Link_tip&action=edit link_tip] </td><td> Internal link </td><td> {{MSGNW:link_tip}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Linklistsub&action=edit linklistsub] </td><td> (List of links) </td><td> {{MSGNW:linklistsub}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Linkshere&action=edit linkshere] </td><td> The following pages link to here: </td><td> {{MSGNW:linkshere}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Linkstoimage&action=edit linkstoimage] </td><td> The following pages link to this image: </td><td> {{MSGNW:linkstoimage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Linktrail&action=edit linktrail] </td><td> /^(&#91;a-z]+)(.*)$/sD </td><td> {{MSGNW:linktrail}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Listform&action=edit listform] </td><td> list </td><td> {{MSGNW:listform}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Listusers&action=edit listusers] </td><td> User list </td><td> {{MSGNW:listusers}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Loadhist&action=edit loadhist] </td><td> Loading page history </td><td> {{MSGNW:loadhist}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Loadingrev&action=edit loadingrev] </td><td> loading revision for diff </td><td> {{MSGNW:loadingrev}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Localtime&action=edit localtime] </td><td> Local time display </td><td> {{MSGNW:localtime}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Lockbtn&action=edit lockbtn] </td><td> Lock database </td><td> {{MSGNW:lockbtn}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Lockconfirm&action=edit lockconfirm] </td><td> Yes, I really want to lock the database. </td><td> {{MSGNW:lockconfirm}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Lockdb&action=edit lockdb] </td><td> Lock database </td><td> {{MSGNW:lockdb}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Lockdbsuccesssub&action=edit lockdbsuccesssub] </td><td> Database lock succeeded </td><td> {{MSGNW:lockdbsuccesssub}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Lockdbsuccesstext&action=edit lockdbsuccesstext] </td><td> The database has been locked. &lt;br&gt;Remember to remove the lock after your maintenance is complete. </td><td> {{MSGNW:lockdbsuccesstext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Lockdbtext&action=edit lockdbtext] </td><td> Locking the database will suspend the ability of all users to edit pages, change their preferences, edit their watchlists, and other things requiring changes in the database. Please confirm that this is what you intend to do, and that you will unlock the database when your maintenance is done. </td><td> {{MSGNW:lockdbtext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Locknoconfirm&action=edit locknoconfirm] </td><td> You did not check the confirmation box. </td><td> {{MSGNW:locknoconfirm}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Login&action=edit login] </td><td> Log in </td><td> {{MSGNW:login}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Loginend&action=edit loginend] </td><td> &amp;lt;loginend&amp;gt; </td><td> {{MSGNW:loginend}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Loginerror&action=edit loginerror] </td><td> Login error </td><td> {{MSGNW:loginerror}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Loginpagetitle&action=edit loginpagetitle] </td><td> User login </td><td> {{MSGNW:loginpagetitle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Loginproblem&action=edit loginproblem] </td><td> &lt;b&gt;There has been a problem with your login.&lt;/b&gt;&lt;br&gt;Try again! </td><td> {{MSGNW:loginproblem}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Loginprompt&action=edit loginprompt] </td><td> You must have cookies enabled to log in to Wiktionary. </td><td> {{MSGNW:loginprompt}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Loginsuccess&action=edit loginsuccess] </td><td> You are now logged in to Wiktionary as &quot;$1&quot;. </td><td> {{MSGNW:loginsuccess}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Loginsuccesstitle&action=edit loginsuccesstitle] </td><td> Login successful </td><td> {{MSGNW:loginsuccesstitle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Logout&action=edit logout] </td><td> Log out </td><td> {{MSGNW:logout}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Logouttext&action=edit logouttext] </td><td> You are now logged out. You can continue to use Wiktionary anonymously, or you can log in again as the same or as a different user. Note that some pages may continue to be displayed as if you were still logged in, until you clear your browser cache </td><td> {{MSGNW:logouttext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Logouttitle&action=edit logouttitle] </td><td> User logout </td><td> {{MSGNW:logouttitle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Lonelypages&action=edit lonelypages] </td><td> Orphaned pages </td><td> {{MSGNW:lonelypages}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Longpages&action=edit longpages] </td><td> Long pages </td><td> {{MSGNW:longpages}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Longpagewarning&action=edit longpagewarning] </td><td> WARNING: This page is $1 kilobytes long; some browsers may have problems editing pages approaching or longer than 32kb. Please consider breaking the page into smaller sections. </td><td> {{MSGNW:longpagewarning}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Mailmypassword&action=edit mailmypassword] </td><td> Mail me a new password </td><td> {{MSGNW:mailmypassword}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Mailnologin&action=edit mailnologin] </td><td> No send address </td><td> {{MSGNW:mailnologin}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Mailnologintext&action=edit mailnologintext] </td><td> You must be &lt;a href=&quot;/wiki/Special:Userlogin&quot;&gt;logged in&lt;/a&gt; and have a valid e-mail address in your &lt;a href=&quot;/wiki/Special:Preferences&quot;&gt;preferences&lt;/a&gt; to send e-mail to other users. </td><td> {{MSGNW:mailnologintext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Mainpage&action=edit mainpage] </td><td> Main Page </td><td> {{MSGNW:mainpage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Mainpagetext&action=edit mainpagetext] </td><td> Wiki software successfully installed. </td><td> {{MSGNW:mainpagetext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Maintenance&action=edit maintenance] </td><td> Maintenance page </td><td> {{MSGNW:maintenance}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Maintenancebacklink&action=edit maintenancebacklink] </td><td> Back to Maintenance Page </td><td> {{MSGNW:maintenancebacklink}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Maintnancepagetext&action=edit maintnancepagetext] </td><td> This page includes several handy tools for everyday maintenance. Some of these functions tend to stress the database, so please do not hit reload after every item you fixed ;-) </td><td> {{MSGNW:maintnancepagetext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Makesysopfail&action=edit makesysopfail] </td><td> &lt;b&gt;User &#39;$1&#39; could not be made into a sysop. (Did you enter the name correctly?)&lt;/b&gt; </td><td> {{MSGNW:makesysopfail}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Makesysopname&action=edit makesysopname] </td><td> Name of the user: </td><td> {{MSGNW:makesysopname}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Makesysopok&action=edit makesysopok] </td><td> &lt;b&gt;User &#39;$1&#39; is now a sysop&lt;/b&gt; </td><td> {{MSGNW:makesysopok}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Makesysopsubmit&action=edit makesysopsubmit] </td><td> Make this user into a sysop </td><td> {{MSGNW:makesysopsubmit}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Makesysoptext&action=edit makesysoptext] </td><td> This form is used by bureaucrats to turn ordinary users into administrators. Type the name of the user in the box and press the button to make the user an administrator </td><td> {{MSGNW:makesysoptext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Makesysoptitle&action=edit makesysoptitle] </td><td> Make a user into a sysop </td><td> {{MSGNW:makesysoptitle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Matchtotals&action=edit matchtotals] </td><td> The query &quot;$1&quot; matched $2 article titles and the text of $3 articles. </td><td> {{MSGNW:matchtotals}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Math&action=edit math] </td><td> Rendering math </td><td> {{MSGNW:math}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Math_failure&action=edit math_failure] </td><td> Failed to parse </td><td> {{MSGNW:math_failure}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Math_image_error&action=edit math_image_error] </td><td> PNG conversion failed </td><td> {{MSGNW:math_image_error}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Math_lexing_error&action=edit math_lexing_error] </td><td> lexing error </td><td> {{MSGNW:math_lexing_error}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Math_sample&action=edit math_sample] </td><td> Insert formula here </td><td> {{MSGNW:math_sample}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Math_syntax_error&action=edit math_syntax_error] </td><td> syntax error </td><td> {{MSGNW:math_syntax_error}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Math_tip&action=edit math_tip] </td><td> Mathematical formula (LaTeX) </td><td> {{MSGNW:math_tip}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Math_unknown_error&action=edit math_unknown_error] </td><td> unknown error </td><td> {{MSGNW:math_unknown_error}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Math_unknown_function&action=edit math_unknown_function] </td><td> unknown function </td><td> {{MSGNW:math_unknown_function}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Media_sample&action=edit media_sample] </td><td> Example.mp3 </td><td> {{MSGNW:media_sample}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Media_tip&action=edit media_tip] </td><td> Media file link </td><td> {{MSGNW:media_tip}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Minlength&action=edit minlength] </td><td> Image names must be at least three letters. </td><td> {{MSGNW:minlength}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Minoredit&action=edit minoredit] </td><td> This is a minor edit </td><td> {{MSGNW:minoredit}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Minoreditletter&action=edit minoreditletter] </td><td> M </td><td> {{MSGNW:minoreditletter}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Mispeelings&action=edit mispeelings] </td><td> Pages with misspellings </td><td> {{MSGNW:mispeelings}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Mispeelingspage&action=edit mispeelingspage] </td><td> List of common misspellings </td><td> {{MSGNW:mispeelingspage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Mispeelingstext&action=edit mispeelingstext] </td><td> The following pages contain a common misspelling, which are listed on $1. The correct spelling might be given (like this). </td><td> {{MSGNW:mispeelingstext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Missingarticle&action=edit missingarticle] </td><td> The database did not find the text of a page that it should have found, named &quot;$1&quot;. &lt;p&gt;This is usually caused by following an outdated diff or history link to a page that has been deleted. &lt;p&gt;If this is not the case, you may have found a bug in the software. Please report this to an administrator, making note of the URL. </td><td> {{MSGNW:missingarticle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Missinglanguagelinks&action=edit missinglanguagelinks] </td><td> Missing Language Links </td><td> {{MSGNW:missinglanguagelinks}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Missinglanguagelinksbutton&action=edit missinglanguagelinksbutton] </td><td> Find missing language links for </td><td> {{MSGNW:missinglanguagelinksbutton}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Missinglanguagelinkstext&action=edit missinglanguagelinkstext] </td><td> These articles do &lt;i&gt;not&lt;/i&gt; link to their counterpart in $1. Redirects and subpages are &lt;i&gt;not&lt;/i&gt; shown. </td><td> {{MSGNW:missinglanguagelinkstext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Moredotdotdot&action=edit moredotdotdot] </td><td> More... </td><td> {{MSGNW:moredotdotdot}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Movearticle&action=edit movearticle] </td><td> Move page </td><td> {{MSGNW:movearticle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Movedto&action=edit movedto] </td><td> moved to </td><td> {{MSGNW:movedto}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Movenologin&action=edit movenologin] </td><td> Not logged in </td><td> {{MSGNW:movenologin}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Movenologintext&action=edit movenologintext] </td><td> You must be a registered user and &lt;a href=&quot;/wiki/Special:Userlogin&quot;&gt;logged in&lt;/a&gt; to move a page. </td><td> {{MSGNW:movenologintext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Movepage&action=edit movepage] </td><td> Move page </td><td> {{MSGNW:movepage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Movepagebtn&action=edit movepagebtn] </td><td> Move page </td><td> {{MSGNW:movepagebtn}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Movepagetalktext&action=edit movepagetalktext] </td><td> The associated talk page, if any, will be automatically moved along with it &#39;&#39;&#39;unless:&#39;&#39;&#39; *You are moving the page across namespaces, *A non-empty talk page already exists under the new name, or *You uncheck the box below. In those cases, you will have to move or merge the page manually if desired. </td><td> {{MSGNW:movepagetalktext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Movepagetext&action=edit movepagetext] </td><td> Using the form below will rename a page, moving all of its history to the new name. The old title will become a redirect page to the new title. Links to the old page title will not be changed; be sure to &#91;&#91;Special:Maintenance&#124;check]] for double or broken redirects. You are responsible for making sure that links continue to point where they are supposed to go. Note that the page will &#39;&#39;&#39;not&#39;&#39;&#39; be moved if there is already a page at the new title, unless it is empty or a redirect and has no past edit history. This means that you can rename a page back to where it was just renamed from if you make a mistake, and you cannot overwrite an existing page. &lt;b&gt;WARNING!&lt;/b&gt; This can be a drastic and unexpected change for a popular page; please be sure you understand the consequences of this before proceeding. </td><td> {{MSGNW:movepagetext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Movetalk&action=edit movetalk] </td><td> Move &quot;talk&quot; page as well, if applicable. </td><td> {{MSGNW:movetalk}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Movethispage&action=edit movethispage] </td><td> Move this page </td><td> {{MSGNW:movethispage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Mycontris&action=edit mycontris] </td><td> My contributions </td><td> {{MSGNW:mycontris}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Mypage&action=edit mypage] </td><td> My page </td><td> {{MSGNW:mypage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Mytalk&action=edit mytalk] </td><td> My talk </td><td> {{MSGNW:mytalk}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Nbytes&action=edit nbytes] </td><td> $1 bytes </td><td> {{MSGNW:nbytes}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Nchanges&action=edit nchanges] </td><td> $1 changes </td><td> {{MSGNW:nchanges}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Newarticle&action=edit newarticle] </td><td> (New) </td><td> {{MSGNW:newarticle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Newarticletext&action=edit newarticletext] </td><td> You&#39;ve followed a link to a page that doesn&#39;t exist yet. To create the page, start typing in the box below (see the &#91;&#91;Wiktionary:Help&#124;help page]] for more info). If you are here by mistake, just click your browser&#39;s &#39;&#39;&#39;back&#39;&#39;&#39; button. </td><td> {{MSGNW:newarticletext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Newmessages&action=edit newmessages] </td><td> You have $1. </td><td> {{MSGNW:newmessages}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Newmessageslink&action=edit newmessageslink] </td><td> new messages </td><td> {{MSGNW:newmessageslink}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Newpage&action=edit newpage] </td><td> New page </td><td> {{MSGNW:newpage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Newpageletter&action=edit newpageletter] </td><td> N </td><td> {{MSGNW:newpageletter}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Newpages&action=edit newpages] </td><td> New pages </td><td> {{MSGNW:newpages}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Newpassword&action=edit newpassword] </td><td> New password </td><td> {{MSGNW:newpassword}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Newtitle&action=edit newtitle] </td><td> To new title </td><td> {{MSGNW:newtitle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Newusersonly&action=edit newusersonly] </td><td> (new users only) </td><td> {{MSGNW:newusersonly}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Next&action=edit next] </td><td> next </td><td> {{MSGNW:next}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Nextn&action=edit nextn] </td><td> next $1 </td><td> {{MSGNW:nextn}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Nlinks&action=edit nlinks] </td><td> $1 links </td><td> {{MSGNW:nlinks}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Noaffirmation&action=edit noaffirmation] </td><td> You must affirm that your upload does not violate any copyrights. </td><td> {{MSGNW:noaffirmation}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Noarticletext&action=edit noarticletext] </td><td> (There is currently no text in this page) </td><td> {{MSGNW:noarticletext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Noblockreason&action=edit noblockreason] </td><td> You must supply a reason for the block. </td><td> {{MSGNW:noblockreason}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Noconnect&action=edit noconnect] </td><td> Sorry! The wiki is experiencing some technical difficulties, and cannot contact the database server. </td><td> {{MSGNW:noconnect}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Nocontribs&action=edit nocontribs] </td><td> No changes were found matching these criteria. </td><td> {{MSGNW:nocontribs}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Nocookieslogin&action=edit nocookieslogin] </td><td> Wiktionary uses cookies to log in users. You have cookies disabled. Please enable them and try again. </td><td> {{MSGNW:nocookieslogin}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Nocookiesnew&action=edit nocookiesnew] </td><td> The user account was created, but you are not logged in. Wiktionary uses cookies to log in users. You have cookies disabled. Please enable them, then log in with your new username and password. </td><td> {{MSGNW:nocookiesnew}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Nodb&action=edit nodb] </td><td> Could not select database $1 </td><td> {{MSGNW:nodb}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Noemail&action=edit noemail] </td><td> There is no e-mail address recorded for user &quot;$1&quot;. </td><td> {{MSGNW:noemail}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Noemailtext&action=edit noemailtext] </td><td> This user has not specified a valid e-mail address, or has chosen not to receive e-mail from other users. </td><td> {{MSGNW:noemailtext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Noemailtitle&action=edit noemailtitle] </td><td> No e-mail address </td><td> {{MSGNW:noemailtitle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Nogomatch&action=edit nogomatch] </td><td> No page with this exact title exists, trying full text search. </td><td> {{MSGNW:nogomatch}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Nohistory&action=edit nohistory] </td><td> There is no edit history for this page. </td><td> {{MSGNW:nohistory}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Nolinkshere&action=edit nolinkshere] </td><td> No pages link to here. </td><td> {{MSGNW:nolinkshere}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Nolinkstoimage&action=edit nolinkstoimage] </td><td> There are no pages that link to this image. </td><td> {{MSGNW:nolinkstoimage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Noname&action=edit noname] </td><td> You have not specified a valid user name. </td><td> {{MSGNW:noname}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Nonefound&action=edit nonefound] </td><td> &lt;strong&gt;Note&lt;/strong&gt;: unsuccessful searches are often caused by searching for common words like &quot;have&quot; and &quot;from&quot;, which are not indexed, or by specifying more than one search term (only pages containing all of the search terms will appear in the result). </td><td> {{MSGNW:nonefound}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Nospecialpagetext&action=edit nospecialpagetext] </td><td> You have requested a special page that is not recognized by the wiki. </td><td> {{MSGNW:nospecialpagetext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Nosuchaction&action=edit nosuchaction] </td><td> No such action </td><td> {{MSGNW:nosuchaction}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Nosuchactiontext&action=edit nosuchactiontext] </td><td> The action specified by the URL is not recognized by the wiki </td><td> {{MSGNW:nosuchactiontext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Nosuchspecialpage&action=edit nosuchspecialpage] </td><td> No such special page </td><td> {{MSGNW:nosuchspecialpage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Nosuchuser&action=edit nosuchuser] </td><td> There is no user by the name &quot;$1&quot;. Check your spelling, or use the form below to create a new user account. </td><td> {{MSGNW:nosuchuser}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Notanarticle&action=edit notanarticle] </td><td> Not an article </td><td> {{MSGNW:notanarticle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Notargettext&action=edit notargettext] </td><td> You have not specified a target page or user to perform this function on. </td><td> {{MSGNW:notargettext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Notargettitle&action=edit notargettitle] </td><td> No target </td><td> {{MSGNW:notargettitle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Note&action=edit note] </td><td> &lt;strong&gt;Note:&lt;/strong&gt; </td><td> {{MSGNW:note}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Notextmatches&action=edit notextmatches] </td><td> No article text matches </td><td> {{MSGNW:notextmatches}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Notitlematches&action=edit notitlematches] </td><td> No article title matches </td><td> {{MSGNW:notitlematches}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Notloggedin&action=edit notloggedin] </td><td> Not logged in </td><td> {{MSGNW:notloggedin}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Nowatchlist&action=edit nowatchlist] </td><td> You have no items on your watchlist. </td><td> {{MSGNW:nowatchlist}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Nowiki_sample&action=edit nowiki_sample] </td><td> Insert non-formatted text here </td><td> {{MSGNW:nowiki_sample}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Nowiki_tip&action=edit nowiki_tip] </td><td> Ignore wiki formatting </td><td> {{MSGNW:nowiki_tip}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Nviews&action=edit nviews] </td><td> $1 views </td><td> {{MSGNW:nviews}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Ok&action=edit ok] </td><td> OK </td><td> {{MSGNW:ok}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Oldpassword&action=edit oldpassword] </td><td> Old password </td><td> {{MSGNW:oldpassword}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Orig&action=edit orig] </td><td> orig </td><td> {{MSGNW:orig}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Orphans&action=edit orphans] </td><td> Orphaned pages </td><td> {{MSGNW:orphans}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Otherlanguages&action=edit otherlanguages] </td><td> Other languages </td><td> {{MSGNW:otherlanguages}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Pagemovedsub&action=edit pagemovedsub] </td><td> Move succeeded </td><td> {{MSGNW:pagemovedsub}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Pagemovedtext&action=edit pagemovedtext] </td><td> Page &quot;&#91;&#91;$1]]&quot; moved to &quot;&#91;&#91;$2]]&quot;. </td><td> {{MSGNW:pagemovedtext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Passwordremindertext&action=edit passwordremindertext] </td><td> Someone (probably you, from IP address $1) requested that we send you a new Wiktionary login password. The password for user &quot;$2&quot; is now &quot;$3&quot;. You should log in and change your password now. </td><td> {{MSGNW:passwordremindertext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Passwordremindertitle&action=edit passwordremindertitle] </td><td> Password reminder from Wiktionary </td><td> {{MSGNW:passwordremindertitle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Passwordsent&action=edit passwordsent] </td><td> A new password has been sent to the e-mail address registered for &quot;$1&quot;. Please log in again after you receive it. </td><td> {{MSGNW:passwordsent}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Perfdisabled&action=edit perfdisabled] </td><td> Sorry! This feature has been temporarily disabled because it slows the database down to the point that no one can use the wiki. </td><td> {{MSGNW:perfdisabled}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Perfdisabledsub&action=edit perfdisabledsub] </td><td> Here&#39;s a saved copy from $1: </td><td> {{MSGNW:perfdisabledsub}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Popularpages&action=edit popularpages] </td><td> Popular pages </td><td> {{MSGNW:popularpages}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Postcomment&action=edit postcomment] </td><td> Post a comment </td><td> {{MSGNW:postcomment}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Powersearch&action=edit powersearch] </td><td> Search </td><td> {{MSGNW:powersearch}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Powersearchtext&action=edit powersearchtext] </td><td> Search in namespaces :&lt;br&gt; $1&lt;br&gt; $2 List redirects &amp;nbsp; Search for $3 $9 </td><td> {{MSGNW:powersearchtext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Preferences&action=edit preferences] </td><td> Preferences </td><td> {{MSGNW:preferences}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Prefslogintext&action=edit prefslogintext] </td><td> You are logged in as &quot;$1&quot;. Your internal ID number is $2. See &#91;&#91;Wiktionary:User preferences help]] for help deciphering the options. </td><td> {{MSGNW:prefslogintext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Prefsnologin&action=edit prefsnologin] </td><td> Not logged in </td><td> {{MSGNW:prefsnologin}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Prefsnologintext&action=edit prefsnologintext] </td><td> You must be &lt;a href=&quot;/wiki/Special:Userlogin&quot;&gt;logged in&lt;/a&gt; to set user preferences. </td><td> {{MSGNW:prefsnologintext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Prefsreset&action=edit prefsreset] </td><td> Preferences have been reset from storage. </td><td> {{MSGNW:prefsreset}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Preview&action=edit preview] </td><td> Preview </td><td> {{MSGNW:preview}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Previewconflict&action=edit previewconflict] </td><td> This preview reflects the text in the upper text editing area as it will appear if you choose to save. </td><td> {{MSGNW:previewconflict}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Previewnote&action=edit previewnote] </td><td> Remember that this is only a preview, and has not yet been saved! </td><td> {{MSGNW:previewnote}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Prevn&action=edit prevn] </td><td> previous $1 </td><td> {{MSGNW:prevn}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Printableversion&action=edit printableversion] </td><td> Printable version </td><td> {{MSGNW:printableversion}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Printsubtitle&action=edit printsubtitle] </td><td> (From http&#58;//www.wikipedia.org) </td><td> {{MSGNW:printsubtitle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Protectedarticle&action=edit protectedarticle] </td><td> protected &#91;&#91;$1]] </td><td> {{MSGNW:protectedarticle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Protectedpage&action=edit protectedpage] </td><td> Protected page </td><td> {{MSGNW:protectedpage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Protectedpagewarning&action=edit protectedpagewarning] </td><td> WARNING: This page has been locked so that only users with sysop privileges can edit it. Be sure you are following the &lt;a href=&#39;/wiki/Wiktionary:Protected_page_guidelines&#39;&gt;protected page guidelines&lt;/a&gt;. </td><td> {{MSGNW:protectedpagewarning}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Protectedtext&action=edit protectedtext] </td><td> This page has been locked to prevent editing; there are a number of reasons why this may be so, please see &#91;&#91;Wiktionary:Protected page]]. You can view and copy the source of this page: </td><td> {{MSGNW:protectedtext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Protectlogpage&action=edit protectlogpage] </td><td> Protection_log </td><td> {{MSGNW:protectlogpage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Protectlogtext&action=edit protectlogtext] </td><td> Below is a list of page locks/unlocks. See &#91;&#91;Wiktionary:Protected page]] for more information. </td><td> {{MSGNW:protectlogtext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Protectpage&action=edit protectpage] </td><td> Protect page </td><td> {{MSGNW:protectpage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Protectthispage&action=edit protectthispage] </td><td> Protect this page </td><td> {{MSGNW:protectthispage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Qbbrowse&action=edit qbbrowse] </td><td> Browse </td><td> {{MSGNW:qbbrowse}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Qbedit&action=edit qbedit] </td><td> Edit </td><td> {{MSGNW:qbedit}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Qbfind&action=edit qbfind] </td><td> Find </td><td> {{MSGNW:qbfind}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Qbmyoptions&action=edit qbmyoptions] </td><td> My pages </td><td> {{MSGNW:qbmyoptions}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Qbpageinfo&action=edit qbpageinfo] </td><td> Context </td><td> {{MSGNW:qbpageinfo}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Qbpageoptions&action=edit qbpageoptions] </td><td> This page </td><td> {{MSGNW:qbpageoptions}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Qbsettings&action=edit qbsettings] </td><td> Quickbar settings </td><td> {{MSGNW:qbsettings}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Qbspecialpages&action=edit qbspecialpages] </td><td> Special pages </td><td> {{MSGNW:qbspecialpages}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Querybtn&action=edit querybtn] </td><td> Submit query </td><td> {{MSGNW:querybtn}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Querysuccessful&action=edit querysuccessful] </td><td> Query successful </td><td> {{MSGNW:querysuccessful}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Randompage&action=edit randompage] </td><td> Random page </td><td> {{MSGNW:randompage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Range_block_disabled&action=edit range_block_disabled] </td><td> The sysop ability to create range blocks is disabled. </td><td> {{MSGNW:range_block_disabled}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Rchide&action=edit rchide] </td><td> in $4 form; $1 minor edits; $2 secondary namespaces; $3 multiple edits. </td><td> {{MSGNW:rchide}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Rclinks&action=edit rclinks] </td><td> Show last $1 changes in last $2 days; $3 </td><td> {{MSGNW:rclinks}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Rclistfrom&action=edit rclistfrom] </td><td> Show new changes starting from $1 </td><td> {{MSGNW:rclistfrom}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Rcliu&action=edit rcliu] </td><td> ; $1 edits from logged in users </td><td> {{MSGNW:rcliu}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Rcloaderr&action=edit rcloaderr] </td><td> Loading recent changes </td><td> {{MSGNW:rcloaderr}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Rclsub&action=edit rclsub] </td><td> (to pages linked from &quot;$1&quot;) </td><td> {{MSGNW:rclsub}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Rcnote&action=edit rcnote] </td><td> Below are the last &lt;strong&gt;$1&lt;/strong&gt; changes in last &lt;strong&gt;$2&lt;/strong&gt; days. </td><td> {{MSGNW:rcnote}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Rcnotefrom&action=edit rcnotefrom] </td><td> Below are the changes since &lt;b&gt;$2&lt;/b&gt; (up to &lt;b&gt;$1&lt;/b&gt; shown). </td><td> {{MSGNW:rcnotefrom}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Readonly&action=edit readonly] </td><td> Database locked </td><td> {{MSGNW:readonly}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Readonlytext&action=edit readonlytext] </td><td> The database is currently locked to new entries and other modifications, probably for routine database maintenance, after which it will be back to normal. The administrator who locked it offered this explanation: &lt;p&gt;$1 </td><td> {{MSGNW:readonlytext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Readonlywarning&action=edit readonlywarning] </td><td> WARNING: The database has been locked for maintenance, so you will not be able to save your edits right now. You may wish to cut-n-paste the text into a text file and save it for later. </td><td> {{MSGNW:readonlywarning}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Recentchanges&action=edit recentchanges] </td><td> Recent changes </td><td> {{MSGNW:recentchanges}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Recentchangescount&action=edit recentchangescount] </td><td> Number of titles in recent changes </td><td> {{MSGNW:recentchangescount}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Recentchangeslinked&action=edit recentchangeslinked] </td><td> Related changes </td><td> {{MSGNW:recentchangeslinked}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Recentchangestext&action=edit recentchangestext] </td><td> Track the most recent changes to the wiki on this page. </td><td> {{MSGNW:recentchangestext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Redirectedfrom&action=edit redirectedfrom] </td><td> (Redirected from $1) </td><td> {{MSGNW:redirectedfrom}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Remembermypassword&action=edit remembermypassword] </td><td> Remember my password across sessions. </td><td> {{MSGNW:remembermypassword}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Removechecked&action=edit removechecked] </td><td> Remove checked items from watchlist </td><td> {{MSGNW:removechecked}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Removedwatch&action=edit removedwatch] </td><td> Removed from watchlist </td><td> {{MSGNW:removedwatch}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Removedwatchtext&action=edit removedwatchtext] </td><td> The page &quot;$1&quot; has been removed from your watchlist. </td><td> {{MSGNW:removedwatchtext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Removingchecked&action=edit removingchecked] </td><td> Removing requested items from watchlist... </td><td> {{MSGNW:removingchecked}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Resetprefs&action=edit resetprefs] </td><td> Reset preferences </td><td> {{MSGNW:resetprefs}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Restorelink&action=edit restorelink] </td><td> $1 deleted edits </td><td> {{MSGNW:restorelink}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Resultsperpage&action=edit resultsperpage] </td><td> Hits to show per page </td><td> {{MSGNW:resultsperpage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Retrievedfrom&action=edit retrievedfrom] </td><td> Retrieved from &quot;$1&quot; </td><td> {{MSGNW:retrievedfrom}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Returnto&action=edit returnto] </td><td> Return to $1. </td><td> {{MSGNW:returnto}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Retypenew&action=edit retypenew] </td><td> Retype new password </td><td> {{MSGNW:retypenew}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Reupload&action=edit reupload] </td><td> Re-upload </td><td> {{MSGNW:reupload}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Reuploaddesc&action=edit reuploaddesc] </td><td> Return to the upload form. </td><td> {{MSGNW:reuploaddesc}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Reverted&action=edit reverted] </td><td> Reverted to earlier revision </td><td> {{MSGNW:reverted}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Revertimg&action=edit revertimg] </td><td> rev </td><td> {{MSGNW:revertimg}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Revertpage&action=edit revertpage] </td><td> Reverted edit of $2, changed back to last version by $1 </td><td> {{MSGNW:revertpage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Revhistory&action=edit revhistory] </td><td> Revision history </td><td> {{MSGNW:revhistory}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Revisionasof&action=edit revisionasof] </td><td> Revision as of $1 </td><td> {{MSGNW:revisionasof}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Revnotfound&action=edit revnotfound] </td><td> Revision not found </td><td> {{MSGNW:revnotfound}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Revnotfoundtext&action=edit revnotfoundtext] </td><td> The old revision of the page you asked for could not be found. Please check the URL you used to access this page. </td><td> {{MSGNW:revnotfoundtext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Rollback&action=edit rollback] </td><td> Roll back edits </td><td> {{MSGNW:rollback}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Rollbackfailed&action=edit rollbackfailed] </td><td> Rollback failed </td><td> {{MSGNW:rollbackfailed}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Rollbacklink&action=edit rollbacklink] </td><td> rollback </td><td> {{MSGNW:rollbacklink}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Rows&action=edit rows] </td><td> Rows </td><td> {{MSGNW:rows}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Savearticle&action=edit savearticle] </td><td> Save page </td><td> {{MSGNW:savearticle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Savedprefs&action=edit savedprefs] </td><td> Your preferences have been saved. </td><td> {{MSGNW:savedprefs}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Savefile&action=edit savefile] </td><td> Save file </td><td> {{MSGNW:savefile}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Saveprefs&action=edit saveprefs] </td><td> Save preferences </td><td> {{MSGNW:saveprefs}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Search&action=edit search] </td><td> Search </td><td> {{MSGNW:search}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Searchdisabled&action=edit searchdisabled] </td><td> &lt;p&gt;Sorry! Full text search has been disabled temporarily, for performance reasons. In the meantime, you can use the Google search below, which may be out of date.&lt;/p&gt; &lt;!-- SiteSearch Google --&gt; &lt;FORM method=GET action=&quot;http&#58;//www.google.com/search&quot;&gt; &lt;TABLE bgcolor=&quot;#FFFFFF&quot;&gt;&lt;tr&gt;&lt;td&gt; &lt;A HREF=&quot;http&#58;//www.google.com/&quot;&gt; &lt;IMG SRC=&quot;http&#58;//www.google.com/logos/Logo_40wht.gif&quot; border=&quot;0&quot; ALT=&quot;Google&quot;&gt;&lt;/A&gt; &lt;/td&gt; &lt;td&gt; &lt;INPUT TYPE=text name=q size=31 maxlength=255 value=&quot;$1&quot;&gt; &lt;INPUT type=submit name=btnG VALUE=&quot;Google Search&quot;&gt; &lt;font size=-1&gt; &lt;input type=hidden name=domains value=&quot;http&#58;//tn.wikipedia.org&quot;&gt;&lt;br&gt;&lt;input type=radio name=sitesearch value=&quot;&quot;&gt; WWW &lt;input type=radio name=sitesearch value=&quot;http&#58;//tn.wikipedia.org&quot; checked&gt; http&#58;//tn.wikipedia.org &lt;br&gt; &lt;input type=&#39;hidden&#39; name=&#39;ie&#39; value=&#39;$2&#39;&gt; &lt;input type=&#39;hidden&#39; name=&#39;oe&#39; value=&#39;$2&#39;&gt; &lt;/font&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/TABLE&gt; &lt;/FORM&gt; &lt;!-- SiteSearch Google --&gt; </td><td> {{MSGNW:searchdisabled}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Searchhelppage&action=edit searchhelppage] </td><td> Wiktionary:Searching </td><td> {{MSGNW:searchhelppage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Searchingwikipedia&action=edit searchingwikipedia] </td><td> Searching Wiktionary </td><td> {{MSGNW:searchingwikipedia}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Searchquery&action=edit searchquery] </td><td> For query &quot;$1&quot; </td><td> {{MSGNW:searchquery}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Searchresults&action=edit searchresults] </td><td> Search results </td><td> {{MSGNW:searchresults}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Searchresultshead&action=edit searchresultshead] </td><td> Search result settings </td><td> {{MSGNW:searchresultshead}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Searchresulttext&action=edit searchresulttext] </td><td> For more information about searching Wiktionary, see $1. </td><td> {{MSGNW:searchresulttext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Sectionedit&action=edit sectionedit] </td><td> (section) </td><td> {{MSGNW:sectionedit}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Selectonly&action=edit selectonly] </td><td> Only read-only queries are allowed. </td><td> {{MSGNW:selectonly}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Selflinks&action=edit selflinks] </td><td> Pages with Self Links </td><td> {{MSGNW:selflinks}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Selflinkstext&action=edit selflinkstext] </td><td> The following pages contain a link to themselves, which they should not. </td><td> {{MSGNW:selflinkstext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Servertime&action=edit servertime] </td><td> Server time is now </td><td> {{MSGNW:servertime}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Setbureaucratflag&action=edit setbureaucratflag] </td><td> Set bureaucrat flag </td><td> {{MSGNW:setbureaucratflag}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Shortpages&action=edit shortpages] </td><td> Short pages </td><td> {{MSGNW:shortpages}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Show&action=edit show] </td><td> show </td><td> {{MSGNW:show}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Showhideminor&action=edit showhideminor] </td><td> $1 minor edits </td><td> {{MSGNW:showhideminor}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Showingresults&action=edit showingresults] </td><td> Showing below &lt;b&gt;$1&lt;/b&gt; results starting with #&lt;b&gt;$2&lt;/b&gt;. </td><td> {{MSGNW:showingresults}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Showingresultsnum&action=edit showingresultsnum] </td><td> Showing below &lt;b&gt;$3&lt;/b&gt; results starting with #&lt;b&gt;$2&lt;/b&gt;. </td><td> {{MSGNW:showingresultsnum}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Showlast&action=edit showlast] </td><td> Show last $1 images sorted $2. </td><td> {{MSGNW:showlast}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Showpreview&action=edit showpreview] </td><td> Show preview </td><td> {{MSGNW:showpreview}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Showtoc&action=edit showtoc] </td><td> show </td><td> {{MSGNW:showtoc}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Sig_tip&action=edit sig_tip] </td><td> Your signature with timestamp </td><td> {{MSGNW:sig_tip}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Sitestats&action=edit sitestats] </td><td> Site statistics </td><td> {{MSGNW:sitestats}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Sitestatstext&action=edit sitestatstext] </td><td> There are &lt;b&gt;$1&lt;/b&gt; total pages in the database. This includes &quot;talk&quot; pages, pages about Wiktionary, minimal &quot;stub&quot; pages, redirects, and others that probably don&#39;t qualify as articles. Excluding those, there are &lt;b&gt;$2&lt;/b&gt; pages that are probably legitimate articles.&lt;p&gt; There have been a total of &lt;b&gt;$3&lt;/b&gt; page views, and &lt;b&gt;$4&lt;/b&gt; page edits since the software was upgraded (July 20, 2002). That comes to &lt;b&gt;$5&lt;/b&gt; average edits per page, and &lt;b&gt;$6&lt;/b&gt; views per edit. </td><td> {{MSGNW:sitestatstext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Sitesubtitle&action=edit sitesubtitle] </td><td> The Free Encyclopedia </td><td> {{MSGNW:sitesubtitle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Sitesupport&action=edit sitesupport] </td><td> Donations </td><td> {{MSGNW:sitesupport}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Sitesupportpage&action=edit sitesupportpage] </td><td> &amp;lt;sitesupportpage&amp;gt; </td><td> {{MSGNW:sitesupportpage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Sitetitle&action=edit sitetitle] </td><td> Wiktionary </td><td> {{MSGNW:sitetitle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Skin&action=edit skin] </td><td> Skin </td><td> {{MSGNW:skin}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Specialpages&action=edit specialpages] </td><td> Special pages </td><td> {{MSGNW:specialpages}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Spheading&action=edit spheading] </td><td> Special pages for all users </td><td> {{MSGNW:spheading}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Sqlislogged&action=edit sqlislogged] </td><td> Please note that all queries are logged. </td><td> {{MSGNW:sqlislogged}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Sqlquery&action=edit sqlquery] </td><td> Enter query </td><td> {{MSGNW:sqlquery}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Statistics&action=edit statistics] </td><td> Statistics </td><td> {{MSGNW:statistics}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Storedversion&action=edit storedversion] </td><td> Stored version </td><td> {{MSGNW:storedversion}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Stubthreshold&action=edit stubthreshold] </td><td> Threshold for stub display </td><td> {{MSGNW:stubthreshold}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Subcategories&action=edit subcategories] </td><td> Subcategories </td><td> {{MSGNW:subcategories}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Subject&action=edit subject] </td><td> Subject/headline </td><td> {{MSGNW:subject}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Subjectpage&action=edit subjectpage] </td><td> View subject </td><td> {{MSGNW:subjectpage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Successfulupload&action=edit successfulupload] </td><td> Successful upload </td><td> {{MSGNW:successfulupload}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Summary&action=edit summary] </td><td> Summary </td><td> {{MSGNW:summary}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Sysopspheading&action=edit sysopspheading] </td><td> For sysop use only </td><td> {{MSGNW:sysopspheading}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Sysoptext&action=edit sysoptext] </td><td> The action you have requested can only be performed by users with &quot;sysop&quot; status. See $1. </td><td> {{MSGNW:sysoptext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Sysoptitle&action=edit sysoptitle] </td><td> Sysop access required </td><td> {{MSGNW:sysoptitle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Tableform&action=edit tableform] </td><td> table </td><td> {{MSGNW:tableform}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Talkexists&action=edit talkexists] </td><td> The page itself was moved successfully, but the talk page could not be moved because one already exists at the new title. Please merge them manually. </td><td> {{MSGNW:talkexists}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Talkpage&action=edit talkpage] </td><td> Discuss this page </td><td> {{MSGNW:talkpage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Talkpagemoved&action=edit talkpagemoved] </td><td> The corresponding talk page was also moved. </td><td> {{MSGNW:talkpagemoved}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Talkpagenotmoved&action=edit talkpagenotmoved] </td><td> The corresponding talk page was &lt;strong&gt;not&lt;/strong&gt; moved. </td><td> {{MSGNW:talkpagenotmoved}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Textboxsize&action=edit textboxsize] </td><td> Textbox dimensions </td><td> {{MSGNW:textboxsize}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Textmatches&action=edit textmatches] </td><td> Article text matches </td><td> {{MSGNW:textmatches}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Thisisdeleted&action=edit thisisdeleted] </td><td> View or restore $1? </td><td> {{MSGNW:thisisdeleted}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Thumbnail-more&action=edit thumbnail-more] </td><td> Enlarge </td><td> {{MSGNW:thumbnail-more}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Timezoneoffset&action=edit timezoneoffset] </td><td> Offset </td><td> {{MSGNW:timezoneoffset}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Timezonetext&action=edit timezonetext] </td><td> Enter number of hours your local time differs from server time (UTC). </td><td> {{MSGNW:timezonetext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Titlematches&action=edit titlematches] </td><td> Article title matches </td><td> {{MSGNW:titlematches}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Toc&action=edit toc] </td><td> Table of contents </td><td> {{MSGNW:toc}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Uclinks&action=edit uclinks] </td><td> View the last $1 changes; view the last $2 days. </td><td> {{MSGNW:uclinks}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Ucnote&action=edit ucnote] </td><td> Below are this user&#39;s last &lt;b&gt;$1&lt;/b&gt; changes in the last &lt;b&gt;$2&lt;/b&gt; days. </td><td> {{MSGNW:ucnote}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Uctop&action=edit uctop] </td><td> (top) </td><td> {{MSGNW:uctop}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Unblockip&action=edit unblockip] </td><td> Unblock user </td><td> {{MSGNW:unblockip}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Unblockiptext&action=edit unblockiptext] </td><td> Use the form below to restore write access to a previously blocked IP address or username. </td><td> {{MSGNW:unblockiptext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Unblocklink&action=edit unblocklink] </td><td> unblock </td><td> {{MSGNW:unblocklink}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Unblocklogentry&action=edit unblocklogentry] </td><td> unblocked &quot;$1&quot; </td><td> {{MSGNW:unblocklogentry}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Undelete&action=edit undelete] </td><td> Restore deleted page </td><td> {{MSGNW:undelete}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Undeletearticle&action=edit undeletearticle] </td><td> Restore deleted article </td><td> {{MSGNW:undeletearticle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Undeletebtn&action=edit undeletebtn] </td><td> Restore! </td><td> {{MSGNW:undeletebtn}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Undeletedarticle&action=edit undeletedarticle] </td><td> restored &quot;$1&quot; </td><td> {{MSGNW:undeletedarticle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Undeletedtext&action=edit undeletedtext] </td><td> The article &#91;&#91;$1]] has been successfully restored. See &#91;&#91;Wiktionary:Deletion_log]] for a record of recent deletions and restorations. </td><td> {{MSGNW:undeletedtext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Undeletehistory&action=edit undeletehistory] </td><td> If you restore the page, all revisions will be restored to the history. If a new page with the same name has been created since the deletion, the restored revisions will appear in the prior history, and the current revision of the live page will not be automatically replaced. </td><td> {{MSGNW:undeletehistory}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Undeletepage&action=edit undeletepage] </td><td> View and restore deleted pages </td><td> {{MSGNW:undeletepage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Undeletepagetext&action=edit undeletepagetext] </td><td> The following pages have been deleted but are still in the archive and can be restored. The archive may be periodically cleaned out. </td><td> {{MSGNW:undeletepagetext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Undeleterevision&action=edit undeleterevision] </td><td> Deleted revision as of $1 </td><td> {{MSGNW:undeleterevision}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Undeleterevisions&action=edit undeleterevisions] </td><td> $1 revisions archived </td><td> {{MSGNW:undeleterevisions}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Unexpected&action=edit unexpected] </td><td> Unexpected value: &quot;$1&quot;=&quot;$2&quot;. </td><td> {{MSGNW:unexpected}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Unlockbtn&action=edit unlockbtn] </td><td> Unlock database </td><td> {{MSGNW:unlockbtn}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Unlockconfirm&action=edit unlockconfirm] </td><td> Yes, I really want to unlock the database. </td><td> {{MSGNW:unlockconfirm}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Unlockdb&action=edit unlockdb] </td><td> Unlock database </td><td> {{MSGNW:unlockdb}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Unlockdbsuccesssub&action=edit unlockdbsuccesssub] </td><td> Database lock removed </td><td> {{MSGNW:unlockdbsuccesssub}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Unlockdbsuccesstext&action=edit unlockdbsuccesstext] </td><td> The database has been unlocked. </td><td> {{MSGNW:unlockdbsuccesstext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Unlockdbtext&action=edit unlockdbtext] </td><td> Unlocking the database will restore the ability of all users to edit pages, change their preferences, edit their watchlists, and other things requiring changes in the database. Please confirm that this is what you intend to do. </td><td> {{MSGNW:unlockdbtext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Unprotectedarticle&action=edit unprotectedarticle] </td><td> unprotected &#91;&#91;$1]] </td><td> {{MSGNW:unprotectedarticle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Unprotectthispage&action=edit unprotectthispage] </td><td> Unprotect this page </td><td> {{MSGNW:unprotectthispage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Unusedimages&action=edit unusedimages] </td><td> Unused images </td><td> {{MSGNW:unusedimages}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Unusedimagestext&action=edit unusedimagestext] </td><td> &lt;p&gt;Please note that other web sites such as the international Wiktionarys may link to an image with a direct URL, and so may still be listed here despite being in active use. </td><td> {{MSGNW:unusedimagestext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Unwatchthispage&action=edit unwatchthispage] </td><td> Stop watching </td><td> {{MSGNW:unwatchthispage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Updated&action=edit updated] </td><td> (Updated) </td><td> {{MSGNW:updated}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Upload&action=edit upload] </td><td> Upload file </td><td> {{MSGNW:upload}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Uploadbtn&action=edit uploadbtn] </td><td> Upload file </td><td> {{MSGNW:uploadbtn}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Uploaddisabled&action=edit uploaddisabled] </td><td> Sorry, uploading is disabled. </td><td> {{MSGNW:uploaddisabled}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Uploadedfiles&action=edit uploadedfiles] </td><td> Uploaded files </td><td> {{MSGNW:uploadedfiles}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Uploadedimage&action=edit uploadedimage] </td><td> uploaded &quot;$1&quot; </td><td> {{MSGNW:uploadedimage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Uploaderror&action=edit uploaderror] </td><td> Upload error </td><td> {{MSGNW:uploaderror}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Uploadfile&action=edit uploadfile] </td><td> Upload images, sounds, documents etc. </td><td> {{MSGNW:uploadfile}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Uploadlink&action=edit uploadlink] </td><td> Upload images </td><td> {{MSGNW:uploadlink}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Uploadlog&action=edit uploadlog] </td><td> upload log </td><td> {{MSGNW:uploadlog}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Uploadlogpage&action=edit uploadlogpage] </td><td> Upload_log </td><td> {{MSGNW:uploadlogpage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Uploadlogpagetext&action=edit uploadlogpagetext] </td><td> Below is a list of the most recent file uploads. All times shown are server time (UTC). &lt;ul&gt; &lt;/ul&gt; </td><td> {{MSGNW:uploadlogpagetext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Uploadnologin&action=edit uploadnologin] </td><td> Not logged in </td><td> {{MSGNW:uploadnologin}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Uploadnologintext&action=edit uploadnologintext] </td><td> You must be &lt;a href=&quot;/wiki/Special:Userlogin&quot;&gt;logged in&lt;/a&gt; to upload files. </td><td> {{MSGNW:uploadnologintext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Uploadtext&action=edit uploadtext] </td><td> &lt;strong&gt;STOP!&lt;/strong&gt; Before you upload here, make sure to read and follow the &lt;a href=&quot;/wiki/Wiktionary:Image_use_policy&quot;&gt;image use policy&lt;/a&gt;. &lt;p&gt;If a file with the name you are specifying already exists on the wiki, it&#39;ll be replaced without warning. So unless you mean to update a file, it&#39;s a good idea to first check if such a file exists. &lt;p&gt;To view or search previously uploaded images, go to the &lt;a href=&quot;/wiki/Special:Imagelist&quot;&gt;list of uploaded images&lt;/a&gt;. Uploads and deletions are logged on the &lt;a href=&quot;/wiki/Wiktionary:Upload_log&quot;&gt;upload log&lt;/a&gt;. &lt;p&gt;Use the form below to upload new image files for use in illustrating your articles. On most browsers, you will see a &quot;Browse...&quot; button, which will bring up your operating system&#39;s standard file open dialog. Choosing a file will fill the name of that file into the text field next to the button. You must also check the box affirming that you are not violating any copyrights by uploading the file. Press the &quot;Upload&quot; button to finish the upload. This may take some time if you have a slow internet connection. &lt;p&gt;The preferred formats are JPEG for photographic images, PNG for drawings and other iconic images, and OGG for sounds. Please name your files descriptively to avoid confusion. To include the image in an article, use a link in the form &lt;b&gt;&#91;&#91;image:file.jpg]]&lt;/b&gt; or &lt;b&gt;&#91;&#91;image:file.png&#124;alt text]]&lt;/b&gt; or &lt;b&gt;&#91;&#91;media:file.ogg]]&lt;/b&gt; for sounds. &lt;p&gt;Please note that as with wiki pages, others may edit or delete your uploads if they think it serves the encyclopedia, and you may be blocked from uploading if you abuse the system. </td><td> {{MSGNW:uploadtext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Uploadwarning&action=edit uploadwarning] </td><td> Upload warning </td><td> {{MSGNW:uploadwarning}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Userexists&action=edit userexists] </td><td> The user name you entered is already in use. Please choose a different name. </td><td> {{MSGNW:userexists}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Userlogin&action=edit userlogin] </td><td> Log in </td><td> {{MSGNW:userlogin}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Userlogout&action=edit userlogout] </td><td> Log out </td><td> {{MSGNW:userlogout}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Userpage&action=edit userpage] </td><td> View user page </td><td> {{MSGNW:userpage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Userstats&action=edit userstats] </td><td> User statistics </td><td> {{MSGNW:userstats}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Userstatstext&action=edit userstatstext] </td><td> There are &lt;b&gt;$1&lt;/b&gt; registered users. &lt;b&gt;$2&lt;/b&gt; of these are administrators (see $3). </td><td> {{MSGNW:userstatstext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Version&action=edit version] </td><td> Version </td><td> {{MSGNW:version}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Viewcount&action=edit viewcount] </td><td> This page has been accessed $1 times. </td><td> {{MSGNW:viewcount}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Viewprevnext&action=edit viewprevnext] </td><td> View ($1) ($2) ($3). </td><td> {{MSGNW:viewprevnext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Viewsource&action=edit viewsource] </td><td> View source </td><td> {{MSGNW:viewsource}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Viewtalkpage&action=edit viewtalkpage] </td><td> View discussion </td><td> {{MSGNW:viewtalkpage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Wantedpages&action=edit wantedpages] </td><td> Wanted pages </td><td> {{MSGNW:wantedpages}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Watchdetails&action=edit watchdetails] </td><td> ($1 pages watched not counting talk pages; $2 total pages edited since cutoff; $3... &lt;a href=&#39;$4&#39;&gt;show and edit complete list&lt;/a&gt;.) </td><td> {{MSGNW:watchdetails}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Watcheditlist&action=edit watcheditlist] </td><td> Here&#39;s an alphabetical list of your watched pages. Check the boxes of pages you want to remove from your watchlist and click the &#39;remove checked&#39; button at the bottom of the screen. </td><td> {{MSGNW:watcheditlist}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Watchlist&action=edit watchlist] </td><td> My watchlist </td><td> {{MSGNW:watchlist}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Watchlistcontains&action=edit watchlistcontains] </td><td> Your watchlist contains $1 pages. </td><td> {{MSGNW:watchlistcontains}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Watchlistsub&action=edit watchlistsub] </td><td> (for user &quot;$1&quot;) </td><td> {{MSGNW:watchlistsub}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Watchmethod-list&action=edit watchmethod-list] </td><td> checking watched pages for recent edits </td><td> {{MSGNW:watchmethod-list}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Watchmethod-recent&action=edit watchmethod-recent] </td><td> checking recent edits for watched pages </td><td> {{MSGNW:watchmethod-recent}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Watchnochange&action=edit watchnochange] </td><td> None of your watched items were edited in the time period displayed. </td><td> {{MSGNW:watchnochange}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Watchnologin&action=edit watchnologin] </td><td> Not logged in </td><td> {{MSGNW:watchnologin}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Watchnologintext&action=edit watchnologintext] </td><td> You must be &lt;a href=&quot;/wiki/Special:Userlogin&quot;&gt;logged in&lt;/a&gt; to modify your watchlist. </td><td> {{MSGNW:watchnologintext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Watchthis&action=edit watchthis] </td><td> Watch this article </td><td> {{MSGNW:watchthis}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Watchthispage&action=edit watchthispage] </td><td> Watch this page </td><td> {{MSGNW:watchthispage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Welcomecreation&action=edit welcomecreation] </td><td> &lt;h2&gt;Welcome, $1!&lt;/h2&gt;&lt;p&gt;Your account has been created. Don&#39;t forget to personalize your wikipedia preferences. </td><td> {{MSGNW:welcomecreation}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Whatlinkshere&action=edit whatlinkshere] </td><td> What links here </td><td> {{MSGNW:whatlinkshere}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Whitelistacctext&action=edit whitelistacctext] </td><td> To be allowed to create accounts in this Wiki you have to &#91;&#91;Special:Userlogin&#124;log]] in and have the appropriate permissions. </td><td> {{MSGNW:whitelistacctext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Whitelistacctitle&action=edit whitelistacctitle] </td><td> You are not allowed to create an account </td><td> {{MSGNW:whitelistacctitle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Whitelistedittext&action=edit whitelistedittext] </td><td> You have to &#91;&#91;Special:Userlogin&#124;login]] to edit articles. </td><td> {{MSGNW:whitelistedittext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Whitelistedittitle&action=edit whitelistedittitle] </td><td> Login required to edit </td><td> {{MSGNW:whitelistedittitle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Whitelistreadtext&action=edit whitelistreadtext] </td><td> You have to &#91;&#91;Special:Userlogin&#124;login]] to read articles. </td><td> {{MSGNW:whitelistreadtext}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Whitelistreadtitle&action=edit whitelistreadtitle] </td><td> Login required to read </td><td> {{MSGNW:whitelistreadtitle}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Wiktionarypage&action=edit wikipediapage] </td><td> View meta page </td><td> {{MSGNW:wikipediapage}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Wikititlesuffix&action=edit wikititlesuffix] </td><td> Wiktionary </td><td> {{MSGNW:wikititlesuffix}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Wlnote&action=edit wlnote] </td><td> Below are the last $1 changes in the last &lt;b&gt;$2&lt;/b&gt; hours. </td><td> {{MSGNW:wlnote}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Wlsaved&action=edit wlsaved] </td><td> This is a saved version of your watchlist. </td><td> {{MSGNW:wlsaved}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Wlshowlast&action=edit wlshowlast] </td><td> Show last $1 hours $2 days $3 </td><td> {{MSGNW:wlshowlast}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Wrong_wfQuery_params&action=edit wrong_wfQuery_params] </td><td> Incorrect parameters to wfQuery()&lt;br&gt; Function: $1&lt;br&gt; Query: $2 </td><td> {{MSGNW:wrong_wfQuery_params}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Wrongpassword&action=edit wrongpassword] </td><td> The password you entered is incorrect. Please try again. </td><td> {{MSGNW:wrongpassword}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Yourdiff&action=edit yourdiff] </td><td> Differences </td><td> {{MSGNW:yourdiff}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Youremail&action=edit youremail] </td><td> Your e-mail* </td><td> {{MSGNW:youremail}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Yourname&action=edit yourname] </td><td> Your user name </td><td> {{MSGNW:yourname}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Yournick&action=edit yournick] </td><td> Your nickname (for signatures) </td><td> {{MSGNW:yournick}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Yourpassword&action=edit yourpassword] </td><td> Your password </td><td> {{MSGNW:yourpassword}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Yourpasswordagain&action=edit yourpasswordagain] </td><td> Retype password </td><td> {{MSGNW:yourpasswordagain}} </td></tr><tr><td> [http://tn.wikipedia.org/w/wiki.phtml?title=MediaWiki:Yourtext&action=edit yourtext] </td><td> Your text </td><td> {{MSGNW:yourtext}} </td></tr></table> hf4pwzdrgldd3s05aoh3y4lkqqhlbnb Tempolete:Accesskey-addsection 10 590 2775 2004-06-05T19:18:10Z MediaWiki default 16 2775 wikitext text/x-wiki + jsojwe0y00ox745tisb3rfxjb66ayl8 Tempolete:Accesskey-anontalk 10 591 2776 2004-06-05T19:18:10Z MediaWiki default 16 2776 wikitext text/x-wiki n oh2rif7evp5obgx16x2w2t6pjpreh7u Tempolete:Accesskey-anonuserpage 10 592 2777 2004-06-05T19:18:10Z MediaWiki default 16 2777 wikitext text/x-wiki . 6t9fg2gmch401ldtk8m7pyzz632ixbb Tempolete:Accesskey-article 10 593 2778 2004-06-05T19:18:10Z MediaWiki default 16 2778 wikitext text/x-wiki a frkhg3ewxov0h1g2eh87fri7z1g12ns Tempolete:Accesskey-contributions 10 595 2780 2004-06-05T19:18:10Z MediaWiki default 16 2780 wikitext text/x-wiki &lt;accesskey-contributions&gt; 133cpsex7a2xagksrxhd4hhqrsdyid0 Tempolete:Accesskey-currentevents 10 596 2781 2004-06-05T19:18:10Z MediaWiki default 16 2781 wikitext text/x-wiki &lt;accesskey-currentevents&gt; o5jz5738ic2nhopi1zzszoxaqd1e6z9 Tempolete:Accesskey-delete 10 597 2782 2004-06-05T19:18:10Z MediaWiki default 16 2782 wikitext text/x-wiki d 717aqvbu0bhwock9wsh9ltkkaebq6wk Tempolete:Accesskey-edit 10 598 2783 2004-06-05T19:18:10Z MediaWiki default 16 2783 wikitext text/x-wiki e adui775lbdozbyt48qtd51g5y2uc0an Tempolete:Accesskey-emailuser 10 599 2784 2004-06-05T19:18:10Z MediaWiki default 16 2784 wikitext text/x-wiki &lt;accesskey-emailuser&gt; 18nh2khz7wz6r2udl89jz6y4t5soo37 Tempolete:Accesskey-help 10 600 2785 2004-06-05T19:18:10Z MediaWiki default 16 2785 wikitext text/x-wiki &lt;accesskey-help&gt; 19hm248pvonzdcvcdup89vyc1j7ehia Tempolete:Accesskey-history 10 601 2786 2004-06-05T19:18:10Z MediaWiki default 16 2786 wikitext text/x-wiki h 4ni88dkindqjjb63hk6ic0eltmdwlmd Tempolete:Accesskey-login 10 602 2787 2004-06-05T19:18:10Z MediaWiki default 16 2787 wikitext text/x-wiki o eb5xnx5c0ukga4l54acq37g5gaebb7a Tempolete:Accesskey-logout 10 603 2788 2004-06-05T19:18:10Z MediaWiki default 16 2788 wikitext text/x-wiki o eb5xnx5c0ukga4l54acq37g5gaebb7a Tempolete:Accesskey-mainpage 10 604 2789 2004-06-05T19:18:10Z MediaWiki default 16 2789 wikitext text/x-wiki z 6p8n7siwg3y6ymwp20i4sykvsq2xxq2 Tempolete:Accesskey-move 10 606 2791 2004-06-05T19:18:10Z MediaWiki default 16 2791 wikitext text/x-wiki m ci68lsoc8kj1tgyyd6hmuybhler2x2g Tempolete:Accesskey-mycontris 10 607 2792 2004-06-05T19:18:10Z MediaWiki default 16 2792 wikitext text/x-wiki y hhwrvip3cdwl3q0e7xbzhqs4x05fznu Tempolete:Accesskey-mytalk 10 608 2793 2004-06-05T19:18:10Z MediaWiki default 16 2793 wikitext text/x-wiki n oh2rif7evp5obgx16x2w2t6pjpreh7u Tempolete:Accesskey-portal 10 609 2794 2004-06-05T19:18:10Z MediaWiki default 16 2794 wikitext text/x-wiki &lt;accesskey-portal&gt; a1uvryzlcbvcavsc1i6r7o5cgqms9tk Tempolete:Accesskey-preferences 10 610 2795 2004-06-05T19:18:10Z MediaWiki default 16 2795 wikitext text/x-wiki &lt;accesskey-preferences&gt; h4259lhpaookbtez7azpeme2myqctlw Tempolete:Accesskey-protect 10 612 2797 2004-06-05T19:18:10Z MediaWiki default 16 2797 wikitext text/x-wiki = 3wcseag2nqzmp2dd80wwgsghpu5dvna Tempolete:Accesskey-randompage 10 613 2798 2004-06-05T19:18:10Z MediaWiki default 16 2798 wikitext text/x-wiki x 23jghj7l2sya9tjhd4oknvaaanjty0i Tempolete:Accesskey-recentchanges 10 614 2799 2004-06-05T19:18:10Z MediaWiki default 16 2799 wikitext text/x-wiki r 932yqu1subq7jvlqocbavfw8px64mgn Tempolete:Accesskey-recentchangeslinked 10 615 2800 2004-06-05T19:18:10Z MediaWiki default 16 2800 wikitext text/x-wiki c fhsqrvb277byffvlmhsimuxjvfl3b1w Tempolete:Accesskey-sitesupport 10 618 2803 2004-06-05T19:18:10Z MediaWiki default 16 2803 wikitext text/x-wiki &lt;accesskey-sitesupport&gt; i1j0pvsxndh8h919agkonphumlzcuoj Tempolete:Accesskey-specialpage 10 619 2804 2004-06-05T19:18:10Z MediaWiki default 16 2804 wikitext text/x-wiki &lt;accesskey-specialpage&gt; r9pibd1m6aw87zlyfrb15xwj94eyrvh Tempolete:Accesskey-specialpages 10 620 2805 2004-06-05T19:18:10Z MediaWiki default 16 2805 wikitext text/x-wiki q 42tly7p616mhho9m3kqeuro6s8iwb00 Tempolete:Accesskey-talk 10 621 2806 2004-06-05T19:18:10Z MediaWiki default 16 2806 wikitext text/x-wiki t gpawyfojiq147rosjz7sw2dda2fowvp Tempolete:Accesskey-undelete 10 622 2807 2004-06-05T19:18:10Z MediaWiki default 16 2807 wikitext text/x-wiki d 717aqvbu0bhwock9wsh9ltkkaebq6wk Tempolete:Accesskey-unwatch 10 623 2808 2004-06-05T19:18:10Z MediaWiki default 16 2808 wikitext text/x-wiki w kjus43u77uta99e0vnup67okq7yyqey Tempolete:Accesskey-upload 10 624 2809 2004-06-05T19:18:10Z MediaWiki default 16 2809 wikitext text/x-wiki u 9keqcyxpso4xt62us3suyjkxabmw6vg Tempolete:Accesskey-userpage 10 625 2810 2004-06-05T19:18:10Z MediaWiki default 16 2810 wikitext text/x-wiki . 6t9fg2gmch401ldtk8m7pyzz632ixbb Tempolete:Accesskey-viewsource 10 626 2811 2004-06-05T19:18:10Z MediaWiki default 16 2811 wikitext text/x-wiki e adui775lbdozbyt48qtd51g5y2uc0an Tempolete:Accesskey-watch 10 627 2812 2004-06-05T19:18:10Z MediaWiki default 16 2812 wikitext text/x-wiki w kjus43u77uta99e0vnup67okq7yyqey Tempolete:Accesskey-watchlist 10 628 2813 2004-06-05T19:18:10Z MediaWiki default 16 2813 wikitext text/x-wiki l 0wn6gm58khm8w28qidjjrmsmouhgw93 Tempolete:Accesskey-whatlinkshere 10 629 2814 2004-06-05T19:18:10Z MediaWiki default 16 2814 wikitext text/x-wiki b rbcg0n5gpk678at6ddc8jemrq5qgc60 MediaWiki:Perfcached 8 680 4342 2865 2006-04-02T13:03:16Z Gangleri 8 {{MediaWiki:!/InterLang}} 4342 wikitext text/x-wiki {{MediaWiki:!/InterProject}} The following data is cached and may not be completely up to date: {{MediaWiki:!/InterLang}} nnk7h1oscw1w7sm1f7po0gxqxf1a285 Tempolete:Tooltip-addsection 10 713 2898 2004-06-05T19:18:10Z MediaWiki default 16 2898 wikitext text/x-wiki Add a comment to this page. [alt-+] nv7298pmiw79j3chusr1skoighgulaw Tempolete:Tooltip-anontalk 10 714 2899 2004-06-05T19:18:10Z MediaWiki default 16 2899 wikitext text/x-wiki Discussion about edits from this ip address [alt-n] hj6y20193lmcrh2giuocx3gbic0wttx Tempolete:Tooltip-anonuserpage 10 715 2900 2004-06-05T19:18:10Z MediaWiki default 16 2900 wikitext text/x-wiki The user page for the ip you're editing as [alt-.] aabkwbqplyfxal2hagglzbt9qqfi7jr Tempolete:Tooltip-article 10 716 2901 2004-06-05T19:18:10Z MediaWiki default 16 2901 wikitext text/x-wiki View the content page [alt-a] bqt05u21fxcj64qixwo2hwlb8cucw1s Tempolete:Tooltip-atom 10 717 2902 2004-06-05T19:18:10Z MediaWiki default 16 2902 wikitext text/x-wiki Atom feed for this page kqgicloob9xg6ysxbtcurooinsgh9x1 Tempolete:Tooltip-contributions 10 719 2904 2004-06-05T19:18:10Z MediaWiki default 16 2904 wikitext text/x-wiki View the list of contributions of this user bbka0cwxdub67veyxtd39dqjg8v3s0r Tempolete:Tooltip-currentevents 10 720 2905 2004-06-05T19:18:10Z MediaWiki default 16 2905 wikitext text/x-wiki Find background information on current events cxgxt6igj9rmfyntsk2z46gagjavqgf Tempolete:Tooltip-delete 10 721 2906 2004-06-05T19:18:10Z MediaWiki default 16 2906 wikitext text/x-wiki Delete this page [alt-d] 8iut1pji5ze6ah952dcv2d5th9j5bsr Tempolete:Tooltip-edit 10 722 2907 2004-06-05T19:18:10Z MediaWiki default 16 2907 wikitext text/x-wiki You can edit this page. Please use the preview button before saving. [alt-e] kjktg9vo6ybmamhiii24a09p8tkig4x Tempolete:Tooltip-emailuser 10 723 2908 2004-06-05T19:18:10Z MediaWiki default 16 2908 wikitext text/x-wiki Send a mail to this user d9nzpro39juh3sbcj289bjskdbkba3p Tempolete:Tooltip-help 10 724 2909 2004-06-05T19:18:10Z MediaWiki default 16 2909 wikitext text/x-wiki The place to find out. aw6jblpuaahbmqskyxkrxmqc5s8cgrq Tempolete:Tooltip-history 10 725 2910 2004-06-05T19:18:10Z MediaWiki default 16 2910 wikitext text/x-wiki Past versions of this page, [alt-h] 0cxwmhe3xnep3oxr056qdnr9jip2k65 Tempolete:Tooltip-login 10 726 2911 2004-06-05T19:18:10Z MediaWiki default 16 2911 wikitext text/x-wiki You are encouraged to log in, it is not mandatory however. [alt-o] 70j3fx4zy3ke5a55nb76mbw5quklxax Tempolete:Tooltip-logout 10 727 2912 2004-06-05T19:18:10Z MediaWiki default 16 2912 wikitext text/x-wiki Log out [alt-o] isjlqk9sk09ibg4syjeqqklv45h9ka0 Tempolete:Tooltip-mainpage 10 728 2913 2004-06-05T19:18:10Z MediaWiki default 16 2913 wikitext text/x-wiki Visit the Main Page [alt-z] 2v9kc9vqa1vz3u30hysx43dyfzlq9px Tempolete:Tooltip-move 10 730 2915 2004-06-05T19:18:10Z MediaWiki default 16 2915 wikitext text/x-wiki Move this page [alt-m] ksqr9m7a1vsc0c8m4j4jly3ej2ccxnw Tempolete:Tooltip-mycontris 10 731 2916 2004-06-05T19:18:10Z MediaWiki default 16 2916 wikitext text/x-wiki List of my contributions [alt-y] k0dg9944i1vsyfyygv4mnsg5t18p4vl Tempolete:Tooltip-mytalk 10 732 2917 2004-06-05T19:18:10Z MediaWiki default 16 2917 wikitext text/x-wiki My talk page [alt-n] h6yx147fmdd8d6r5kmym4jhqxzb10uh Tempolete:Tooltip-nomove 10 733 2918 2004-06-05T19:18:10Z MediaWiki default 16 2918 wikitext text/x-wiki You don't have the permissions to move this page j7bkhw3nscp1gewe2o4vsrf0kj1u6cr Tempolete:Tooltip-portal 10 734 2919 2004-06-05T19:18:10Z MediaWiki default 16 2919 wikitext text/x-wiki About the project, what you can do, where to find things 17r0vqbefpbwwmlcdtaxz57yknghheu Tempolete:Tooltip-preferences 10 735 2920 2004-06-05T19:18:10Z MediaWiki default 16 2920 wikitext text/x-wiki My preferences 812jud9dn6iu8xwjk9sdo58n3j6fng5 Tempolete:Tooltip-protect 10 737 2922 2004-06-05T19:18:10Z MediaWiki default 16 2922 wikitext text/x-wiki Protect this page [alt-=] 93b3p0hwsdu4dfqkdwjf5b7b7rrg5sd Tempolete:Tooltip-randompage 10 738 2923 2004-06-05T19:18:10Z MediaWiki default 16 2923 wikitext text/x-wiki Load a random page [alt-x] nn9n5jbju1gl6zz3huodde4d2rl5f78 Tempolete:Tooltip-recentchanges 10 739 2924 2004-06-05T19:18:10Z MediaWiki default 16 2924 wikitext text/x-wiki The list of recent changes in the wiki. [alt-r] 5cbnp5m4a6xx435xghc3i92aodem7ml Tempolete:Tooltip-recentchangeslinked 10 740 2925 2004-06-05T19:18:10Z MediaWiki default 16 2925 wikitext text/x-wiki Recent changes in pages linking to this page [alt-c] awtar38i93oxbhq7if5ixgzxmp8h4w1 Tempolete:Tooltip-rss 10 741 2926 2004-06-05T19:18:10Z MediaWiki default 16 2926 wikitext text/x-wiki RSS feed for this page qgf716uj1kjwo7dhw7bklhczdkanwig Tempolete:Tooltip-sitesupport 10 744 2929 2004-06-05T19:18:10Z MediaWiki default 16 2929 wikitext text/x-wiki Support Wiktionary bphby2mntzuhe2y45n0bc1198l0t0i9 Tempolete:Tooltip-specialpage 10 745 2930 2004-06-05T19:18:10Z MediaWiki default 16 2930 wikitext text/x-wiki This is a special page, you can't edit the page itself. 5frzzw751pszifu1xisncbyh85edwyb Tempolete:Tooltip-specialpages 10 746 2931 2004-06-05T19:18:10Z MediaWiki default 16 2931 wikitext text/x-wiki List of all special pages [alt-q] 3l7mumml6wkvefod7l0jz62rtxzuyir Tempolete:Tooltip-talk 10 747 2932 2004-06-05T19:18:10Z MediaWiki default 16 2932 wikitext text/x-wiki Discussion about the content page [alt-t] piesoy12jjp4rhuk29cxmj2ic6nb067 Tempolete:Tooltip-undelete 10 748 2933 2004-06-05T19:18:10Z MediaWiki default 16 2933 wikitext text/x-wiki Restore the $1 edits done to this page before it was deleted [alt-d] mpy161tzijria4wsqh79bdv63tmhdmc Tempolete:Tooltip-unwatch 10 749 2934 2004-06-05T19:18:10Z MediaWiki default 16 2934 wikitext text/x-wiki Remove this page from your watchlist [alt-w] mf2rb2htbe30io9hjnhltapu9z8huur Tempolete:Tooltip-upload 10 750 2935 2004-06-05T19:18:10Z MediaWiki default 16 2935 wikitext text/x-wiki Upload images or media files [alt-u] g2v35qunrqn6mg1az01jjyi8ajzabjq Tempolete:Tooltip-userpage 10 751 2936 2004-06-05T19:18:10Z MediaWiki default 16 2936 wikitext text/x-wiki My user page [alt-.] rh4ne3jdht6l4hhjfzv4j6cjonokw75 Tempolete:Tooltip-viewsource 10 752 2937 2004-06-05T19:18:10Z MediaWiki default 16 2937 wikitext text/x-wiki This page is protected. You can view its source. [alt-e] 523g6lpn10t0e0cj6o9610pz2z6gug2 Tempolete:Tooltip-watch 10 753 2938 2004-06-05T19:18:10Z MediaWiki default 16 2938 wikitext text/x-wiki Add this page to your watchlist [alt-w] pf78k2y2ramp437vqetio5syjwah0ze Tempolete:Tooltip-watchlist 10 754 2939 2004-06-05T19:18:10Z MediaWiki default 16 2939 wikitext text/x-wiki The list of pages you're monitoring for changes. [alt-l] rt22fxd8wwyir7v5kuh49s4piff5qt9 Tempolete:Tooltip-whatlinkshere 10 755 2940 2004-06-05T19:18:10Z MediaWiki default 16 2940 wikitext text/x-wiki List of all wiki pages that link here [alt-b] gl6dflnxxea6o59ggfzrxlij99pjlwc Tempolete:Usercssjs 10 762 2947 2004-06-05T19:18:10Z MediaWiki default 16 2947 wikitext text/x-wiki '''Note:''' After saving, you have to tell your bowser to get the new version: '''Mozilla:''' click ''reload''(or ''ctrl-r''), '''IE / Opera:''' ''ctrl-f5'', '''Safari:''' ''cmd-r'', '''Konqueror''' ''ctrl-r''. eoingw4wq0vcmdlpx6jx6p4obvix6ai Tempolete:All system messages 10 769 2954 2004-06-05T19:19:29Z MediaWiki default 16 2954 wikitext text/x-wiki {{int:allmessagestext}} <table border=1 width=100%><tr><td> '''Name''' </td><td> '''Default text''' </td><td> '''Current text''' </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:1movedto2&action=edit 1movedto2]<br> [[MediaWiki_talk:1movedto2|Talk]] </td><td> $1 moved to $2 </td><td> {{int:1movedto2}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Monobook.css&action=edit Monobook.css]<br> [[MediaWiki_talk:Monobook.css|Talk]] </td><td> /* edit this file to customize the monobook skin for the entire site */ </td><td> {{int:Monobook.css}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:About&action=edit about]<br> [[MediaWiki_talk:About|Talk]] </td><td> About </td><td> {{int:About}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Aboutpage&action=edit aboutpage]<br> [[MediaWiki_talk:Aboutpage|Talk]] </td><td> Wiktionary:About </td><td> {{int:Aboutpage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Aboutwikipedia&action=edit aboutwikipedia]<br> [[MediaWiki_talk:Aboutwikipedia|Talk]] </td><td> About Wiktionary </td><td> {{int:Aboutwikipedia}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-addsection&action=edit accesskey-addsection]<br> [[MediaWiki_talk:Accesskey-addsection|Talk]] </td><td> + </td><td> {{int:Accesskey-addsection}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-anontalk&action=edit accesskey-anontalk]<br> [[MediaWiki_talk:Accesskey-anontalk|Talk]] </td><td> n </td><td> {{int:Accesskey-anontalk}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-anonuserpage&action=edit accesskey-anonuserpage]<br> [[MediaWiki_talk:Accesskey-anonuserpage|Talk]] </td><td> . </td><td> {{int:Accesskey-anonuserpage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-article&action=edit accesskey-article]<br> [[MediaWiki_talk:Accesskey-article|Talk]] </td><td> a </td><td> {{int:Accesskey-article}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-compareselectedversions&action=edit accesskey-compareselectedversions]<br> [[MediaWiki_talk:Accesskey-compareselectedversions|Talk]] </td><td> v </td><td> {{int:Accesskey-compareselectedversions}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-contributions&action=edit accesskey-contributions]<br> [[MediaWiki_talk:Accesskey-contributions|Talk]] </td><td> &amp;lt;accesskey-contributions&amp;gt; </td><td> {{int:Accesskey-contributions}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-currentevents&action=edit accesskey-currentevents]<br> [[MediaWiki_talk:Accesskey-currentevents|Talk]] </td><td> &amp;lt;accesskey-currentevents&amp;gt; </td><td> {{int:Accesskey-currentevents}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-delete&action=edit accesskey-delete]<br> [[MediaWiki_talk:Accesskey-delete|Talk]] </td><td> d </td><td> {{int:Accesskey-delete}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-edit&action=edit accesskey-edit]<br> [[MediaWiki_talk:Accesskey-edit|Talk]] </td><td> e </td><td> {{int:Accesskey-edit}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-emailuser&action=edit accesskey-emailuser]<br> [[MediaWiki_talk:Accesskey-emailuser|Talk]] </td><td> &amp;lt;accesskey-emailuser&amp;gt; </td><td> {{int:Accesskey-emailuser}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-help&action=edit accesskey-help]<br> [[MediaWiki_talk:Accesskey-help|Talk]] </td><td> &amp;lt;accesskey-help&amp;gt; </td><td> {{int:Accesskey-help}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-history&action=edit accesskey-history]<br> [[MediaWiki_talk:Accesskey-history|Talk]] </td><td> h </td><td> {{int:Accesskey-history}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-login&action=edit accesskey-login]<br> [[MediaWiki_talk:Accesskey-login|Talk]] </td><td> o </td><td> {{int:Accesskey-login}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-logout&action=edit accesskey-logout]<br> [[MediaWiki_talk:Accesskey-logout|Talk]] </td><td> o </td><td> {{int:Accesskey-logout}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-mainpage&action=edit accesskey-mainpage]<br> [[MediaWiki_talk:Accesskey-mainpage|Talk]] </td><td> z </td><td> {{int:Accesskey-mainpage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-minoredit&action=edit accesskey-minoredit]<br> [[MediaWiki_talk:Accesskey-minoredit|Talk]] </td><td> i </td><td> {{int:Accesskey-minoredit}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-move&action=edit accesskey-move]<br> [[MediaWiki_talk:Accesskey-move|Talk]] </td><td> m </td><td> {{int:Accesskey-move}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-mycontris&action=edit accesskey-mycontris]<br> [[MediaWiki_talk:Accesskey-mycontris|Talk]] </td><td> y </td><td> {{int:Accesskey-mycontris}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-mytalk&action=edit accesskey-mytalk]<br> [[MediaWiki_talk:Accesskey-mytalk|Talk]] </td><td> n </td><td> {{int:Accesskey-mytalk}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-portal&action=edit accesskey-portal]<br> [[MediaWiki_talk:Accesskey-portal|Talk]] </td><td> &amp;lt;accesskey-portal&amp;gt; </td><td> {{int:Accesskey-portal}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-preferences&action=edit accesskey-preferences]<br> [[MediaWiki_talk:Accesskey-preferences|Talk]] </td><td> &amp;lt;accesskey-preferences&amp;gt; </td><td> {{int:Accesskey-preferences}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-preview&action=edit accesskey-preview]<br> [[MediaWiki_talk:Accesskey-preview|Talk]] </td><td> p </td><td> {{int:Accesskey-preview}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-protect&action=edit accesskey-protect]<br> [[MediaWiki_talk:Accesskey-protect|Talk]] </td><td> = </td><td> {{int:Accesskey-protect}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-randompage&action=edit accesskey-randompage]<br> [[MediaWiki_talk:Accesskey-randompage|Talk]] </td><td> x </td><td> {{int:Accesskey-randompage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-recentchanges&action=edit accesskey-recentchanges]<br> [[MediaWiki_talk:Accesskey-recentchanges|Talk]] </td><td> r </td><td> {{int:Accesskey-recentchanges}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-recentchangeslinked&action=edit accesskey-recentchangeslinked]<br> [[MediaWiki_talk:Accesskey-recentchangeslinked|Talk]] </td><td> c </td><td> {{int:Accesskey-recentchangeslinked}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-save&action=edit accesskey-save]<br> [[MediaWiki_talk:Accesskey-save|Talk]] </td><td> s </td><td> {{int:Accesskey-save}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-search&action=edit accesskey-search]<br> [[MediaWiki_talk:Accesskey-search|Talk]] </td><td> f </td><td> {{int:Accesskey-search}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-sitesupport&action=edit accesskey-sitesupport]<br> [[MediaWiki_talk:Accesskey-sitesupport|Talk]] </td><td> &amp;lt;accesskey-sitesupport&amp;gt; </td><td> {{int:Accesskey-sitesupport}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-specialpage&action=edit accesskey-specialpage]<br> [[MediaWiki_talk:Accesskey-specialpage|Talk]] </td><td> &amp;lt;accesskey-specialpage&amp;gt; </td><td> {{int:Accesskey-specialpage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-specialpages&action=edit accesskey-specialpages]<br> [[MediaWiki_talk:Accesskey-specialpages|Talk]] </td><td> q </td><td> {{int:Accesskey-specialpages}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-talk&action=edit accesskey-talk]<br> [[MediaWiki_talk:Accesskey-talk|Talk]] </td><td> t </td><td> {{int:Accesskey-talk}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-undelete&action=edit accesskey-undelete]<br> [[MediaWiki_talk:Accesskey-undelete|Talk]] </td><td> d </td><td> {{int:Accesskey-undelete}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-unwatch&action=edit accesskey-unwatch]<br> [[MediaWiki_talk:Accesskey-unwatch|Talk]] </td><td> w </td><td> {{int:Accesskey-unwatch}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-upload&action=edit accesskey-upload]<br> [[MediaWiki_talk:Accesskey-upload|Talk]] </td><td> u </td><td> {{int:Accesskey-upload}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-userpage&action=edit accesskey-userpage]<br> [[MediaWiki_talk:Accesskey-userpage|Talk]] </td><td> . </td><td> {{int:Accesskey-userpage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-viewsource&action=edit accesskey-viewsource]<br> [[MediaWiki_talk:Accesskey-viewsource|Talk]] </td><td> e </td><td> {{int:Accesskey-viewsource}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-watch&action=edit accesskey-watch]<br> [[MediaWiki_talk:Accesskey-watch|Talk]] </td><td> w </td><td> {{int:Accesskey-watch}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-watchlist&action=edit accesskey-watchlist]<br> [[MediaWiki_talk:Accesskey-watchlist|Talk]] </td><td> l </td><td> {{int:Accesskey-watchlist}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-whatlinkshere&action=edit accesskey-whatlinkshere]<br> [[MediaWiki_talk:Accesskey-whatlinkshere|Talk]] </td><td> b </td><td> {{int:Accesskey-whatlinkshere}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accmailtext&action=edit accmailtext]<br> [[MediaWiki_talk:Accmailtext|Talk]] </td><td> The Password for &#39;$1&#39; has been sent to $2. </td><td> {{int:Accmailtext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accmailtitle&action=edit accmailtitle]<br> [[MediaWiki_talk:Accmailtitle|Talk]] </td><td> Password sent. </td><td> {{int:Accmailtitle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Actioncomplete&action=edit actioncomplete]<br> [[MediaWiki_talk:Actioncomplete|Talk]] </td><td> Action complete </td><td> {{int:Actioncomplete}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Addedwatch&action=edit addedwatch]<br> [[MediaWiki_talk:Addedwatch|Talk]] </td><td> Added to watchlist </td><td> {{int:Addedwatch}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Addedwatchtext&action=edit addedwatchtext]<br> [[MediaWiki_talk:Addedwatchtext|Talk]] </td><td> The page &quot;$1&quot; has been added to your &#91;&#91;Special:Watchlist&#124;watchlist]]. Future changes to this page and its associated Talk page will be listed there, and the page will appear &#39;&#39;&#39;bolded&#39;&#39;&#39; in the &#91;&#91;Special:Recentchanges&#124;list of recent changes]] to make it easier to pick out. &lt;p&gt;If you want to remove the page from your watchlist later, click &quot;Stop watching&quot; in the sidebar. </td><td> {{int:Addedwatchtext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Addsection&action=edit addsection]<br> [[MediaWiki_talk:Addsection|Talk]] </td><td> + </td><td> {{int:Addsection}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Administrators&action=edit administrators]<br> [[MediaWiki_talk:Administrators|Talk]] </td><td> Wiktionary:Administrators </td><td> {{int:Administrators}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Affirmation&action=edit affirmation]<br> [[MediaWiki_talk:Affirmation|Talk]] </td><td> I affirm that the copyright holder of this file agrees to license it under the terms of the $1. </td><td> {{int:Affirmation}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:All&action=edit all]<br> [[MediaWiki_talk:All|Talk]] </td><td> all </td><td> {{int:All}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Allmessages&action=edit allmessages]<br> [[MediaWiki_talk:Allmessages|Talk]] </td><td> All system messages </td><td> {{int:Allmessages}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Allmessagestext&action=edit allmessagestext]<br> [[MediaWiki_talk:Allmessagestext|Talk]] </td><td> This is a list of all system messages available in the MediaWiki: namespace. </td><td> {{int:Allmessagestext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Allpages&action=edit allpages]<br> [[MediaWiki_talk:Allpages|Talk]] </td><td> All pages </td><td> {{int:Allpages}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Alphaindexline&action=edit alphaindexline]<br> [[MediaWiki_talk:Alphaindexline|Talk]] </td><td> $1 to $2 </td><td> {{int:Alphaindexline}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Alreadyloggedin&action=edit alreadyloggedin]<br> [[MediaWiki_talk:Alreadyloggedin|Talk]] </td><td> &lt;font color=red&gt;&lt;b&gt;User $1, you are already logged in!&lt;/b&gt;&lt;/font&gt;&lt;br /&gt; </td><td> {{int:Alreadyloggedin}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Alreadyrolled&action=edit alreadyrolled]<br> [[MediaWiki_talk:Alreadyrolled|Talk]] </td><td> Cannot rollback last edit of &#91;&#91;$1]] by &#91;&#91;User:$2&#124;$2]] (&#91;&#91;User talk:$2&#124;Talk]]); someone else has edited or rolled back the page already. Last edit was by &#91;&#91;User:$3&#124;$3]] (&#91;&#91;User talk:$3&#124;Talk]]). </td><td> {{int:Alreadyrolled}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ancientpages&action=edit ancientpages]<br> [[MediaWiki_talk:Ancientpages|Talk]] </td><td> Oldest pages </td><td> {{int:Ancientpages}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:And&action=edit and]<br> [[MediaWiki_talk:And|Talk]] </td><td> and </td><td> {{int:And}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Anontalk&action=edit anontalk]<br> [[MediaWiki_talk:Anontalk|Talk]] </td><td> Talk for this IP </td><td> {{int:Anontalk}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Anontalkpagetext&action=edit anontalkpagetext]<br> [[MediaWiki_talk:Anontalkpagetext|Talk]] </td><td> ----&#39;&#39;This is the discussion page for an anonymous user who has not created an account yet or who does not use it. We therefore have to use the numerical &#91;&#91;IP address]] to identify him/her. Such an IP address can be shared by several users. If you are an anonymous user and feel that irrelevant comments have been directed at you, please &#91;&#91;Special:Userlogin&#124;create an account or log in]] to avoid future confusion with other anonymous users.&#39;&#39; </td><td> {{int:Anontalkpagetext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Anonymous&action=edit anonymous]<br> [[MediaWiki_talk:Anonymous|Talk]] </td><td> Anonymous user(s) of Wiktionary </td><td> {{int:Anonymous}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Article&action=edit article]<br> [[MediaWiki_talk:Article|Talk]] </td><td> Content page </td><td> {{int:Article}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Articleexists&action=edit articleexists]<br> [[MediaWiki_talk:Articleexists|Talk]] </td><td> A page of that name already exists, or the name you have chosen is not valid. Please choose another name. </td><td> {{int:Articleexists}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Articlepage&action=edit articlepage]<br> [[MediaWiki_talk:Articlepage|Talk]] </td><td> View content page </td><td> {{int:Articlepage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Asksql&action=edit asksql]<br> [[MediaWiki_talk:Asksql|Talk]] </td><td> SQL query </td><td> {{int:Asksql}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Asksqltext&action=edit asksqltext]<br> [[MediaWiki_talk:Asksqltext|Talk]] </td><td> Use the form below to make a direct query of the database. Use single quotes (&#39;like this&#39;) to delimit string literals. This can often add considerable load to the server, so please use this function sparingly. </td><td> {{int:Asksqltext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Autoblocker&action=edit autoblocker]<br> [[MediaWiki_talk:Autoblocker|Talk]] </td><td> Autoblocked because you share an IP address with &quot;$1&quot;. Reason &quot;$2&quot;. </td><td> {{int:Autoblocker}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Badarticleerror&action=edit badarticleerror]<br> [[MediaWiki_talk:Badarticleerror|Talk]] </td><td> This action cannot be performed on this page. </td><td> {{int:Badarticleerror}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Badfilename&action=edit badfilename]<br> [[MediaWiki_talk:Badfilename|Talk]] </td><td> Image name has been changed to &quot;$1&quot;. </td><td> {{int:Badfilename}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Badfiletype&action=edit badfiletype]<br> [[MediaWiki_talk:Badfiletype|Talk]] </td><td> &quot;.$1&quot; is not a recommended image file format. </td><td> {{int:Badfiletype}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Badipaddress&action=edit badipaddress]<br> [[MediaWiki_talk:Badipaddress|Talk]] </td><td> Invalid IP address </td><td> {{int:Badipaddress}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Badquery&action=edit badquery]<br> [[MediaWiki_talk:Badquery|Talk]] </td><td> Badly formed search query </td><td> {{int:Badquery}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Badquerytext&action=edit badquerytext]<br> [[MediaWiki_talk:Badquerytext|Talk]] </td><td> We could not process your query. This is probably because you have attempted to search for a word fewer than three letters long, which is not yet supported. It could also be that you have mistyped the expression, for example &quot;fish and and scales&quot;. Please try another query. </td><td> {{int:Badquerytext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Badretype&action=edit badretype]<br> [[MediaWiki_talk:Badretype|Talk]] </td><td> The passwords you entered do not match. </td><td> {{int:Badretype}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Badtitle&action=edit badtitle]<br> [[MediaWiki_talk:Badtitle|Talk]] </td><td> Bad title </td><td> {{int:Badtitle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Badtitletext&action=edit badtitletext]<br> [[MediaWiki_talk:Badtitletext|Talk]] </td><td> The requested page title was invalid, empty, or an incorrectly linked inter-language or inter-wiki title. </td><td> {{int:Badtitletext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blanknamespace&action=edit blanknamespace]<br> [[MediaWiki_talk:Blanknamespace|Talk]] </td><td> (Main) </td><td> {{int:Blanknamespace}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blockedtext&action=edit blockedtext]<br> [[MediaWiki_talk:Blockedtext|Talk]] </td><td> Your user name or IP address has been blocked by $1. The reason given is this:&lt;br /&gt;&#39;&#39;$2&#39;&#39;&lt;p&gt;You may contact $1 or one of the other &#91;&#91;Wiktionary:Administrators&#124;administrators]] to discuss the block. Note that you may not use the &quot;email this user&quot; feature unless you have a valid email address registered in your &#91;&#91;Special:Preferences&#124;user preferences]]. Your IP address is $3. Please include this address in any queries you make. </td><td> {{int:Blockedtext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blockedtitle&action=edit blockedtitle]<br> [[MediaWiki_talk:Blockedtitle|Talk]] </td><td> User is blocked </td><td> {{int:Blockedtitle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blockip&action=edit blockip]<br> [[MediaWiki_talk:Blockip|Talk]] </td><td> Block user </td><td> {{int:Blockip}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blockipsuccesssub&action=edit blockipsuccesssub]<br> [[MediaWiki_talk:Blockipsuccesssub|Talk]] </td><td> Block succeeded </td><td> {{int:Blockipsuccesssub}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blockipsuccesstext&action=edit blockipsuccesstext]<br> [[MediaWiki_talk:Blockipsuccesstext|Talk]] </td><td> &quot;$1&quot; has been blocked. &lt;br /&gt;See &#91;&#91;Special:Ipblocklist&#124;IP block list]] to review blocks. </td><td> {{int:Blockipsuccesstext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blockiptext&action=edit blockiptext]<br> [[MediaWiki_talk:Blockiptext|Talk]] </td><td> Use the form below to block write access from a specific IP address or username. This should be done only only to prevent vandalism, and in accordance with &#91;&#91;Wiktionary:Policy&#124;policy]]. Fill in a specific reason below (for example, citing particular pages that were vandalized). </td><td> {{int:Blockiptext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blocklink&action=edit blocklink]<br> [[MediaWiki_talk:Blocklink|Talk]] </td><td> block </td><td> {{int:Blocklink}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blocklistline&action=edit blocklistline]<br> [[MediaWiki_talk:Blocklistline|Talk]] </td><td> $1, $2 blocked $3 (expires $4) </td><td> {{int:Blocklistline}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blocklogentry&action=edit blocklogentry]<br> [[MediaWiki_talk:Blocklogentry|Talk]] </td><td> blocked &quot;$1&quot; with an expiry time of $2 </td><td> {{int:Blocklogentry}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blocklogpage&action=edit blocklogpage]<br> [[MediaWiki_talk:Blocklogpage|Talk]] </td><td> Block_log </td><td> {{int:Blocklogpage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blocklogtext&action=edit blocklogtext]<br> [[MediaWiki_talk:Blocklogtext|Talk]] </td><td> This is a log of user blocking and unblocking actions. Automatically blocked IP addresses are not be listed. See the &#91;&#91;Special:Ipblocklist&#124;IP block list]] for the list of currently operational bans and blocks. </td><td> {{int:Blocklogtext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Bold_sample&action=edit bold_sample]<br> [[MediaWiki_talk:Bold_sample|Talk]] </td><td> Bold text </td><td> {{int:Bold_sample}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Bold_tip&action=edit bold_tip]<br> [[MediaWiki_talk:Bold_tip|Talk]] </td><td> Bold text </td><td> {{int:Bold_tip}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Booksources&action=edit booksources]<br> [[MediaWiki_talk:Booksources|Talk]] </td><td> Book sources </td><td> {{int:Booksources}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Booksourcetext&action=edit booksourcetext]<br> [[MediaWiki_talk:Booksourcetext|Talk]] </td><td> Below is a list of links to other sites that sell new and used books, and may also have further information about books you are looking for.Wiktionary is not affiliated with any of these businesses, and this list should not be construed as an endorsement. </td><td> {{int:Booksourcetext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Brokenredirects&action=edit brokenredirects]<br> [[MediaWiki_talk:Brokenredirects|Talk]] </td><td> Broken Redirects </td><td> {{int:Brokenredirects}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Brokenredirectstext&action=edit brokenredirectstext]<br> [[MediaWiki_talk:Brokenredirectstext|Talk]] </td><td> The following redirects link to a non-existing pages. </td><td> {{int:Brokenredirectstext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Bugreports&action=edit bugreports]<br> [[MediaWiki_talk:Bugreports|Talk]] </td><td> Bug reports </td><td> {{int:Bugreports}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Bugreportspage&action=edit bugreportspage]<br> [[MediaWiki_talk:Bugreportspage|Talk]] </td><td> Wiktionary:Bug_reports </td><td> {{int:Bugreportspage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Bureaucratlog&action=edit bureaucratlog]<br> [[MediaWiki_talk:Bureaucratlog|Talk]] </td><td> Bureaucrat_log </td><td> {{int:Bureaucratlog}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Bureaucratlogentry&action=edit bureaucratlogentry]<br> [[MediaWiki_talk:Bureaucratlogentry|Talk]] </td><td> Rights for user &quot;$1&quot; set &quot;$2&quot; </td><td> {{int:Bureaucratlogentry}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Bureaucrattext&action=edit bureaucrattext]<br> [[MediaWiki_talk:Bureaucrattext|Talk]] </td><td> The action you have requested can only be performed by sysops with &quot;bureaucrat&quot; status. </td><td> {{int:Bureaucrattext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Bureaucrattitle&action=edit bureaucrattitle]<br> [[MediaWiki_talk:Bureaucrattitle|Talk]] </td><td> Bureaucrat access required </td><td> {{int:Bureaucrattitle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Bydate&action=edit bydate]<br> [[MediaWiki_talk:Bydate|Talk]] </td><td> by date </td><td> {{int:Bydate}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Byname&action=edit byname]<br> [[MediaWiki_talk:Byname|Talk]] </td><td> by name </td><td> {{int:Byname}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Bysize&action=edit bysize]<br> [[MediaWiki_talk:Bysize|Talk]] </td><td> by size </td><td> {{int:Bysize}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Cachederror&action=edit cachederror]<br> [[MediaWiki_talk:Cachederror|Talk]] </td><td> The following is a cached copy of the requested page, and may not be up to date. </td><td> {{int:Cachederror}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Cancel&action=edit cancel]<br> [[MediaWiki_talk:Cancel|Talk]] </td><td> Cancel </td><td> {{int:Cancel}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Cannotdelete&action=edit cannotdelete]<br> [[MediaWiki_talk:Cannotdelete|Talk]] </td><td> Could not delete the page or image specified. (It may have already been deleted by someone else.) </td><td> {{int:Cannotdelete}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Cantrollback&action=edit cantrollback]<br> [[MediaWiki_talk:Cantrollback|Talk]] </td><td> Cannot revert edit; last contributor is only author of this page. </td><td> {{int:Cantrollback}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Categories&action=edit categories]<br> [[MediaWiki_talk:Categories|Talk]] </td><td> Categories </td><td> {{int:Categories}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Category&action=edit category]<br> [[MediaWiki_talk:Category|Talk]] </td><td> category </td><td> {{int:Category}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Category_header&action=edit category_header]<br> [[MediaWiki_talk:Category_header|Talk]] </td><td> Articles in category &quot;$1&quot; </td><td> {{int:Category_header}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Changepassword&action=edit changepassword]<br> [[MediaWiki_talk:Changepassword|Talk]] </td><td> Change password </td><td> {{int:Changepassword}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Changes&action=edit changes]<br> [[MediaWiki_talk:Changes|Talk]] </td><td> changes </td><td> {{int:Changes}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Columns&action=edit columns]<br> [[MediaWiki_talk:Columns|Talk]] </td><td> Columns </td><td> {{int:Columns}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Commentedit&action=edit commentedit]<br> [[MediaWiki_talk:Commentedit|Talk]] </td><td> (comment) </td><td> {{int:Commentedit}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Compareselectedversions&action=edit compareselectedversions]<br> [[MediaWiki_talk:Compareselectedversions|Talk]] </td><td> Compare selected versions </td><td> {{int:Compareselectedversions}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Confirm&action=edit confirm]<br> [[MediaWiki_talk:Confirm|Talk]] </td><td> Confirm </td><td> {{int:Confirm}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Confirmcheck&action=edit confirmcheck]<br> [[MediaWiki_talk:Confirmcheck|Talk]] </td><td> Yes, I really want to delete this. </td><td> {{int:Confirmcheck}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Confirmdelete&action=edit confirmdelete]<br> [[MediaWiki_talk:Confirmdelete|Talk]] </td><td> Confirm delete </td><td> {{int:Confirmdelete}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Confirmdeletetext&action=edit confirmdeletetext]<br> [[MediaWiki_talk:Confirmdeletetext|Talk]] </td><td> You are about to permanently delete a page or image along with all of its history from the database. Please confirm that you intend to do this, that you understand the consequences, and that you are doing this in accordance with &#91;&#91;Wiktionary:Policy]]. </td><td> {{int:Confirmdeletetext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Confirmprotect&action=edit confirmprotect]<br> [[MediaWiki_talk:Confirmprotect|Talk]] </td><td> Confirm protection </td><td> {{int:Confirmprotect}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Confirmprotecttext&action=edit confirmprotecttext]<br> [[MediaWiki_talk:Confirmprotecttext|Talk]] </td><td> Do you really want to protect this page? </td><td> {{int:Confirmprotecttext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Confirmunprotect&action=edit confirmunprotect]<br> [[MediaWiki_talk:Confirmunprotect|Talk]] </td><td> Confirm unprotection </td><td> {{int:Confirmunprotect}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Confirmunprotecttext&action=edit confirmunprotecttext]<br> [[MediaWiki_talk:Confirmunprotecttext|Talk]] </td><td> Do you really want to unprotect this page? </td><td> {{int:Confirmunprotecttext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Contextchars&action=edit contextchars]<br> [[MediaWiki_talk:Contextchars|Talk]] </td><td> Characters of context per line </td><td> {{int:Contextchars}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Contextlines&action=edit contextlines]<br> [[MediaWiki_talk:Contextlines|Talk]] </td><td> Lines to show per hit </td><td> {{int:Contextlines}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Contribslink&action=edit contribslink]<br> [[MediaWiki_talk:Contribslink|Talk]] </td><td> contribs </td><td> {{int:Contribslink}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Contribsub&action=edit contribsub]<br> [[MediaWiki_talk:Contribsub|Talk]] </td><td> For $1 </td><td> {{int:Contribsub}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Contributions&action=edit contributions]<br> [[MediaWiki_talk:Contributions|Talk]] </td><td> User contributions </td><td> {{int:Contributions}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Copyright&action=edit copyright]<br> [[MediaWiki_talk:Copyright|Talk]] </td><td> Content is available under $1. </td><td> {{int:Copyright}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Copyrightpage&action=edit copyrightpage]<br> [[MediaWiki_talk:Copyrightpage|Talk]] </td><td> Wiktionary:Copyrights </td><td> {{int:Copyrightpage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Copyrightpagename&action=edit copyrightpagename]<br> [[MediaWiki_talk:Copyrightpagename|Talk]] </td><td> Wiktionary copyright </td><td> {{int:Copyrightpagename}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Copyrightwarning&action=edit copyrightwarning]<br> [[MediaWiki_talk:Copyrightwarning|Talk]] </td><td> Please note that all contributions to Wiktionary are considered to be released under the GNU Free Documentation License (see $1 for details). If you don&#39;t want your writing to be edited mercilessly and redistributed at will, then don&#39;t submit it here.&lt;br /&gt; You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. &lt;strong&gt;DO NOT SUBMIT COPYRIGHTED WORK WITHOUT PERMISSION!&lt;/strong&gt; </td><td> {{int:Copyrightwarning}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Couldntremove&action=edit couldntremove]<br> [[MediaWiki_talk:Couldntremove|Talk]] </td><td> Couldn&#39;t remove item &#39;$1&#39;... </td><td> {{int:Couldntremove}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Createaccount&action=edit createaccount]<br> [[MediaWiki_talk:Createaccount|Talk]] </td><td> Create new account </td><td> {{int:Createaccount}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Createaccountmail&action=edit createaccountmail]<br> [[MediaWiki_talk:Createaccountmail|Talk]] </td><td> by email </td><td> {{int:Createaccountmail}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Cur&action=edit cur]<br> [[MediaWiki_talk:Cur|Talk]] </td><td> cur </td><td> {{int:Cur}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Currentevents&action=edit currentevents]<br> [[MediaWiki_talk:Currentevents|Talk]] </td><td> Current events </td><td> {{int:Currentevents}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Currentrev&action=edit currentrev]<br> [[MediaWiki_talk:Currentrev|Talk]] </td><td> Current revision </td><td> {{int:Currentrev}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Databaseerror&action=edit databaseerror]<br> [[MediaWiki_talk:Databaseerror|Talk]] </td><td> Database error </td><td> {{int:Databaseerror}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Dateformat&action=edit dateformat]<br> [[MediaWiki_talk:Dateformat|Talk]] </td><td> Date format </td><td> {{int:Dateformat}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Dberrortext&action=edit dberrortext]<br> [[MediaWiki_talk:Dberrortext|Talk]] </td><td> A database query syntax error has occurred. This could be because of an illegal search query (see $5), or it may indicate a bug in the software. The last attempted database query was: &lt;blockquote&gt;&lt;tt&gt;$1&lt;/tt&gt;&lt;/blockquote&gt; from within function &quot;&lt;tt&gt;$2&lt;/tt&gt;&quot;. MySQL returned error &quot;&lt;tt&gt;$3: $4&lt;/tt&gt;&quot;. </td><td> {{int:Dberrortext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Dberrortextcl&action=edit dberrortextcl]<br> [[MediaWiki_talk:Dberrortextcl|Talk]] </td><td> A database query syntax error has occurred. The last attempted database query was: &quot;$1&quot; from within function &quot;$2&quot;. MySQL returned error &quot;$3: $4&quot;. </td><td> {{int:Dberrortextcl}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Deadendpages&action=edit deadendpages]<br> [[MediaWiki_talk:Deadendpages|Talk]] </td><td> Dead-end pages </td><td> {{int:Deadendpages}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Debug&action=edit debug]<br> [[MediaWiki_talk:Debug|Talk]] </td><td> Debug </td><td> {{int:Debug}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Defaultns&action=edit defaultns]<br> [[MediaWiki_talk:Defaultns|Talk]] </td><td> Search in these namespaces by default: </td><td> {{int:Defaultns}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Defemailsubject&action=edit defemailsubject]<br> [[MediaWiki_talk:Defemailsubject|Talk]] </td><td> Wiktionary e-mail </td><td> {{int:Defemailsubject}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Delete&action=edit delete]<br> [[MediaWiki_talk:Delete|Talk]] </td><td> Delete </td><td> {{int:Delete}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Deletecomment&action=edit deletecomment]<br> [[MediaWiki_talk:Deletecomment|Talk]] </td><td> Reason for deletion </td><td> {{int:Deletecomment}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Deletedarticle&action=edit deletedarticle]<br> [[MediaWiki_talk:Deletedarticle|Talk]] </td><td> deleted &quot;$1&quot; </td><td> {{int:Deletedarticle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Deletedtext&action=edit deletedtext]<br> [[MediaWiki_talk:Deletedtext|Talk]] </td><td> &quot;$1&quot; has been deleted. See $2 for a record of recent deletions. </td><td> {{int:Deletedtext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Deleteimg&action=edit deleteimg]<br> [[MediaWiki_talk:Deleteimg|Talk]] </td><td> del </td><td> {{int:Deleteimg}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Deletepage&action=edit deletepage]<br> [[MediaWiki_talk:Deletepage|Talk]] </td><td> Delete page </td><td> {{int:Deletepage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Deletesub&action=edit deletesub]<br> [[MediaWiki_talk:Deletesub|Talk]] </td><td> (Deleting &quot;$1&quot;) </td><td> {{int:Deletesub}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Deletethispage&action=edit deletethispage]<br> [[MediaWiki_talk:Deletethispage|Talk]] </td><td> Delete this page </td><td> {{int:Deletethispage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Deletionlog&action=edit deletionlog]<br> [[MediaWiki_talk:Deletionlog|Talk]] </td><td> deletion log </td><td> {{int:Deletionlog}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Dellogpage&action=edit dellogpage]<br> [[MediaWiki_talk:Dellogpage|Talk]] </td><td> Deletion_log </td><td> {{int:Dellogpage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Dellogpagetext&action=edit dellogpagetext]<br> [[MediaWiki_talk:Dellogpagetext|Talk]] </td><td> Below is a list of the most recent deletions. All times shown are server time (UTC). &lt;ul&gt; &lt;/ul&gt; </td><td> {{int:Dellogpagetext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Developerspheading&action=edit developerspheading]<br> [[MediaWiki_talk:Developerspheading|Talk]] </td><td> For developer use only </td><td> {{int:Developerspheading}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Developertext&action=edit developertext]<br> [[MediaWiki_talk:Developertext|Talk]] </td><td> The action you have requested can only be performed by users with &quot;developer&quot; status. See $1. </td><td> {{int:Developertext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Developertitle&action=edit developertitle]<br> [[MediaWiki_talk:Developertitle|Talk]] </td><td> Developer access required </td><td> {{int:Developertitle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Diff&action=edit diff]<br> [[MediaWiki_talk:Diff|Talk]] </td><td> diff </td><td> {{int:Diff}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Difference&action=edit difference]<br> [[MediaWiki_talk:Difference|Talk]] </td><td> (Difference between revisions) </td><td> {{int:Difference}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Disambiguations&action=edit disambiguations]<br> [[MediaWiki_talk:Disambiguations|Talk]] </td><td> Disambiguation pages </td><td> {{int:Disambiguations}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Disambiguationspage&action=edit disambiguationspage]<br> [[MediaWiki_talk:Disambiguationspage|Talk]] </td><td> Wiktionary:Links_to_disambiguating_pages </td><td> {{int:Disambiguationspage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Disambiguationstext&action=edit disambiguationstext]<br> [[MediaWiki_talk:Disambiguationstext|Talk]] </td><td> The following pages link to a &lt;i&gt;disambiguation page&lt;/i&gt;. They should link to the appropriate topic instead.&lt;br /&gt;A page is treated as dismbiguation if it is linked from $1.&lt;br /&gt;Links from other namespaces are &lt;i&gt;not&lt;/i&gt; listed here. </td><td> {{int:Disambiguationstext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Disclaimerpage&action=edit disclaimerpage]<br> [[MediaWiki_talk:Disclaimerpage|Talk]] </td><td> Wiktionary:General_disclaimer </td><td> {{int:Disclaimerpage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Disclaimers&action=edit disclaimers]<br> [[MediaWiki_talk:Disclaimers|Talk]] </td><td> Disclaimers </td><td> {{int:Disclaimers}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Doubleredirects&action=edit doubleredirects]<br> [[MediaWiki_talk:Doubleredirects|Talk]] </td><td> Double Redirects </td><td> {{int:Doubleredirects}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Doubleredirectstext&action=edit doubleredirectstext]<br> [[MediaWiki_talk:Doubleredirectstext|Talk]] </td><td> &lt;b&gt;Attention:&lt;/b&gt; This list may contain false positives. That usually means there is additional text with links below the first #REDIRECT.&lt;br /&gt; Each row contains links to the first and second redirect, as well as the first line of the second redirect text, usually giving the &quot;real&quot; target page, which the first redirect should point to. </td><td> {{int:Doubleredirectstext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Edit&action=edit edit]<br> [[MediaWiki_talk:Edit|Talk]] </td><td> Edit </td><td> {{int:Edit}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Editcomment&action=edit editcomment]<br> [[MediaWiki_talk:Editcomment|Talk]] </td><td> The edit comment was: &quot;&lt;i&gt;$1&lt;/i&gt;&quot;. </td><td> {{int:Editcomment}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Editconflict&action=edit editconflict]<br> [[MediaWiki_talk:Editconflict|Talk]] </td><td> Edit conflict: $1 </td><td> {{int:Editconflict}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Editcurrent&action=edit editcurrent]<br> [[MediaWiki_talk:Editcurrent|Talk]] </td><td> Edit the current version of this page </td><td> {{int:Editcurrent}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Edithelp&action=edit edithelp]<br> [[MediaWiki_talk:Edithelp|Talk]] </td><td> Editing help </td><td> {{int:Edithelp}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Edithelppage&action=edit edithelppage]<br> [[MediaWiki_talk:Edithelppage|Talk]] </td><td> Help:Editing </td><td> {{int:Edithelppage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Editing&action=edit editing]<br> [[MediaWiki_talk:Editing|Talk]] </td><td> Editing $1 </td><td> {{int:Editing}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Editingold&action=edit editingold]<br> [[MediaWiki_talk:Editingold|Talk]] </td><td> &lt;strong&gt;WARNING: You are editing an out-of-date revision of this page. If you save it, any changes made since this revision will be lost.&lt;/strong&gt; </td><td> {{int:Editingold}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Editsection&action=edit editsection]<br> [[MediaWiki_talk:Editsection|Talk]] </td><td> edit </td><td> {{int:Editsection}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Editthispage&action=edit editthispage]<br> [[MediaWiki_talk:Editthispage|Talk]] </td><td> Edit this page </td><td> {{int:Editthispage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailflag&action=edit emailflag]<br> [[MediaWiki_talk:Emailflag|Talk]] </td><td> Disable e-mail from other users </td><td> {{int:Emailflag}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailforlost&action=edit emailforlost]<br> [[MediaWiki_talk:Emailforlost|Talk]] </td><td> Fields marked with a star (*) are optional. Storing an email address enables people to contact you through the website without you having to reveal your email address to them, and it can be used to send you a new password if you forget it.&lt;br /&gt;&lt;br /&gt;Your real name, if you choose to provide it, will be used for giving you attribution for your work. </td><td> {{int:Emailforlost}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailfrom&action=edit emailfrom]<br> [[MediaWiki_talk:Emailfrom|Talk]] </td><td> From </td><td> {{int:Emailfrom}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailmessage&action=edit emailmessage]<br> [[MediaWiki_talk:Emailmessage|Talk]] </td><td> Message </td><td> {{int:Emailmessage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailpage&action=edit emailpage]<br> [[MediaWiki_talk:Emailpage|Talk]] </td><td> E-mail user </td><td> {{int:Emailpage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailpagetext&action=edit emailpagetext]<br> [[MediaWiki_talk:Emailpagetext|Talk]] </td><td> If this user has entered a valid e-mail address in his or her user preferences, the form below will send a single message. The e-mail address you entered in your user preferences will appear as the &quot;From&quot; address of the mail, so the recipient will be able to reply. </td><td> {{int:Emailpagetext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailsend&action=edit emailsend]<br> [[MediaWiki_talk:Emailsend|Talk]] </td><td> Send </td><td> {{int:Emailsend}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailsent&action=edit emailsent]<br> [[MediaWiki_talk:Emailsent|Talk]] </td><td> E-mail sent </td><td> {{int:Emailsent}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailsenttext&action=edit emailsenttext]<br> [[MediaWiki_talk:Emailsenttext|Talk]] </td><td> Your e-mail message has been sent. </td><td> {{int:Emailsenttext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailsubject&action=edit emailsubject]<br> [[MediaWiki_talk:Emailsubject|Talk]] </td><td> Subject </td><td> {{int:Emailsubject}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailto&action=edit emailto]<br> [[MediaWiki_talk:Emailto|Talk]] </td><td> To </td><td> {{int:Emailto}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailuser&action=edit emailuser]<br> [[MediaWiki_talk:Emailuser|Talk]] </td><td> E-mail this user </td><td> {{int:Emailuser}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Enterlockreason&action=edit enterlockreason]<br> [[MediaWiki_talk:Enterlockreason|Talk]] </td><td> Enter a reason for the lock, including an estimate of when the lock will be released </td><td> {{int:Enterlockreason}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Error&action=edit error]<br> [[MediaWiki_talk:Error|Talk]] </td><td> Error </td><td> {{int:Error}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Errorpagetitle&action=edit errorpagetitle]<br> [[MediaWiki_talk:Errorpagetitle|Talk]] </td><td> Error </td><td> {{int:Errorpagetitle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Exbeforeblank&action=edit exbeforeblank]<br> [[MediaWiki_talk:Exbeforeblank|Talk]] </td><td> content before blanking was: </td><td> {{int:Exbeforeblank}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Exblank&action=edit exblank]<br> [[MediaWiki_talk:Exblank|Talk]] </td><td> page was empty </td><td> {{int:Exblank}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Excontent&action=edit excontent]<br> [[MediaWiki_talk:Excontent|Talk]] </td><td> content was: </td><td> {{int:Excontent}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Explainconflict&action=edit explainconflict]<br> [[MediaWiki_talk:Explainconflict|Talk]] </td><td> Someone else has changed this page since you started editing it. The upper text area contains the page text as it currently exists. Your changes are shown in the lower text area. You will have to merge your changes into the existing text. &lt;b&gt;Only&lt;/b&gt; the text in the upper text area will be saved when you press &quot;Save page&quot;. &lt;p&gt; </td><td> {{int:Explainconflict}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Export&action=edit export]<br> [[MediaWiki_talk:Export|Talk]] </td><td> Export pages </td><td> {{int:Export}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Exportcuronly&action=edit exportcuronly]<br> [[MediaWiki_talk:Exportcuronly|Talk]] </td><td> Include only the current revision, not the full history </td><td> {{int:Exportcuronly}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Exporttext&action=edit exporttext]<br> [[MediaWiki_talk:Exporttext|Talk]] </td><td> You can export the text and editing history of a particular page or set of pages wrapped in some XML; this can then be imported into another wiki running MediaWiki software, transformed, or just kept for your private amusement. </td><td> {{int:Exporttext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Extlink_sample&action=edit extlink_sample]<br> [[MediaWiki_talk:Extlink_sample|Talk]] </td><td> http&#58;//www.example.com link title </td><td> {{int:Extlink_sample}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Extlink_tip&action=edit extlink_tip]<br> [[MediaWiki_talk:Extlink_tip|Talk]] </td><td> External link (remember http&#58;// prefix) </td><td> {{int:Extlink_tip}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Faq&action=edit faq]<br> [[MediaWiki_talk:Faq|Talk]] </td><td> FAQ </td><td> {{int:Faq}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Faqpage&action=edit faqpage]<br> [[MediaWiki_talk:Faqpage|Talk]] </td><td> Wiktionary:FAQ </td><td> {{int:Faqpage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Feedlinks&action=edit feedlinks]<br> [[MediaWiki_talk:Feedlinks|Talk]] </td><td> Feed: </td><td> {{int:Feedlinks}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Filecopyerror&action=edit filecopyerror]<br> [[MediaWiki_talk:Filecopyerror|Talk]] </td><td> Could not copy file &quot;$1&quot; to &quot;$2&quot;. </td><td> {{int:Filecopyerror}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Filedeleteerror&action=edit filedeleteerror]<br> [[MediaWiki_talk:Filedeleteerror|Talk]] </td><td> Could not delete file &quot;$1&quot;. </td><td> {{int:Filedeleteerror}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Filedesc&action=edit filedesc]<br> [[MediaWiki_talk:Filedesc|Talk]] </td><td> Summary </td><td> {{int:Filedesc}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Filename&action=edit filename]<br> [[MediaWiki_talk:Filename|Talk]] </td><td> Filename </td><td> {{int:Filename}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Filenotfound&action=edit filenotfound]<br> [[MediaWiki_talk:Filenotfound|Talk]] </td><td> Could not find file &quot;$1&quot;. </td><td> {{int:Filenotfound}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Filerenameerror&action=edit filerenameerror]<br> [[MediaWiki_talk:Filerenameerror|Talk]] </td><td> Could not rename file &quot;$1&quot; to &quot;$2&quot;. </td><td> {{int:Filerenameerror}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Filesource&action=edit filesource]<br> [[MediaWiki_talk:Filesource|Talk]] </td><td> Source </td><td> {{int:Filesource}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Filestatus&action=edit filestatus]<br> [[MediaWiki_talk:Filestatus|Talk]] </td><td> Copyright status </td><td> {{int:Filestatus}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Fileuploaded&action=edit fileuploaded]<br> [[MediaWiki_talk:Fileuploaded|Talk]] </td><td> File &quot;$1&quot; uploaded successfully. Please follow this link: $2 to the description page and fill in information about the file, such as where it came from, when it was created and by whom, and anything else you may know about it. </td><td> {{int:Fileuploaded}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Formerror&action=edit formerror]<br> [[MediaWiki_talk:Formerror|Talk]] </td><td> Error: could not submit form </td><td> {{int:Formerror}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Fromwikipedia&action=edit fromwikipedia]<br> [[MediaWiki_talk:Fromwikipedia|Talk]] </td><td> From Wiktionary </td><td> {{int:Fromwikipedia}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Getimagelist&action=edit getimagelist]<br> [[MediaWiki_talk:Getimagelist|Talk]] </td><td> fetching image list </td><td> {{int:Getimagelist}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Go&action=edit go]<br> [[MediaWiki_talk:Go|Talk]] </td><td> Go </td><td> {{int:Go}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Googlesearch&action=edit googlesearch]<br> [[MediaWiki_talk:Googlesearch|Talk]] </td><td> &lt;!-- SiteSearch Google --&gt; &lt;FORM method=GET action=&quot;http&#58;//www.google.com/search&quot;&gt; &lt;TABLE bgcolor=&quot;#FFFFFF&quot;&gt;&lt;tr&gt;&lt;td&gt; &lt;A HREF=&quot;http&#58;//www.google.com/&quot;&gt; &lt;IMG SRC=&quot;http&#58;//www.google.com/logos/Logo_40wht.gif&quot; border=&quot;0&quot; ALT=&quot;Google&quot;&gt;&lt;/A&gt; &lt;/td&gt; &lt;td&gt; &lt;INPUT TYPE=text name=q size=31 maxlength=255 value=&quot;$1&quot;&gt; &lt;INPUT type=submit name=btnG VALUE=&quot;Google Search&quot;&gt; &lt;font size=-1&gt; &lt;input type=hidden name=domains value=&quot;http&#58;//tn.wiktionary.org&quot;&gt;&lt;br /&gt;&lt;input type=radio name=sitesearch value=&quot;&quot;&gt; WWW &lt;input type=radio name=sitesearch value=&quot;http&#58;//tn.wiktionary.org&quot; checked&gt; http&#58;//tn.wiktionary.org &lt;br /&gt; &lt;input type=&#39;hidden&#39; name=&#39;ie&#39; value=&#39;$2&#39;&gt; &lt;input type=&#39;hidden&#39; name=&#39;oe&#39; value=&#39;$2&#39;&gt; &lt;/font&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/TABLE&gt; &lt;/FORM&gt; &lt;!-- SiteSearch Google --&gt; </td><td> {{int:Googlesearch}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Guesstimezone&action=edit guesstimezone]<br> [[MediaWiki_talk:Guesstimezone|Talk]] </td><td> Fill in from browser </td><td> {{int:Guesstimezone}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Headline_sample&action=edit headline_sample]<br> [[MediaWiki_talk:Headline_sample|Talk]] </td><td> Headline text </td><td> {{int:Headline_sample}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Headline_tip&action=edit headline_tip]<br> [[MediaWiki_talk:Headline_tip|Talk]] </td><td> Level 2 headline </td><td> {{int:Headline_tip}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Help&action=edit help]<br> [[MediaWiki_talk:Help|Talk]] </td><td> Help </td><td> {{int:Help}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Helppage&action=edit helppage]<br> [[MediaWiki_talk:Helppage|Talk]] </td><td> Help:Contents </td><td> {{int:Helppage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Hide&action=edit hide]<br> [[MediaWiki_talk:Hide|Talk]] </td><td> hide </td><td> {{int:Hide}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Hidetoc&action=edit hidetoc]<br> [[MediaWiki_talk:Hidetoc|Talk]] </td><td> hide </td><td> {{int:Hidetoc}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Hist&action=edit hist]<br> [[MediaWiki_talk:Hist|Talk]] </td><td> hist </td><td> {{int:Hist}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Histlegend&action=edit histlegend]<br> [[MediaWiki_talk:Histlegend|Talk]] </td><td> Diff selection: mark the radio boxes of the versions to compare and hit enter or the button at the bottom.&lt;br/&gt; Legend: (cur) = difference with current version, (last) = difference with preceding version, M = minor edit. </td><td> {{int:Histlegend}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:History&action=edit history]<br> [[MediaWiki_talk:History|Talk]] </td><td> Page history </td><td> {{int:History}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:History_short&action=edit history_short]<br> [[MediaWiki_talk:History_short|Talk]] </td><td> History </td><td> {{int:History_short}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Historywarning&action=edit historywarning]<br> [[MediaWiki_talk:Historywarning|Talk]] </td><td> Warning: The page you are about to delete has a history: </td><td> {{int:Historywarning}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Hr_tip&action=edit hr_tip]<br> [[MediaWiki_talk:Hr_tip|Talk]] </td><td> Horizontal line (use sparingly) </td><td> {{int:Hr_tip}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ignorewarning&action=edit ignorewarning]<br> [[MediaWiki_talk:Ignorewarning|Talk]] </td><td> Ignore warning and save file anyway. </td><td> {{int:Ignorewarning}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ilshowmatch&action=edit ilshowmatch]<br> [[MediaWiki_talk:Ilshowmatch|Talk]] </td><td> Show all images with names matching </td><td> {{int:Ilshowmatch}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ilsubmit&action=edit ilsubmit]<br> [[MediaWiki_talk:Ilsubmit|Talk]] </td><td> Search </td><td> {{int:Ilsubmit}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Image_sample&action=edit image_sample]<br> [[MediaWiki_talk:Image_sample|Talk]] </td><td> Example.jpg </td><td> {{int:Image_sample}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Image_tip&action=edit image_tip]<br> [[MediaWiki_talk:Image_tip|Talk]] </td><td> Embedded image </td><td> {{int:Image_tip}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Imagelinks&action=edit imagelinks]<br> [[MediaWiki_talk:Imagelinks|Talk]] </td><td> Image links </td><td> {{int:Imagelinks}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Imagelist&action=edit imagelist]<br> [[MediaWiki_talk:Imagelist|Talk]] </td><td> Image list </td><td> {{int:Imagelist}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Imagelisttext&action=edit imagelisttext]<br> [[MediaWiki_talk:Imagelisttext|Talk]] </td><td> Below is a list of $1 images sorted $2. </td><td> {{int:Imagelisttext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Imagepage&action=edit imagepage]<br> [[MediaWiki_talk:Imagepage|Talk]] </td><td> View image page </td><td> {{int:Imagepage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Imagereverted&action=edit imagereverted]<br> [[MediaWiki_talk:Imagereverted|Talk]] </td><td> Revert to earlier version was successful. </td><td> {{int:Imagereverted}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Imgdelete&action=edit imgdelete]<br> [[MediaWiki_talk:Imgdelete|Talk]] </td><td> del </td><td> {{int:Imgdelete}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Imgdesc&action=edit imgdesc]<br> [[MediaWiki_talk:Imgdesc|Talk]] </td><td> desc </td><td> {{int:Imgdesc}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Imghistlegend&action=edit imghistlegend]<br> [[MediaWiki_talk:Imghistlegend|Talk]] </td><td> Legend: (cur) = this is the current image, (del) = delete this old version, (rev) = revert to this old version. &lt;br /&gt;&lt;i&gt;Click on date to see image uploaded on that date&lt;/i&gt;. </td><td> {{int:Imghistlegend}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Imghistory&action=edit imghistory]<br> [[MediaWiki_talk:Imghistory|Talk]] </td><td> Image history </td><td> {{int:Imghistory}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Imglegend&action=edit imglegend]<br> [[MediaWiki_talk:Imglegend|Talk]] </td><td> Legend: (desc) = show/edit image description. </td><td> {{int:Imglegend}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Import&action=edit import]<br> [[MediaWiki_talk:Import|Talk]] </td><td> Import pages </td><td> {{int:Import}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Importfailed&action=edit importfailed]<br> [[MediaWiki_talk:Importfailed|Talk]] </td><td> Import failed: $1 </td><td> {{int:Importfailed}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Importhistoryconflict&action=edit importhistoryconflict]<br> [[MediaWiki_talk:Importhistoryconflict|Talk]] </td><td> Conflicting history revision exists (may have imported this page before) </td><td> {{int:Importhistoryconflict}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Importnotext&action=edit importnotext]<br> [[MediaWiki_talk:Importnotext|Talk]] </td><td> Empty or no text </td><td> {{int:Importnotext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Importsuccess&action=edit importsuccess]<br> [[MediaWiki_talk:Importsuccess|Talk]] </td><td> Import succeeded! </td><td> {{int:Importsuccess}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Importtext&action=edit importtext]<br> [[MediaWiki_talk:Importtext|Talk]] </td><td> Please export the file from the source wiki using the Special:Export utility, save it to your disk and upload it here. </td><td> {{int:Importtext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Infobox&action=edit infobox]<br> [[MediaWiki_talk:Infobox|Talk]] </td><td> Click a button to get an example text </td><td> {{int:Infobox}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Infobox_alert&action=edit infobox_alert]<br> [[MediaWiki_talk:Infobox_alert|Talk]] </td><td> Please enter the text you want to be formatted.\n It will be shown in the infobox for copy and pasting.\nExample:\n$1\nwill become:\n$2 </td><td> {{int:Infobox_alert}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Internalerror&action=edit internalerror]<br> [[MediaWiki_talk:Internalerror|Talk]] </td><td> Internal error </td><td> {{int:Internalerror}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Intl&action=edit intl]<br> [[MediaWiki_talk:Intl|Talk]] </td><td> Interlanguage links </td><td> {{int:Intl}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ip_range_invalid&action=edit ip_range_invalid]<br> [[MediaWiki_talk:Ip_range_invalid|Talk]] </td><td> Invalid IP range. </td><td> {{int:Ip_range_invalid}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ipaddress&action=edit ipaddress]<br> [[MediaWiki_talk:Ipaddress|Talk]] </td><td> IP Address/username </td><td> {{int:Ipaddress}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ipb_expiry_invalid&action=edit ipb_expiry_invalid]<br> [[MediaWiki_talk:Ipb_expiry_invalid|Talk]] </td><td> Expiry time invalid. </td><td> {{int:Ipb_expiry_invalid}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ipbexpiry&action=edit ipbexpiry]<br> [[MediaWiki_talk:Ipbexpiry|Talk]] </td><td> Expiry </td><td> {{int:Ipbexpiry}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ipblocklist&action=edit ipblocklist]<br> [[MediaWiki_talk:Ipblocklist|Talk]] </td><td> List of blocked IP addresses and usernames </td><td> {{int:Ipblocklist}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ipbreason&action=edit ipbreason]<br> [[MediaWiki_talk:Ipbreason|Talk]] </td><td> Reason </td><td> {{int:Ipbreason}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ipbsubmit&action=edit ipbsubmit]<br> [[MediaWiki_talk:Ipbsubmit|Talk]] </td><td> Block this user </td><td> {{int:Ipbsubmit}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ipusubmit&action=edit ipusubmit]<br> [[MediaWiki_talk:Ipusubmit|Talk]] </td><td> Unblock this address </td><td> {{int:Ipusubmit}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ipusuccess&action=edit ipusuccess]<br> [[MediaWiki_talk:Ipusuccess|Talk]] </td><td> &quot;$1&quot; unblocked </td><td> {{int:Ipusuccess}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Isbn&action=edit isbn]<br> [[MediaWiki_talk:Isbn|Talk]] </td><td> ISBN </td><td> {{int:Isbn}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Isredirect&action=edit isredirect]<br> [[MediaWiki_talk:Isredirect|Talk]] </td><td> redirect page </td><td> {{int:Isredirect}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Italic_sample&action=edit italic_sample]<br> [[MediaWiki_talk:Italic_sample|Talk]] </td><td> Italic text </td><td> {{int:Italic_sample}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Italic_tip&action=edit italic_tip]<br> [[MediaWiki_talk:Italic_tip|Talk]] </td><td> Italic text </td><td> {{int:Italic_tip}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Iteminvalidname&action=edit iteminvalidname]<br> [[MediaWiki_talk:Iteminvalidname|Talk]] </td><td> Problem with item &#39;$1&#39;, invalid name... </td><td> {{int:Iteminvalidname}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Largefile&action=edit largefile]<br> [[MediaWiki_talk:Largefile|Talk]] </td><td> It is recommended that images not exceed 100k in size. </td><td> {{int:Largefile}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Last&action=edit last]<br> [[MediaWiki_talk:Last|Talk]] </td><td> last </td><td> {{int:Last}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Lastmodified&action=edit lastmodified]<br> [[MediaWiki_talk:Lastmodified|Talk]] </td><td> This page was last modified $1. </td><td> {{int:Lastmodified}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Lastmodifiedby&action=edit lastmodifiedby]<br> [[MediaWiki_talk:Lastmodifiedby|Talk]] </td><td> This page was last modified $1 by $2. </td><td> {{int:Lastmodifiedby}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Lineno&action=edit lineno]<br> [[MediaWiki_talk:Lineno|Talk]] </td><td> Line $1: </td><td> {{int:Lineno}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Link_sample&action=edit link_sample]<br> [[MediaWiki_talk:Link_sample|Talk]] </td><td> Link title </td><td> {{int:Link_sample}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Link_tip&action=edit link_tip]<br> [[MediaWiki_talk:Link_tip|Talk]] </td><td> Internal link </td><td> {{int:Link_tip}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Linklistsub&action=edit linklistsub]<br> [[MediaWiki_talk:Linklistsub|Talk]] </td><td> (List of links) </td><td> {{int:Linklistsub}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Linkshere&action=edit linkshere]<br> [[MediaWiki_talk:Linkshere|Talk]] </td><td> The following pages link to here: </td><td> {{int:Linkshere}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Linkstoimage&action=edit linkstoimage]<br> [[MediaWiki_talk:Linkstoimage|Talk]] </td><td> The following pages link to this image: </td><td> {{int:Linkstoimage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Linktrail&action=edit linktrail]<br> [[MediaWiki_talk:Linktrail|Talk]] </td><td> /^(&#91;a-z]+)(.*)$/sD </td><td> {{int:Linktrail}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Listform&action=edit listform]<br> [[MediaWiki_talk:Listform|Talk]] </td><td> list </td><td> {{int:Listform}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Listusers&action=edit listusers]<br> [[MediaWiki_talk:Listusers|Talk]] </td><td> User list </td><td> {{int:Listusers}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loadhist&action=edit loadhist]<br> [[MediaWiki_talk:Loadhist|Talk]] </td><td> Loading page history </td><td> {{int:Loadhist}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loadingrev&action=edit loadingrev]<br> [[MediaWiki_talk:Loadingrev|Talk]] </td><td> loading revision for diff </td><td> {{int:Loadingrev}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Localtime&action=edit localtime]<br> [[MediaWiki_talk:Localtime|Talk]] </td><td> Local time display </td><td> {{int:Localtime}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Lockbtn&action=edit lockbtn]<br> [[MediaWiki_talk:Lockbtn|Talk]] </td><td> Lock database </td><td> {{int:Lockbtn}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Lockconfirm&action=edit lockconfirm]<br> [[MediaWiki_talk:Lockconfirm|Talk]] </td><td> Yes, I really want to lock the database. </td><td> {{int:Lockconfirm}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Lockdb&action=edit lockdb]<br> [[MediaWiki_talk:Lockdb|Talk]] </td><td> Lock database </td><td> {{int:Lockdb}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Lockdbsuccesssub&action=edit lockdbsuccesssub]<br> [[MediaWiki_talk:Lockdbsuccesssub|Talk]] </td><td> Database lock succeeded </td><td> {{int:Lockdbsuccesssub}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Lockdbsuccesstext&action=edit lockdbsuccesstext]<br> [[MediaWiki_talk:Lockdbsuccesstext|Talk]] </td><td> The database has been locked. &lt;br /&gt;Remember to remove the lock after your maintenance is complete. </td><td> {{int:Lockdbsuccesstext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Lockdbtext&action=edit lockdbtext]<br> [[MediaWiki_talk:Lockdbtext|Talk]] </td><td> Locking the database will suspend the ability of all users to edit pages, change their preferences, edit their watchlists, and other things requiring changes in the database. Please confirm that this is what you intend to do, and that you will unlock the database when your maintenance is done. </td><td> {{int:Lockdbtext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Locknoconfirm&action=edit locknoconfirm]<br> [[MediaWiki_talk:Locknoconfirm|Talk]] </td><td> You did not check the confirmation box. </td><td> {{int:Locknoconfirm}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Login&action=edit login]<br> [[MediaWiki_talk:Login|Talk]] </td><td> Log in </td><td> {{int:Login}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loginend&action=edit loginend]<br> [[MediaWiki_talk:Loginend|Talk]] </td><td> &amp;nbsp; </td><td> {{int:Loginend}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loginerror&action=edit loginerror]<br> [[MediaWiki_talk:Loginerror|Talk]] </td><td> Login error </td><td> {{int:Loginerror}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loginpagetitle&action=edit loginpagetitle]<br> [[MediaWiki_talk:Loginpagetitle|Talk]] </td><td> User login </td><td> {{int:Loginpagetitle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loginproblem&action=edit loginproblem]<br> [[MediaWiki_talk:Loginproblem|Talk]] </td><td> &lt;b&gt;There has been a problem with your login.&lt;/b&gt;&lt;br /&gt;Try again! </td><td> {{int:Loginproblem}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loginprompt&action=edit loginprompt]<br> [[MediaWiki_talk:Loginprompt|Talk]] </td><td> You must have cookies enabled to log in to Wiktionary. </td><td> {{int:Loginprompt}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loginreqtext&action=edit loginreqtext]<br> [[MediaWiki_talk:Loginreqtext|Talk]] </td><td> You must &#91;&#91;special:Userlogin&#124;login]] to view other pages. </td><td> {{int:Loginreqtext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loginreqtitle&action=edit loginreqtitle]<br> [[MediaWiki_talk:Loginreqtitle|Talk]] </td><td> Login Required </td><td> {{int:Loginreqtitle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loginsuccess&action=edit loginsuccess]<br> [[MediaWiki_talk:Loginsuccess|Talk]] </td><td> You are now logged in to Wiktionary as &quot;$1&quot;. </td><td> {{int:Loginsuccess}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loginsuccesstitle&action=edit loginsuccesstitle]<br> [[MediaWiki_talk:Loginsuccesstitle|Talk]] </td><td> Login successful </td><td> {{int:Loginsuccesstitle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Logout&action=edit logout]<br> [[MediaWiki_talk:Logout|Talk]] </td><td> Log out </td><td> {{int:Logout}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Logouttext&action=edit logouttext]<br> [[MediaWiki_talk:Logouttext|Talk]] </td><td> You are now logged out. You can continue to use Wiktionary anonymously, or you can log in again as the same or as a different user. Note that some pages may continue to be displayed as if you were still logged in, until you clear your browser cache </td><td> {{int:Logouttext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Logouttitle&action=edit logouttitle]<br> [[MediaWiki_talk:Logouttitle|Talk]] </td><td> User logout </td><td> {{int:Logouttitle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Lonelypages&action=edit lonelypages]<br> [[MediaWiki_talk:Lonelypages|Talk]] </td><td> Orphaned pages </td><td> {{int:Lonelypages}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Longpages&action=edit longpages]<br> [[MediaWiki_talk:Longpages|Talk]] </td><td> Long pages </td><td> {{int:Longpages}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Longpagewarning&action=edit longpagewarning]<br> [[MediaWiki_talk:Longpagewarning|Talk]] </td><td> WARNING: This page is $1 kilobytes long; some browsers may have problems editing pages approaching or longer than 32kb. Please consider breaking the page into smaller sections. </td><td> {{int:Longpagewarning}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mailerror&action=edit mailerror]<br> [[MediaWiki_talk:Mailerror|Talk]] </td><td> Error sending mail: $1 </td><td> {{int:Mailerror}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mailmypassword&action=edit mailmypassword]<br> [[MediaWiki_talk:Mailmypassword|Talk]] </td><td> Mail me a new password </td><td> {{int:Mailmypassword}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mailnologin&action=edit mailnologin]<br> [[MediaWiki_talk:Mailnologin|Talk]] </td><td> No send address </td><td> {{int:Mailnologin}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mailnologintext&action=edit mailnologintext]<br> [[MediaWiki_talk:Mailnologintext|Talk]] </td><td> You must be &lt;a href=&quot;{{localurl:Special:Userlogin&quot;&gt;logged in&lt;/a&gt; and have a valid e-mail address in your &lt;a href=&quot;/wiki/Special:Preferences&quot;&gt;preferences&lt;/a&gt; to send e-mail to other users. </td><td> {{int:Mailnologintext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mainpage&action=edit mainpage]<br> [[MediaWiki_talk:Mainpage|Talk]] </td><td> Main Page </td><td> {{int:Mainpage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mainpagedocfooter&action=edit mainpagedocfooter]<br> [[MediaWiki_talk:Mainpagedocfooter|Talk]] </td><td> Please see &#91;http&#58;//meta.wikipedia.org/wiki/MediaWiki_i18n documentation on customizing the interface] and the &#91;http&#58;//meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User&#39;s Guide] for usage and configuration help. </td><td> {{int:Mainpagedocfooter}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mainpagetext&action=edit mainpagetext]<br> [[MediaWiki_talk:Mainpagetext|Talk]] </td><td> Wiki software successfully installed. </td><td> {{int:Mainpagetext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Maintenance&action=edit maintenance]<br> [[MediaWiki_talk:Maintenance|Talk]] </td><td> Maintenance page </td><td> {{int:Maintenance}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Maintenancebacklink&action=edit maintenancebacklink]<br> [[MediaWiki_talk:Maintenancebacklink|Talk]] </td><td> Back to Maintenance Page </td><td> {{int:Maintenancebacklink}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Maintnancepagetext&action=edit maintnancepagetext]<br> [[MediaWiki_talk:Maintnancepagetext|Talk]] </td><td> This page includes several handy tools for everyday maintenance. Some of these functions tend to stress the database, so please do not hit reload after every item you fixed ;-) </td><td> {{int:Maintnancepagetext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Makesysop&action=edit makesysop]<br> [[MediaWiki_talk:Makesysop|Talk]] </td><td> Make a user into a sysop </td><td> {{int:Makesysop}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Makesysopfail&action=edit makesysopfail]<br> [[MediaWiki_talk:Makesysopfail|Talk]] </td><td> &lt;b&gt;User &quot;$1&quot; could not be made into a sysop. (Did you enter the name correctly?)&lt;/b&gt; </td><td> {{int:Makesysopfail}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Makesysopname&action=edit makesysopname]<br> [[MediaWiki_talk:Makesysopname|Talk]] </td><td> Name of the user: </td><td> {{int:Makesysopname}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Makesysopok&action=edit makesysopok]<br> [[MediaWiki_talk:Makesysopok|Talk]] </td><td> &lt;b&gt;User &quot;$1&quot; is now a sysop&lt;/b&gt; </td><td> {{int:Makesysopok}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Makesysopsubmit&action=edit makesysopsubmit]<br> [[MediaWiki_talk:Makesysopsubmit|Talk]] </td><td> Make this user into a sysop </td><td> {{int:Makesysopsubmit}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Makesysoptext&action=edit makesysoptext]<br> [[MediaWiki_talk:Makesysoptext|Talk]] </td><td> This form is used by bureaucrats to turn ordinary users into administrators. Type the name of the user in the box and press the button to make the user an administrator </td><td> {{int:Makesysoptext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Makesysoptitle&action=edit makesysoptitle]<br> [[MediaWiki_talk:Makesysoptitle|Talk]] </td><td> Make a user into a sysop </td><td> {{int:Makesysoptitle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Matchtotals&action=edit matchtotals]<br> [[MediaWiki_talk:Matchtotals|Talk]] </td><td> The query &quot;$1&quot; matched $2 page titles and the text of $3 pages. </td><td> {{int:Matchtotals}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math&action=edit math]<br> [[MediaWiki_talk:Math|Talk]] </td><td> Rendering math </td><td> {{int:Math}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_bad_output&action=edit math_bad_output]<br> [[MediaWiki_talk:Math_bad_output|Talk]] </td><td> Can&#39;t write to or create math output directory </td><td> {{int:Math_bad_output}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_bad_tmpdir&action=edit math_bad_tmpdir]<br> [[MediaWiki_talk:Math_bad_tmpdir|Talk]] </td><td> Can&#39;t write to or create math temp directory </td><td> {{int:Math_bad_tmpdir}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_failure&action=edit math_failure]<br> [[MediaWiki_talk:Math_failure|Talk]] </td><td> Failed to parse </td><td> {{int:Math_failure}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_image_error&action=edit math_image_error]<br> [[MediaWiki_talk:Math_image_error|Talk]] </td><td> PNG conversion failed; check for correct installation of latex, dvips, gs, and convert </td><td> {{int:Math_image_error}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_lexing_error&action=edit math_lexing_error]<br> [[MediaWiki_talk:Math_lexing_error|Talk]] </td><td> lexing error </td><td> {{int:Math_lexing_error}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_notexvc&action=edit math_notexvc]<br> [[MediaWiki_talk:Math_notexvc|Talk]] </td><td> Missing texvc executable; please see math/README to configure. </td><td> {{int:Math_notexvc}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_sample&action=edit math_sample]<br> [[MediaWiki_talk:Math_sample|Talk]] </td><td> Insert formula here </td><td> {{int:Math_sample}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_syntax_error&action=edit math_syntax_error]<br> [[MediaWiki_talk:Math_syntax_error|Talk]] </td><td> syntax error </td><td> {{int:Math_syntax_error}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_tip&action=edit math_tip]<br> [[MediaWiki_talk:Math_tip|Talk]] </td><td> Mathematical formula (LaTeX) </td><td> {{int:Math_tip}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_unknown_error&action=edit math_unknown_error]<br> [[MediaWiki_talk:Math_unknown_error|Talk]] </td><td> unknown error </td><td> {{int:Math_unknown_error}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_unknown_function&action=edit math_unknown_function]<br> [[MediaWiki_talk:Math_unknown_function|Talk]] </td><td> unknown function </td><td> {{int:Math_unknown_function}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Media_sample&action=edit media_sample]<br> [[MediaWiki_talk:Media_sample|Talk]] </td><td> Example.mp3 </td><td> {{int:Media_sample}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Media_tip&action=edit media_tip]<br> [[MediaWiki_talk:Media_tip|Talk]] </td><td> Media file link </td><td> {{int:Media_tip}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Minlength&action=edit minlength]<br> [[MediaWiki_talk:Minlength|Talk]] </td><td> Image names must be at least three letters. </td><td> {{int:Minlength}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Minoredit&action=edit minoredit]<br> [[MediaWiki_talk:Minoredit|Talk]] </td><td> This is a minor edit </td><td> {{int:Minoredit}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Minoreditletter&action=edit minoreditletter]<br> [[MediaWiki_talk:Minoreditletter|Talk]] </td><td> M </td><td> {{int:Minoreditletter}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mispeelings&action=edit mispeelings]<br> [[MediaWiki_talk:Mispeelings|Talk]] </td><td> Pages with misspellings </td><td> {{int:Mispeelings}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mispeelingspage&action=edit mispeelingspage]<br> [[MediaWiki_talk:Mispeelingspage|Talk]] </td><td> List of common misspellings </td><td> {{int:Mispeelingspage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mispeelingstext&action=edit mispeelingstext]<br> [[MediaWiki_talk:Mispeelingstext|Talk]] </td><td> The following pages contain a common misspelling, which are listed on $1. The correct spelling might be given (like this). </td><td> {{int:Mispeelingstext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Missingarticle&action=edit missingarticle]<br> [[MediaWiki_talk:Missingarticle|Talk]] </td><td> The database did not find the text of a page that it should have found, named &quot;$1&quot;. &lt;p&gt;This is usually caused by following an outdated diff or history link to a page that has been deleted. &lt;p&gt;If this is not the case, you may have found a bug in the software. Please report this to an administrator, making note of the URL. </td><td> {{int:Missingarticle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Missingimage&action=edit missingimage]<br> [[MediaWiki_talk:Missingimage|Talk]] </td><td> &lt;b&gt;Missing image&lt;/b&gt;&lt;br /&gt;&lt;i&gt;$1&lt;/i&gt; </td><td> {{int:Missingimage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Missinglanguagelinks&action=edit missinglanguagelinks]<br> [[MediaWiki_talk:Missinglanguagelinks|Talk]] </td><td> Missing Language Links </td><td> {{int:Missinglanguagelinks}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Missinglanguagelinksbutton&action=edit missinglanguagelinksbutton]<br> [[MediaWiki_talk:Missinglanguagelinksbutton|Talk]] </td><td> Find missing language links for </td><td> {{int:Missinglanguagelinksbutton}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Missinglanguagelinkstext&action=edit missinglanguagelinkstext]<br> [[MediaWiki_talk:Missinglanguagelinkstext|Talk]] </td><td> These pages do &lt;i&gt;not&lt;/i&gt; link to their counterpart in $1. Redirects and subpages are &lt;i&gt;not&lt;/i&gt; shown. </td><td> {{int:Missinglanguagelinkstext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Moredotdotdot&action=edit moredotdotdot]<br> [[MediaWiki_talk:Moredotdotdot|Talk]] </td><td> More... </td><td> {{int:Moredotdotdot}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Move&action=edit move]<br> [[MediaWiki_talk:Move|Talk]] </td><td> Move </td><td> {{int:Move}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Movearticle&action=edit movearticle]<br> [[MediaWiki_talk:Movearticle|Talk]] </td><td> Move page </td><td> {{int:Movearticle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Movedto&action=edit movedto]<br> [[MediaWiki_talk:Movedto|Talk]] </td><td> moved to </td><td> {{int:Movedto}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Movenologin&action=edit movenologin]<br> [[MediaWiki_talk:Movenologin|Talk]] </td><td> Not logged in </td><td> {{int:Movenologin}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Movenologintext&action=edit movenologintext]<br> [[MediaWiki_talk:Movenologintext|Talk]] </td><td> You must be a registered user and &lt;a href=&quot;/wiki/Special:Userlogin&quot;&gt;logged in&lt;/a&gt; to move a page. </td><td> {{int:Movenologintext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Movepage&action=edit movepage]<br> [[MediaWiki_talk:Movepage|Talk]] </td><td> Move page </td><td> {{int:Movepage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Movepagebtn&action=edit movepagebtn]<br> [[MediaWiki_talk:Movepagebtn|Talk]] </td><td> Move page </td><td> {{int:Movepagebtn}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Movepagetalktext&action=edit movepagetalktext]<br> [[MediaWiki_talk:Movepagetalktext|Talk]] </td><td> The associated talk page, if any, will be automatically moved along with it &#39;&#39;&#39;unless:&#39;&#39;&#39; *You are moving the page across namespaces, *A non-empty talk page already exists under the new name, or *You uncheck the box below. In those cases, you will have to move or merge the page manually if desired. </td><td> {{int:Movepagetalktext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Movepagetext&action=edit movepagetext]<br> [[MediaWiki_talk:Movepagetext|Talk]] </td><td> Using the form below will rename a page, moving all of its history to the new name. The old title will become a redirect page to the new title. Links to the old page title will not be changed; be sure to &#91;&#91;Special:Maintenance&#124;check]] for double or broken redirects. You are responsible for making sure that links continue to point where they are supposed to go. Note that the page will &#39;&#39;&#39;not&#39;&#39;&#39; be moved if there is already a page at the new title, unless it is empty or a redirect and has no past edit history. This means that you can rename a page back to where it was just renamed from if you make a mistake, and you cannot overwrite an existing page. &lt;b&gt;WARNING!&lt;/b&gt; This can be a drastic and unexpected change for a popular page; please be sure you understand the consequences of this before proceeding. </td><td> {{int:Movepagetext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Movetalk&action=edit movetalk]<br> [[MediaWiki_talk:Movetalk|Talk]] </td><td> Move &quot;talk&quot; page as well, if applicable. </td><td> {{int:Movetalk}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Movethispage&action=edit movethispage]<br> [[MediaWiki_talk:Movethispage|Talk]] </td><td> Move this page </td><td> {{int:Movethispage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mycontris&action=edit mycontris]<br> [[MediaWiki_talk:Mycontris|Talk]] </td><td> My contributions </td><td> {{int:Mycontris}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mypage&action=edit mypage]<br> [[MediaWiki_talk:Mypage|Talk]] </td><td> My page </td><td> {{int:Mypage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mytalk&action=edit mytalk]<br> [[MediaWiki_talk:Mytalk|Talk]] </td><td> My talk </td><td> {{int:Mytalk}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Navigation&action=edit navigation]<br> [[MediaWiki_talk:Navigation|Talk]] </td><td> Navigation </td><td> {{int:Navigation}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nbytes&action=edit nbytes]<br> [[MediaWiki_talk:Nbytes|Talk]] </td><td> $1 bytes </td><td> {{int:Nbytes}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nchanges&action=edit nchanges]<br> [[MediaWiki_talk:Nchanges|Talk]] </td><td> $1 changes </td><td> {{int:Nchanges}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Newarticle&action=edit newarticle]<br> [[MediaWiki_talk:Newarticle|Talk]] </td><td> (New) </td><td> {{int:Newarticle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Newarticletext&action=edit newarticletext]<br> [[MediaWiki_talk:Newarticletext|Talk]] </td><td> You&#39;ve followed a link to a page that doesn&#39;t exist yet. To create the page, start typing in the box below (see the &#91;&#91;Wiktionary:Help&#124;help page]] for more info). If you are here by mistake, just click your browser&#39;s &#39;&#39;&#39;back&#39;&#39;&#39; button. </td><td> {{int:Newarticletext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Newmessages&action=edit newmessages]<br> [[MediaWiki_talk:Newmessages|Talk]] </td><td> You have $1. </td><td> {{int:Newmessages}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Newmessageslink&action=edit newmessageslink]<br> [[MediaWiki_talk:Newmessageslink|Talk]] </td><td> new messages </td><td> {{int:Newmessageslink}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Newpage&action=edit newpage]<br> [[MediaWiki_talk:Newpage|Talk]] </td><td> New page </td><td> {{int:Newpage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Newpageletter&action=edit newpageletter]<br> [[MediaWiki_talk:Newpageletter|Talk]] </td><td> N </td><td> {{int:Newpageletter}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Newpages&action=edit newpages]<br> [[MediaWiki_talk:Newpages|Talk]] </td><td> New pages </td><td> {{int:Newpages}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Newpassword&action=edit newpassword]<br> [[MediaWiki_talk:Newpassword|Talk]] </td><td> New password </td><td> {{int:Newpassword}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Newtitle&action=edit newtitle]<br> [[MediaWiki_talk:Newtitle|Talk]] </td><td> To new title </td><td> {{int:Newtitle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Newusersonly&action=edit newusersonly]<br> [[MediaWiki_talk:Newusersonly|Talk]] </td><td> (new users only) </td><td> {{int:Newusersonly}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Next&action=edit next]<br> [[MediaWiki_talk:Next|Talk]] </td><td> next </td><td> {{int:Next}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nextn&action=edit nextn]<br> [[MediaWiki_talk:Nextn|Talk]] </td><td> next $1 </td><td> {{int:Nextn}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nlinks&action=edit nlinks]<br> [[MediaWiki_talk:Nlinks|Talk]] </td><td> $1 links </td><td> {{int:Nlinks}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Noaffirmation&action=edit noaffirmation]<br> [[MediaWiki_talk:Noaffirmation|Talk]] </td><td> You must affirm that your upload does not violate any copyrights. </td><td> {{int:Noaffirmation}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Noarticletext&action=edit noarticletext]<br> [[MediaWiki_talk:Noarticletext|Talk]] </td><td> (There is currently no text in this page) </td><td> {{int:Noarticletext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Noblockreason&action=edit noblockreason]<br> [[MediaWiki_talk:Noblockreason|Talk]] </td><td> You must supply a reason for the block. </td><td> {{int:Noblockreason}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Noconnect&action=edit noconnect]<br> [[MediaWiki_talk:Noconnect|Talk]] </td><td> Sorry! The wiki is experiencing some technical difficulties, and cannot contact the database server. </td><td> {{int:Noconnect}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nocontribs&action=edit nocontribs]<br> [[MediaWiki_talk:Nocontribs|Talk]] </td><td> No changes were found matching these criteria. </td><td> {{int:Nocontribs}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nocookieslogin&action=edit nocookieslogin]<br> [[MediaWiki_talk:Nocookieslogin|Talk]] </td><td> Wiktionary uses cookies to log in users. You have cookies disabled. Please enable them and try again. </td><td> {{int:Nocookieslogin}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nocookiesnew&action=edit nocookiesnew]<br> [[MediaWiki_talk:Nocookiesnew|Talk]] </td><td> The user account was created, but you are not logged in. Wiktionary uses cookies to log in users. You have cookies disabled. Please enable them, then log in with your new username and password. </td><td> {{int:Nocookiesnew}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nocreativecommons&action=edit nocreativecommons]<br> [[MediaWiki_talk:Nocreativecommons|Talk]] </td><td> Creative Commons RDF metadata disabled for this server. </td><td> {{int:Nocreativecommons}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nodb&action=edit nodb]<br> [[MediaWiki_talk:Nodb|Talk]] </td><td> Could not select database $1 </td><td> {{int:Nodb}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nodublincore&action=edit nodublincore]<br> [[MediaWiki_talk:Nodublincore|Talk]] </td><td> Dublin Core RDF metadata disabled for this server. </td><td> {{int:Nodublincore}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Noemail&action=edit noemail]<br> [[MediaWiki_talk:Noemail|Talk]] </td><td> There is no e-mail address recorded for user &quot;$1&quot;. </td><td> {{int:Noemail}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Noemailtext&action=edit noemailtext]<br> [[MediaWiki_talk:Noemailtext|Talk]] </td><td> This user has not specified a valid e-mail address, or has chosen not to receive e-mail from other users. </td><td> {{int:Noemailtext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Noemailtitle&action=edit noemailtitle]<br> [[MediaWiki_talk:Noemailtitle|Talk]] </td><td> No e-mail address </td><td> {{int:Noemailtitle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nogomatch&action=edit nogomatch]<br> [[MediaWiki_talk:Nogomatch|Talk]] </td><td> No page with this exact title exists, trying full text search. </td><td> {{int:Nogomatch}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nohistory&action=edit nohistory]<br> [[MediaWiki_talk:Nohistory|Talk]] </td><td> There is no edit history for this page. </td><td> {{int:Nohistory}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nolinkshere&action=edit nolinkshere]<br> [[MediaWiki_talk:Nolinkshere|Talk]] </td><td> No pages link to here. </td><td> {{int:Nolinkshere}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nolinkstoimage&action=edit nolinkstoimage]<br> [[MediaWiki_talk:Nolinkstoimage|Talk]] </td><td> There are no pages that link to this image. </td><td> {{int:Nolinkstoimage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Noname&action=edit noname]<br> [[MediaWiki_talk:Noname|Talk]] </td><td> You have not specified a valid user name. </td><td> {{int:Noname}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nonefound&action=edit nonefound]<br> [[MediaWiki_talk:Nonefound|Talk]] </td><td> &lt;strong&gt;Note&lt;/strong&gt;: unsuccessful searches are often caused by searching for common words like &quot;have&quot; and &quot;from&quot;, which are not indexed, or by specifying more than one search term (only pages containing all of the search terms will appear in the result). </td><td> {{int:Nonefound}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nospecialpagetext&action=edit nospecialpagetext]<br> [[MediaWiki_talk:Nospecialpagetext|Talk]] </td><td> You have requested a special page that is not recognized by the wiki. </td><td> {{int:Nospecialpagetext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nosuchaction&action=edit nosuchaction]<br> [[MediaWiki_talk:Nosuchaction|Talk]] </td><td> No such action </td><td> {{int:Nosuchaction}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nosuchactiontext&action=edit nosuchactiontext]<br> [[MediaWiki_talk:Nosuchactiontext|Talk]] </td><td> The action specified by the URL is not recognized by the wiki </td><td> {{int:Nosuchactiontext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nosuchspecialpage&action=edit nosuchspecialpage]<br> [[MediaWiki_talk:Nosuchspecialpage|Talk]] </td><td> No such special page </td><td> {{int:Nosuchspecialpage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nosuchuser&action=edit nosuchuser]<br> [[MediaWiki_talk:Nosuchuser|Talk]] </td><td> There is no user by the name &quot;$1&quot;. Check your spelling, or use the form below to create a new user account. </td><td> {{int:Nosuchuser}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Notacceptable&action=edit notacceptable]<br> [[MediaWiki_talk:Notacceptable|Talk]] </td><td> The wiki server can&#39;t provide data in a format your client can read. </td><td> {{int:Notacceptable}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Notanarticle&action=edit notanarticle]<br> [[MediaWiki_talk:Notanarticle|Talk]] </td><td> Not a content page </td><td> {{int:Notanarticle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Notargettext&action=edit notargettext]<br> [[MediaWiki_talk:Notargettext|Talk]] </td><td> You have not specified a target page or user to perform this function on. </td><td> {{int:Notargettext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Notargettitle&action=edit notargettitle]<br> [[MediaWiki_talk:Notargettitle|Talk]] </td><td> No target </td><td> {{int:Notargettitle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Note&action=edit note]<br> [[MediaWiki_talk:Note|Talk]] </td><td> &lt;strong&gt;Note:&lt;/strong&gt; </td><td> {{int:Note}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Notextmatches&action=edit notextmatches]<br> [[MediaWiki_talk:Notextmatches|Talk]] </td><td> No page text matches </td><td> {{int:Notextmatches}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Notitlematches&action=edit notitlematches]<br> [[MediaWiki_talk:Notitlematches|Talk]] </td><td> No page title matches </td><td> {{int:Notitlematches}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Notloggedin&action=edit notloggedin]<br> [[MediaWiki_talk:Notloggedin|Talk]] </td><td> Not logged in </td><td> {{int:Notloggedin}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nowatchlist&action=edit nowatchlist]<br> [[MediaWiki_talk:Nowatchlist|Talk]] </td><td> You have no items on your watchlist. </td><td> {{int:Nowatchlist}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nowiki_sample&action=edit nowiki_sample]<br> [[MediaWiki_talk:Nowiki_sample|Talk]] </td><td> Insert non-formatted text here </td><td> {{int:Nowiki_sample}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nowiki_tip&action=edit nowiki_tip]<br> [[MediaWiki_talk:Nowiki_tip|Talk]] </td><td> Ignore wiki formatting </td><td> {{int:Nowiki_tip}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nstab-category&action=edit nstab-category]<br> [[MediaWiki_talk:Nstab-category|Talk]] </td><td> Category </td><td> {{int:Nstab-category}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nstab-help&action=edit nstab-help]<br> [[MediaWiki_talk:Nstab-help|Talk]] </td><td> Help </td><td> {{int:Nstab-help}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nstab-image&action=edit nstab-image]<br> [[MediaWiki_talk:Nstab-image|Talk]] </td><td> Image </td><td> {{int:Nstab-image}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nstab-main&action=edit nstab-main]<br> [[MediaWiki_talk:Nstab-main|Talk]] </td><td> Article </td><td> {{int:Nstab-main}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nstab-media&action=edit nstab-media]<br> [[MediaWiki_talk:Nstab-media|Talk]] </td><td> Media </td><td> {{int:Nstab-media}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nstab-mediawiki&action=edit nstab-mediawiki]<br> [[MediaWiki_talk:Nstab-mediawiki|Talk]] </td><td> Message </td><td> {{int:Nstab-mediawiki}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nstab-special&action=edit nstab-special]<br> [[MediaWiki_talk:Nstab-special|Talk]] </td><td> Special </td><td> {{int:Nstab-special}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nstab-template&action=edit nstab-template]<br> [[MediaWiki_talk:Nstab-template|Talk]] </td><td> Template </td><td> {{int:Nstab-template}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nstab-user&action=edit nstab-user]<br> [[MediaWiki_talk:Nstab-user|Talk]] </td><td> User page </td><td> {{int:Nstab-user}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nstab-wp&action=edit nstab-wp]<br> [[MediaWiki_talk:Nstab-wp|Talk]] </td><td> About </td><td> {{int:Nstab-wp}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nviews&action=edit nviews]<br> [[MediaWiki_talk:Nviews|Talk]] </td><td> $1 views </td><td> {{int:Nviews}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ok&action=edit ok]<br> [[MediaWiki_talk:Ok|Talk]] </td><td> OK </td><td> {{int:Ok}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Oldpassword&action=edit oldpassword]<br> [[MediaWiki_talk:Oldpassword|Talk]] </td><td> Old password </td><td> {{int:Oldpassword}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Orig&action=edit orig]<br> [[MediaWiki_talk:Orig|Talk]] </td><td> orig </td><td> {{int:Orig}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Orphans&action=edit orphans]<br> [[MediaWiki_talk:Orphans|Talk]] </td><td> Orphaned pages </td><td> {{int:Orphans}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Othercontribs&action=edit othercontribs]<br> [[MediaWiki_talk:Othercontribs|Talk]] </td><td> Based on work by $1. </td><td> {{int:Othercontribs}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Otherlanguages&action=edit otherlanguages]<br> [[MediaWiki_talk:Otherlanguages|Talk]] </td><td> Other languages </td><td> {{int:Otherlanguages}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Pagemovedsub&action=edit pagemovedsub]<br> [[MediaWiki_talk:Pagemovedsub|Talk]] </td><td> Move succeeded </td><td> {{int:Pagemovedsub}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Pagemovedtext&action=edit pagemovedtext]<br> [[MediaWiki_talk:Pagemovedtext|Talk]] </td><td> Page &quot;&#91;&#91;$1]]&quot; moved to &quot;&#91;&#91;$2]]&quot;. </td><td> {{int:Pagemovedtext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Pagetitle&action=edit pagetitle]<br> [[MediaWiki_talk:Pagetitle|Talk]] </td><td> $1 - Wiktionary </td><td> {{int:Pagetitle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Passwordremindertext&action=edit passwordremindertext]<br> [[MediaWiki_talk:Passwordremindertext|Talk]] </td><td> Someone (probably you, from IP address $1) requested that we send you a new Wiktionary login password. The password for user &quot;$2&quot; is now &quot;$3&quot;. You should log in and change your password now. </td><td> {{int:Passwordremindertext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Passwordremindertitle&action=edit passwordremindertitle]<br> [[MediaWiki_talk:Passwordremindertitle|Talk]] </td><td> Password reminder from Wiktionary </td><td> {{int:Passwordremindertitle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Passwordsent&action=edit passwordsent]<br> [[MediaWiki_talk:Passwordsent|Talk]] </td><td> A new password has been sent to the e-mail address registered for &quot;$1&quot;. Please log in again after you receive it. </td><td> {{int:Passwordsent}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Perfcached&action=edit perfcached]<br> [[MediaWiki_talk:Perfcached|Talk]] </td><td> The following data is cached and may not be completely up to date: </td><td> {{int:Perfcached}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Perfdisabled&action=edit perfdisabled]<br> [[MediaWiki_talk:Perfdisabled|Talk]] </td><td> Sorry! This feature has been temporarily disabled because it slows the database down to the point that no one can use the wiki. </td><td> {{int:Perfdisabled}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Perfdisabledsub&action=edit perfdisabledsub]<br> [[MediaWiki_talk:Perfdisabledsub|Talk]] </td><td> Here&#39;s a saved copy from $1: </td><td> {{int:Perfdisabledsub}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Personaltools&action=edit personaltools]<br> [[MediaWiki_talk:Personaltools|Talk]] </td><td> Personal tools </td><td> {{int:Personaltools}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Popularpages&action=edit popularpages]<br> [[MediaWiki_talk:Popularpages|Talk]] </td><td> Popular pages </td><td> {{int:Popularpages}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Portal&action=edit portal]<br> [[MediaWiki_talk:Portal|Talk]] </td><td> Community portal </td><td> {{int:Portal}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Portal-url&action=edit portal-url]<br> [[MediaWiki_talk:Portal-url|Talk]] </td><td> Wiktionary:Community Portal </td><td> {{int:Portal-url}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Postcomment&action=edit postcomment]<br> [[MediaWiki_talk:Postcomment|Talk]] </td><td> Post a comment </td><td> {{int:Postcomment}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Poweredby&action=edit poweredby]<br> [[MediaWiki_talk:Poweredby|Talk]] </td><td> Wiktionary is powered by &#91;http&#58;//www.mediawiki.org/ MediaWiki], an open source wiki engine. </td><td> {{int:Poweredby}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Powersearch&action=edit powersearch]<br> [[MediaWiki_talk:Powersearch|Talk]] </td><td> Search </td><td> {{int:Powersearch}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Powersearchtext&action=edit powersearchtext]<br> [[MediaWiki_talk:Powersearchtext|Talk]] </td><td> Search in namespaces :&lt;br /&gt; $1&lt;br /&gt; $2 List redirects &amp;nbsp; Search for $3 $9 </td><td> {{int:Powersearchtext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Preferences&action=edit preferences]<br> [[MediaWiki_talk:Preferences|Talk]] </td><td> Preferences </td><td> {{int:Preferences}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Prefs-help-userdata&action=edit prefs-help-userdata]<br> [[MediaWiki_talk:Prefs-help-userdata|Talk]] </td><td> * &lt;strong&gt;Real name&lt;/strong&gt; (optional): if you choose to provide it this will be used for giving you attribution for your work.&lt;br/&gt; * &lt;strong&gt;Email&lt;/strong&gt; (optional): Enables people to contact you through the website without you having to reveal your email address to them, and it can be used to send you a new password if you forget it. </td><td> {{int:Prefs-help-userdata}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Prefs-misc&action=edit prefs-misc]<br> [[MediaWiki_talk:Prefs-misc|Talk]] </td><td> Misc settings </td><td> {{int:Prefs-misc}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Prefs-personal&action=edit prefs-personal]<br> [[MediaWiki_talk:Prefs-personal|Talk]] </td><td> User data </td><td> {{int:Prefs-personal}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Prefs-rc&action=edit prefs-rc]<br> [[MediaWiki_talk:Prefs-rc|Talk]] </td><td> Recent changes and stub display </td><td> {{int:Prefs-rc}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Prefslogintext&action=edit prefslogintext]<br> [[MediaWiki_talk:Prefslogintext|Talk]] </td><td> You are logged in as &quot;$1&quot;. Your internal ID number is $2. See &#91;&#91;Wiktionary:User preferences help]] for help deciphering the options. </td><td> {{int:Prefslogintext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Prefsnologin&action=edit prefsnologin]<br> [[MediaWiki_talk:Prefsnologin|Talk]] </td><td> Not logged in </td><td> {{int:Prefsnologin}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Prefsnologintext&action=edit prefsnologintext]<br> [[MediaWiki_talk:Prefsnologintext|Talk]] </td><td> You must be &lt;a href=&quot;/wiki/Special:Userlogin&quot;&gt;logged in&lt;/a&gt; to set user preferences. </td><td> {{int:Prefsnologintext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Prefsreset&action=edit prefsreset]<br> [[MediaWiki_talk:Prefsreset|Talk]] </td><td> Preferences have been reset from storage. </td><td> {{int:Prefsreset}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Preview&action=edit preview]<br> [[MediaWiki_talk:Preview|Talk]] </td><td> Preview </td><td> {{int:Preview}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Previewconflict&action=edit previewconflict]<br> [[MediaWiki_talk:Previewconflict|Talk]] </td><td> This preview reflects the text in the upper text editing area as it will appear if you choose to save. </td><td> {{int:Previewconflict}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Previewnote&action=edit previewnote]<br> [[MediaWiki_talk:Previewnote|Talk]] </td><td> Remember that this is only a preview, and has not yet been saved! </td><td> {{int:Previewnote}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Prevn&action=edit prevn]<br> [[MediaWiki_talk:Prevn|Talk]] </td><td> previous $1 </td><td> {{int:Prevn}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Printableversion&action=edit printableversion]<br> [[MediaWiki_talk:Printableversion|Talk]] </td><td> Printable version </td><td> {{int:Printableversion}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Printsubtitle&action=edit printsubtitle]<br> [[MediaWiki_talk:Printsubtitle|Talk]] </td><td> (From http&#58;//tn.wiktionary.org) </td><td> {{int:Printsubtitle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protect&action=edit protect]<br> [[MediaWiki_talk:Protect|Talk]] </td><td> Protect </td><td> {{int:Protect}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectcomment&action=edit protectcomment]<br> [[MediaWiki_talk:Protectcomment|Talk]] </td><td> Reason for protecting </td><td> {{int:Protectcomment}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectedarticle&action=edit protectedarticle]<br> [[MediaWiki_talk:Protectedarticle|Talk]] </td><td> protected &#91;&#91;$1]] </td><td> {{int:Protectedarticle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectedpage&action=edit protectedpage]<br> [[MediaWiki_talk:Protectedpage|Talk]] </td><td> Protected page </td><td> {{int:Protectedpage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectedpagewarning&action=edit protectedpagewarning]<br> [[MediaWiki_talk:Protectedpagewarning|Talk]] </td><td> WARNING: This page has been locked so that only users with sysop privileges can edit it. Be sure you are following the &lt;a href=&#39;/w/wiki.phtml/Wiktionary:Protected_page_guidelines&#39;&gt;protected page guidelines&lt;/a&gt;. </td><td> {{int:Protectedpagewarning}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectedtext&action=edit protectedtext]<br> [[MediaWiki_talk:Protectedtext|Talk]] </td><td> This page has been locked to prevent editing; there are a number of reasons why this may be so, please see &#91;&#91;Wiktionary:Protected page]]. You can view and copy the source of this page: </td><td> {{int:Protectedtext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectlogpage&action=edit protectlogpage]<br> [[MediaWiki_talk:Protectlogpage|Talk]] </td><td> Protection_log </td><td> {{int:Protectlogpage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectlogtext&action=edit protectlogtext]<br> [[MediaWiki_talk:Protectlogtext|Talk]] </td><td> Below is a list of page locks/unlocks. See &#91;&#91;Wiktionary:Protected page]] for more information. </td><td> {{int:Protectlogtext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectpage&action=edit protectpage]<br> [[MediaWiki_talk:Protectpage|Talk]] </td><td> Protect page </td><td> {{int:Protectpage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectreason&action=edit protectreason]<br> [[MediaWiki_talk:Protectreason|Talk]] </td><td> (give a reason) </td><td> {{int:Protectreason}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectsub&action=edit protectsub]<br> [[MediaWiki_talk:Protectsub|Talk]] </td><td> (Protecting &quot;$1&quot;) </td><td> {{int:Protectsub}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectthispage&action=edit protectthispage]<br> [[MediaWiki_talk:Protectthispage|Talk]] </td><td> Protect this page </td><td> {{int:Protectthispage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Proxyblocker&action=edit proxyblocker]<br> [[MediaWiki_talk:Proxyblocker|Talk]] </td><td> Proxy blocker </td><td> {{int:Proxyblocker}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Proxyblockreason&action=edit proxyblockreason]<br> [[MediaWiki_talk:Proxyblockreason|Talk]] </td><td> Your IP address has been blocked because it is an open proxy. Please contact your Internet service provider or tech support and inform them of this serious security problem. </td><td> {{int:Proxyblockreason}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Proxyblocksuccess&action=edit proxyblocksuccess]<br> [[MediaWiki_talk:Proxyblocksuccess|Talk]] </td><td> Done. </td><td> {{int:Proxyblocksuccess}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Qbbrowse&action=edit qbbrowse]<br> [[MediaWiki_talk:Qbbrowse|Talk]] </td><td> Browse </td><td> {{int:Qbbrowse}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Qbedit&action=edit qbedit]<br> [[MediaWiki_talk:Qbedit|Talk]] </td><td> Edit </td><td> {{int:Qbedit}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Qbfind&action=edit qbfind]<br> [[MediaWiki_talk:Qbfind|Talk]] </td><td> Find </td><td> {{int:Qbfind}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Qbmyoptions&action=edit qbmyoptions]<br> [[MediaWiki_talk:Qbmyoptions|Talk]] </td><td> My pages </td><td> {{int:Qbmyoptions}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Qbpageinfo&action=edit qbpageinfo]<br> [[MediaWiki_talk:Qbpageinfo|Talk]] </td><td> Context </td><td> {{int:Qbpageinfo}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Qbpageoptions&action=edit qbpageoptions]<br> [[MediaWiki_talk:Qbpageoptions|Talk]] </td><td> This page </td><td> {{int:Qbpageoptions}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Qbsettings&action=edit qbsettings]<br> [[MediaWiki_talk:Qbsettings|Talk]] </td><td> Quickbar settings </td><td> {{int:Qbsettings}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Qbspecialpages&action=edit qbspecialpages]<br> [[MediaWiki_talk:Qbspecialpages|Talk]] </td><td> Special pages </td><td> {{int:Qbspecialpages}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Querybtn&action=edit querybtn]<br> [[MediaWiki_talk:Querybtn|Talk]] </td><td> Submit query </td><td> {{int:Querybtn}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Querysuccessful&action=edit querysuccessful]<br> [[MediaWiki_talk:Querysuccessful|Talk]] </td><td> Query successful </td><td> {{int:Querysuccessful}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Randompage&action=edit randompage]<br> [[MediaWiki_talk:Randompage|Talk]] </td><td> Random page </td><td> {{int:Randompage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Range_block_disabled&action=edit range_block_disabled]<br> [[MediaWiki_talk:Range_block_disabled|Talk]] </td><td> The sysop ability to create range blocks is disabled. </td><td> {{int:Range_block_disabled}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rchide&action=edit rchide]<br> [[MediaWiki_talk:Rchide|Talk]] </td><td> in $4 form; $1 minor edits; $2 secondary namespaces; $3 multiple edits. </td><td> {{int:Rchide}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rclinks&action=edit rclinks]<br> [[MediaWiki_talk:Rclinks|Talk]] </td><td> Show last $1 changes in last $2 days&lt;br /&gt;$3 </td><td> {{int:Rclinks}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rclistfrom&action=edit rclistfrom]<br> [[MediaWiki_talk:Rclistfrom|Talk]] </td><td> Show new changes starting from $1 </td><td> {{int:Rclistfrom}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rcliu&action=edit rcliu]<br> [[MediaWiki_talk:Rcliu|Talk]] </td><td> ; $1 edits from logged in users </td><td> {{int:Rcliu}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rcloaderr&action=edit rcloaderr]<br> [[MediaWiki_talk:Rcloaderr|Talk]] </td><td> Loading recent changes </td><td> {{int:Rcloaderr}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rclsub&action=edit rclsub]<br> [[MediaWiki_talk:Rclsub|Talk]] </td><td> (to pages linked from &quot;$1&quot;) </td><td> {{int:Rclsub}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rcnote&action=edit rcnote]<br> [[MediaWiki_talk:Rcnote|Talk]] </td><td> Below are the last &lt;strong&gt;$1&lt;/strong&gt; changes in last &lt;strong&gt;$2&lt;/strong&gt; days. </td><td> {{int:Rcnote}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rcnotefrom&action=edit rcnotefrom]<br> [[MediaWiki_talk:Rcnotefrom|Talk]] </td><td> Below are the changes since &lt;b&gt;$2&lt;/b&gt; (up to &lt;b&gt;$1&lt;/b&gt; shown). </td><td> {{int:Rcnotefrom}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Readonly&action=edit readonly]<br> [[MediaWiki_talk:Readonly|Talk]] </td><td> Database locked </td><td> {{int:Readonly}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Readonlytext&action=edit readonlytext]<br> [[MediaWiki_talk:Readonlytext|Talk]] </td><td> The database is currently locked to new entries and other modifications, probably for routine database maintenance, after which it will be back to normal. The administrator who locked it offered this explanation: &lt;p&gt;$1 </td><td> {{int:Readonlytext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Readonlywarning&action=edit readonlywarning]<br> [[MediaWiki_talk:Readonlywarning|Talk]] </td><td> WARNING: The database has been locked for maintenance, so you will not be able to save your edits right now. You may wish to cut-n-paste the text into a text file and save it for later. </td><td> {{int:Readonlywarning}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Recentchanges&action=edit recentchanges]<br> [[MediaWiki_talk:Recentchanges|Talk]] </td><td> Recent changes </td><td> {{int:Recentchanges}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Recentchangescount&action=edit recentchangescount]<br> [[MediaWiki_talk:Recentchangescount|Talk]] </td><td> Number of titles in recent changes </td><td> {{int:Recentchangescount}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Recentchangeslinked&action=edit recentchangeslinked]<br> [[MediaWiki_talk:Recentchangeslinked|Talk]] </td><td> Related changes </td><td> {{int:Recentchangeslinked}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Recentchangestext&action=edit recentchangestext]<br> [[MediaWiki_talk:Recentchangestext|Talk]] </td><td> Track the most recent changes to the wiki on this page. </td><td> {{int:Recentchangestext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Redirectedfrom&action=edit redirectedfrom]<br> [[MediaWiki_talk:Redirectedfrom|Talk]] </td><td> (Redirected from $1) </td><td> {{int:Redirectedfrom}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Remembermypassword&action=edit remembermypassword]<br> [[MediaWiki_talk:Remembermypassword|Talk]] </td><td> Remember my password across sessions. </td><td> {{int:Remembermypassword}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Removechecked&action=edit removechecked]<br> [[MediaWiki_talk:Removechecked|Talk]] </td><td> Remove checked items from watchlist </td><td> {{int:Removechecked}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Removedwatch&action=edit removedwatch]<br> [[MediaWiki_talk:Removedwatch|Talk]] </td><td> Removed from watchlist </td><td> {{int:Removedwatch}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Removedwatchtext&action=edit removedwatchtext]<br> [[MediaWiki_talk:Removedwatchtext|Talk]] </td><td> The page &quot;$1&quot; has been removed from your watchlist. </td><td> {{int:Removedwatchtext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Removingchecked&action=edit removingchecked]<br> [[MediaWiki_talk:Removingchecked|Talk]] </td><td> Removing requested items from watchlist... </td><td> {{int:Removingchecked}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Resetprefs&action=edit resetprefs]<br> [[MediaWiki_talk:Resetprefs|Talk]] </td><td> Reset preferences </td><td> {{int:Resetprefs}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Restorelink&action=edit restorelink]<br> [[MediaWiki_talk:Restorelink|Talk]] </td><td> $1 deleted edits </td><td> {{int:Restorelink}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Resultsperpage&action=edit resultsperpage]<br> [[MediaWiki_talk:Resultsperpage|Talk]] </td><td> Hits to show per page </td><td> {{int:Resultsperpage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Retrievedfrom&action=edit retrievedfrom]<br> [[MediaWiki_talk:Retrievedfrom|Talk]] </td><td> Retrieved from &quot;$1&quot; </td><td> {{int:Retrievedfrom}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Returnto&action=edit returnto]<br> [[MediaWiki_talk:Returnto|Talk]] </td><td> Return to $1. </td><td> {{int:Returnto}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Retypenew&action=edit retypenew]<br> [[MediaWiki_talk:Retypenew|Talk]] </td><td> Retype new password </td><td> {{int:Retypenew}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Reupload&action=edit reupload]<br> [[MediaWiki_talk:Reupload|Talk]] </td><td> Re-upload </td><td> {{int:Reupload}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Reuploaddesc&action=edit reuploaddesc]<br> [[MediaWiki_talk:Reuploaddesc|Talk]] </td><td> Return to the upload form. </td><td> {{int:Reuploaddesc}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Reverted&action=edit reverted]<br> [[MediaWiki_talk:Reverted|Talk]] </td><td> Reverted to earlier revision </td><td> {{int:Reverted}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Revertimg&action=edit revertimg]<br> [[MediaWiki_talk:Revertimg|Talk]] </td><td> rev </td><td> {{int:Revertimg}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Revertpage&action=edit revertpage]<br> [[MediaWiki_talk:Revertpage|Talk]] </td><td> Reverted edit of $2, changed back to last version by $1 </td><td> {{int:Revertpage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Revhistory&action=edit revhistory]<br> [[MediaWiki_talk:Revhistory|Talk]] </td><td> Revision history </td><td> {{int:Revhistory}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Revisionasof&action=edit revisionasof]<br> [[MediaWiki_talk:Revisionasof|Talk]] </td><td> Revision as of $1 </td><td> {{int:Revisionasof}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Revnotfound&action=edit revnotfound]<br> [[MediaWiki_talk:Revnotfound|Talk]] </td><td> Revision not found </td><td> {{int:Revnotfound}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Revnotfoundtext&action=edit revnotfoundtext]<br> [[MediaWiki_talk:Revnotfoundtext|Talk]] </td><td> The old revision of the page you asked for could not be found. Please check the URL you used to access this page. </td><td> {{int:Revnotfoundtext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rfcurl&action=edit rfcurl]<br> [[MediaWiki_talk:Rfcurl|Talk]] </td><td> http&#58;//www.faqs.org/rfcs/rfc$1.html </td><td> {{int:Rfcurl}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rights&action=edit rights]<br> [[MediaWiki_talk:Rights|Talk]] </td><td> Rights: </td><td> {{int:Rights}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rollback&action=edit rollback]<br> [[MediaWiki_talk:Rollback|Talk]] </td><td> Roll back edits </td><td> {{int:Rollback}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rollback_short&action=edit rollback_short]<br> [[MediaWiki_talk:Rollback_short|Talk]] </td><td> Rollback </td><td> {{int:Rollback_short}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rollbackfailed&action=edit rollbackfailed]<br> [[MediaWiki_talk:Rollbackfailed|Talk]] </td><td> Rollback failed </td><td> {{int:Rollbackfailed}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rollbacklink&action=edit rollbacklink]<br> [[MediaWiki_talk:Rollbacklink|Talk]] </td><td> rollback </td><td> {{int:Rollbacklink}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rows&action=edit rows]<br> [[MediaWiki_talk:Rows|Talk]] </td><td> Rows </td><td> {{int:Rows}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Savearticle&action=edit savearticle]<br> [[MediaWiki_talk:Savearticle|Talk]] </td><td> Save page </td><td> {{int:Savearticle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Savedprefs&action=edit savedprefs]<br> [[MediaWiki_talk:Savedprefs|Talk]] </td><td> Your preferences have been saved. </td><td> {{int:Savedprefs}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Savefile&action=edit savefile]<br> [[MediaWiki_talk:Savefile|Talk]] </td><td> Save file </td><td> {{int:Savefile}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Saveprefs&action=edit saveprefs]<br> [[MediaWiki_talk:Saveprefs|Talk]] </td><td> Save preferences </td><td> {{int:Saveprefs}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Search&action=edit search]<br> [[MediaWiki_talk:Search|Talk]] </td><td> Search </td><td> {{int:Search}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Searchdisabled&action=edit searchdisabled]<br> [[MediaWiki_talk:Searchdisabled|Talk]] </td><td> &lt;p&gt;Sorry! Full text search has been disabled temporarily, for performance reasons. In the meantime, you can use the Google search below, which may be out of date.&lt;/p&gt; </td><td> {{int:Searchdisabled}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Searchhelppage&action=edit searchhelppage]<br> [[MediaWiki_talk:Searchhelppage|Talk]] </td><td> Wiktionary:Searching </td><td> {{int:Searchhelppage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Searchingwikipedia&action=edit searchingwikipedia]<br> [[MediaWiki_talk:Searchingwikipedia|Talk]] </td><td> Searching Wiktionary </td><td> {{int:Searchingwikipedia}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Searchquery&action=edit searchquery]<br> [[MediaWiki_talk:Searchquery|Talk]] </td><td> For query &quot;$1&quot; </td><td> {{int:Searchquery}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Searchresults&action=edit searchresults]<br> [[MediaWiki_talk:Searchresults|Talk]] </td><td> Search results </td><td> {{int:Searchresults}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Searchresultshead&action=edit searchresultshead]<br> [[MediaWiki_talk:Searchresultshead|Talk]] </td><td> Search result settings </td><td> {{int:Searchresultshead}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Searchresulttext&action=edit searchresulttext]<br> [[MediaWiki_talk:Searchresulttext|Talk]] </td><td> For more information about searching Wiktionary, see $1. </td><td> {{int:Searchresulttext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sectionedit&action=edit sectionedit]<br> [[MediaWiki_talk:Sectionedit|Talk]] </td><td> (section) </td><td> {{int:Sectionedit}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Selectnewerversionfordiff&action=edit selectnewerversionfordiff]<br> [[MediaWiki_talk:Selectnewerversionfordiff|Talk]] </td><td> Select a newer version for comparison </td><td> {{int:Selectnewerversionfordiff}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Selectolderversionfordiff&action=edit selectolderversionfordiff]<br> [[MediaWiki_talk:Selectolderversionfordiff|Talk]] </td><td> Select an older version for comparison </td><td> {{int:Selectolderversionfordiff}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Selectonly&action=edit selectonly]<br> [[MediaWiki_talk:Selectonly|Talk]] </td><td> Only read-only queries are allowed. </td><td> {{int:Selectonly}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Selflinks&action=edit selflinks]<br> [[MediaWiki_talk:Selflinks|Talk]] </td><td> Pages with Self Links </td><td> {{int:Selflinks}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Selflinkstext&action=edit selflinkstext]<br> [[MediaWiki_talk:Selflinkstext|Talk]] </td><td> The following pages contain a link to themselves, which they should not. </td><td> {{int:Selflinkstext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Seriousxhtmlerrors&action=edit seriousxhtmlerrors]<br> [[MediaWiki_talk:Seriousxhtmlerrors|Talk]] </td><td> There were serious xhtml markup errors detected by tidy. </td><td> {{int:Seriousxhtmlerrors}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Servertime&action=edit servertime]<br> [[MediaWiki_talk:Servertime|Talk]] </td><td> Server time is now </td><td> {{int:Servertime}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Set_rights_fail&action=edit set_rights_fail]<br> [[MediaWiki_talk:Set_rights_fail|Talk]] </td><td> &lt;b&gt;User rights for &quot;$1&quot; could not be set. (Did you enter the name correctly?)&lt;/b&gt; </td><td> {{int:Set_rights_fail}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Set_user_rights&action=edit set_user_rights]<br> [[MediaWiki_talk:Set_user_rights|Talk]] </td><td> Set user rights </td><td> {{int:Set_user_rights}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Setbureaucratflag&action=edit setbureaucratflag]<br> [[MediaWiki_talk:Setbureaucratflag|Talk]] </td><td> Set bureaucrat flag </td><td> {{int:Setbureaucratflag}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Shortpages&action=edit shortpages]<br> [[MediaWiki_talk:Shortpages|Talk]] </td><td> Short pages </td><td> {{int:Shortpages}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Show&action=edit show]<br> [[MediaWiki_talk:Show|Talk]] </td><td> show </td><td> {{int:Show}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Showhideminor&action=edit showhideminor]<br> [[MediaWiki_talk:Showhideminor|Talk]] </td><td> $1 minor edits &#124; $2 bots &#124; $3 logged in users </td><td> {{int:Showhideminor}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Showingresults&action=edit showingresults]<br> [[MediaWiki_talk:Showingresults|Talk]] </td><td> Showing below &lt;b&gt;$1&lt;/b&gt; results starting with #&lt;b&gt;$2&lt;/b&gt;. </td><td> {{int:Showingresults}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Showingresultsnum&action=edit showingresultsnum]<br> [[MediaWiki_talk:Showingresultsnum|Talk]] </td><td> Showing below &lt;b&gt;$3&lt;/b&gt; results starting with #&lt;b&gt;$2&lt;/b&gt;. </td><td> {{int:Showingresultsnum}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Showlast&action=edit showlast]<br> [[MediaWiki_talk:Showlast|Talk]] </td><td> Show last $1 images sorted $2. </td><td> {{int:Showlast}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Showpreview&action=edit showpreview]<br> [[MediaWiki_talk:Showpreview|Talk]] </td><td> Show preview </td><td> {{int:Showpreview}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Showtoc&action=edit showtoc]<br> [[MediaWiki_talk:Showtoc|Talk]] </td><td> show </td><td> {{int:Showtoc}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sig_tip&action=edit sig_tip]<br> [[MediaWiki_talk:Sig_tip|Talk]] </td><td> Your signature with timestamp </td><td> {{int:Sig_tip}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sitestats&action=edit sitestats]<br> [[MediaWiki_talk:Sitestats|Talk]] </td><td> Site statistics </td><td> {{int:Sitestats}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sitestatstext&action=edit sitestatstext]<br> [[MediaWiki_talk:Sitestatstext|Talk]] </td><td> There are &#39;&#39;&#39;$1&#39;&#39;&#39; total pages in the database. This includes &quot;talk&quot; pages, pages about Wiktionary, minimal &quot;stub&quot; pages, redirects, and others that probably don&#39;t qualify as content pages. Excluding those, there are &#39;&#39;&#39;$2&#39;&#39;&#39; pages that are probably legitimate content pages. There have been a total of &#39;&#39;&#39;$3&#39;&#39;&#39; page views, and &#39;&#39;&#39;$4&#39;&#39;&#39; page edits since the wiki was setup. That comes to &#39;&#39;&#39;$5&#39;&#39;&#39; average edits per page, and &#39;&#39;&#39;$6&#39;&#39;&#39; views per edit. </td><td> {{int:Sitestatstext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sitesubtitle&action=edit sitesubtitle]<br> [[MediaWiki_talk:Sitesubtitle|Talk]] </td><td> The Free Encyclopedia </td><td> {{int:Sitesubtitle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sitesupport&action=edit sitesupport]<br> [[MediaWiki_talk:Sitesupport|Talk]] </td><td> Donations </td><td> {{int:Sitesupport}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sitetitle&action=edit sitetitle]<br> [[MediaWiki_talk:Sitetitle|Talk]] </td><td> Wiktionary </td><td> {{int:Sitetitle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Siteuser&action=edit siteuser]<br> [[MediaWiki_talk:Siteuser|Talk]] </td><td> Wiktionary user $1 </td><td> {{int:Siteuser}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Siteusers&action=edit siteusers]<br> [[MediaWiki_talk:Siteusers|Talk]] </td><td> Wiktionary user(s) $1 </td><td> {{int:Siteusers}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Skin&action=edit skin]<br> [[MediaWiki_talk:Skin|Talk]] </td><td> Skin </td><td> {{int:Skin}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Spamprotectiontext&action=edit spamprotectiontext]<br> [[MediaWiki_talk:Spamprotectiontext|Talk]] </td><td> The page you wanted to save was blocked by the spam filter. This is probably caused by a link to an external site. You might want to check the following regular expression for patterns that are currently blocked: </td><td> {{int:Spamprotectiontext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Spamprotectiontitle&action=edit spamprotectiontitle]<br> [[MediaWiki_talk:Spamprotectiontitle|Talk]] </td><td> Spam protection filter </td><td> {{int:Spamprotectiontitle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Specialpage&action=edit specialpage]<br> [[MediaWiki_talk:Specialpage|Talk]] </td><td> Special Page </td><td> {{int:Specialpage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Specialpages&action=edit specialpages]<br> [[MediaWiki_talk:Specialpages|Talk]] </td><td> Special pages </td><td> {{int:Specialpages}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Spheading&action=edit spheading]<br> [[MediaWiki_talk:Spheading|Talk]] </td><td> Special pages for all users </td><td> {{int:Spheading}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sqlislogged&action=edit sqlislogged]<br> [[MediaWiki_talk:Sqlislogged|Talk]] </td><td> Please note that all queries are logged. </td><td> {{int:Sqlislogged}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sqlquery&action=edit sqlquery]<br> [[MediaWiki_talk:Sqlquery|Talk]] </td><td> Enter query </td><td> {{int:Sqlquery}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Statistics&action=edit statistics]<br> [[MediaWiki_talk:Statistics|Talk]] </td><td> Statistics </td><td> {{int:Statistics}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Storedversion&action=edit storedversion]<br> [[MediaWiki_talk:Storedversion|Talk]] </td><td> Stored version </td><td> {{int:Storedversion}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Stubthreshold&action=edit stubthreshold]<br> [[MediaWiki_talk:Stubthreshold|Talk]] </td><td> Threshold for stub display </td><td> {{int:Stubthreshold}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Subcategories&action=edit subcategories]<br> [[MediaWiki_talk:Subcategories|Talk]] </td><td> Subcategories </td><td> {{int:Subcategories}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Subject&action=edit subject]<br> [[MediaWiki_talk:Subject|Talk]] </td><td> Subject/headline </td><td> {{int:Subject}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Subjectpage&action=edit subjectpage]<br> [[MediaWiki_talk:Subjectpage|Talk]] </td><td> View subject </td><td> {{int:Subjectpage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Successfulupload&action=edit successfulupload]<br> [[MediaWiki_talk:Successfulupload|Talk]] </td><td> Successful upload </td><td> {{int:Successfulupload}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Summary&action=edit summary]<br> [[MediaWiki_talk:Summary|Talk]] </td><td> Summary </td><td> {{int:Summary}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sysopspheading&action=edit sysopspheading]<br> [[MediaWiki_talk:Sysopspheading|Talk]] </td><td> For sysop use only </td><td> {{int:Sysopspheading}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sysoptext&action=edit sysoptext]<br> [[MediaWiki_talk:Sysoptext|Talk]] </td><td> The action you have requested can only be performed by users with &quot;sysop&quot; status. See $1. </td><td> {{int:Sysoptext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sysoptitle&action=edit sysoptitle]<br> [[MediaWiki_talk:Sysoptitle|Talk]] </td><td> Sysop access required </td><td> {{int:Sysoptitle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tableform&action=edit tableform]<br> [[MediaWiki_talk:Tableform|Talk]] </td><td> table </td><td> {{int:Tableform}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Talk&action=edit talk]<br> [[MediaWiki_talk:Talk|Talk]] </td><td> Discussion </td><td> {{int:Talk}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Talkexists&action=edit talkexists]<br> [[MediaWiki_talk:Talkexists|Talk]] </td><td> The page itself was moved successfully, but the talk page could not be moved because one already exists at the new title. Please merge them manually. </td><td> {{int:Talkexists}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Talkpage&action=edit talkpage]<br> [[MediaWiki_talk:Talkpage|Talk]] </td><td> Discuss this page </td><td> {{int:Talkpage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Talkpagemoved&action=edit talkpagemoved]<br> [[MediaWiki_talk:Talkpagemoved|Talk]] </td><td> The corresponding talk page was also moved. </td><td> {{int:Talkpagemoved}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Talkpagenotmoved&action=edit talkpagenotmoved]<br> [[MediaWiki_talk:Talkpagenotmoved|Talk]] </td><td> The corresponding talk page was &lt;strong&gt;not&lt;/strong&gt; moved. </td><td> {{int:Talkpagenotmoved}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Talkpagetext&action=edit talkpagetext]<br> [[MediaWiki_talk:Talkpagetext|Talk]] </td><td> &lt;!-- MediaWiki:talkpagetext --&gt; </td><td> {{int:Talkpagetext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Textboxsize&action=edit textboxsize]<br> [[MediaWiki_talk:Textboxsize|Talk]] </td><td> Textbox dimensions </td><td> {{int:Textboxsize}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Textmatches&action=edit textmatches]<br> [[MediaWiki_talk:Textmatches|Talk]] </td><td> Page text matches </td><td> {{int:Textmatches}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Thisisdeleted&action=edit thisisdeleted]<br> [[MediaWiki_talk:Thisisdeleted|Talk]] </td><td> View or restore $1? </td><td> {{int:Thisisdeleted}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Thumbnail-more&action=edit thumbnail-more]<br> [[MediaWiki_talk:Thumbnail-more|Talk]] </td><td> Enlarge </td><td> {{int:Thumbnail-more}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Timezonelegend&action=edit timezonelegend]<br> [[MediaWiki_talk:Timezonelegend|Talk]] </td><td> Time zone </td><td> {{int:Timezonelegend}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Timezoneoffset&action=edit timezoneoffset]<br> [[MediaWiki_talk:Timezoneoffset|Talk]] </td><td> Offset </td><td> {{int:Timezoneoffset}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Timezonetext&action=edit timezonetext]<br> [[MediaWiki_talk:Timezonetext|Talk]] </td><td> Enter number of hours your local time differs from server time (UTC). </td><td> {{int:Timezonetext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Titlematches&action=edit titlematches]<br> [[MediaWiki_talk:Titlematches|Talk]] </td><td> Article title matches </td><td> {{int:Titlematches}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Toc&action=edit toc]<br> [[MediaWiki_talk:Toc|Talk]] </td><td> Table of contents </td><td> {{int:Toc}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Toolbox&action=edit toolbox]<br> [[MediaWiki_talk:Toolbox|Talk]] </td><td> Toolbox </td><td> {{int:Toolbox}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-addsection&action=edit tooltip-addsection]<br> [[MediaWiki_talk:Tooltip-addsection|Talk]] </td><td> Add a comment to this page. &#91;alt-+] </td><td> {{int:Tooltip-addsection}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-anontalk&action=edit tooltip-anontalk]<br> [[MediaWiki_talk:Tooltip-anontalk|Talk]] </td><td> Discussion about edits from this ip address &#91;alt-n] </td><td> {{int:Tooltip-anontalk}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-anonuserpage&action=edit tooltip-anonuserpage]<br> [[MediaWiki_talk:Tooltip-anonuserpage|Talk]] </td><td> The user page for the ip you&#39;re editing as &#91;alt-.] </td><td> {{int:Tooltip-anonuserpage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-article&action=edit tooltip-article]<br> [[MediaWiki_talk:Tooltip-article|Talk]] </td><td> View the content page &#91;alt-a] </td><td> {{int:Tooltip-article}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-atom&action=edit tooltip-atom]<br> [[MediaWiki_talk:Tooltip-atom|Talk]] </td><td> Atom feed for this page </td><td> {{int:Tooltip-atom}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-compareselectedversions&action=edit tooltip-compareselectedversions]<br> [[MediaWiki_talk:Tooltip-compareselectedversions|Talk]] </td><td> See the differences between the two selected versions of this page. &#91;alt-v] </td><td> {{int:Tooltip-compareselectedversions}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-contributions&action=edit tooltip-contributions]<br> [[MediaWiki_talk:Tooltip-contributions|Talk]] </td><td> View the list of contributions of this user </td><td> {{int:Tooltip-contributions}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-currentevents&action=edit tooltip-currentevents]<br> [[MediaWiki_talk:Tooltip-currentevents|Talk]] </td><td> Find background information on current events </td><td> {{int:Tooltip-currentevents}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-delete&action=edit tooltip-delete]<br> [[MediaWiki_talk:Tooltip-delete|Talk]] </td><td> Delete this page &#91;alt-d] </td><td> {{int:Tooltip-delete}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-edit&action=edit tooltip-edit]<br> [[MediaWiki_talk:Tooltip-edit|Talk]] </td><td> You can edit this page. Please use the preview button before saving. &#91;alt-e] </td><td> {{int:Tooltip-edit}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-emailuser&action=edit tooltip-emailuser]<br> [[MediaWiki_talk:Tooltip-emailuser|Talk]] </td><td> Send a mail to this user </td><td> {{int:Tooltip-emailuser}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-help&action=edit tooltip-help]<br> [[MediaWiki_talk:Tooltip-help|Talk]] </td><td> The place to find out. </td><td> {{int:Tooltip-help}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-history&action=edit tooltip-history]<br> [[MediaWiki_talk:Tooltip-history|Talk]] </td><td> Past versions of this page, &#91;alt-h] </td><td> {{int:Tooltip-history}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-login&action=edit tooltip-login]<br> [[MediaWiki_talk:Tooltip-login|Talk]] </td><td> You are encouraged to log in, it is not mandatory however. &#91;alt-o] </td><td> {{int:Tooltip-login}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-logout&action=edit tooltip-logout]<br> [[MediaWiki_talk:Tooltip-logout|Talk]] </td><td> Log out &#91;alt-o] </td><td> {{int:Tooltip-logout}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-mainpage&action=edit tooltip-mainpage]<br> [[MediaWiki_talk:Tooltip-mainpage|Talk]] </td><td> Visit the Main Page &#91;alt-z] </td><td> {{int:Tooltip-mainpage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-minoredit&action=edit tooltip-minoredit]<br> [[MediaWiki_talk:Tooltip-minoredit|Talk]] </td><td> Mark this as a minor edit &#91;alt-i] </td><td> {{int:Tooltip-minoredit}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-move&action=edit tooltip-move]<br> [[MediaWiki_talk:Tooltip-move|Talk]] </td><td> Move this page &#91;alt-m] </td><td> {{int:Tooltip-move}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-mycontris&action=edit tooltip-mycontris]<br> [[MediaWiki_talk:Tooltip-mycontris|Talk]] </td><td> List of my contributions &#91;alt-y] </td><td> {{int:Tooltip-mycontris}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-mytalk&action=edit tooltip-mytalk]<br> [[MediaWiki_talk:Tooltip-mytalk|Talk]] </td><td> My talk page &#91;alt-n] </td><td> {{int:Tooltip-mytalk}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-nomove&action=edit tooltip-nomove]<br> [[MediaWiki_talk:Tooltip-nomove|Talk]] </td><td> You don&#39;t have the permissions to move this page </td><td> {{int:Tooltip-nomove}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-portal&action=edit tooltip-portal]<br> [[MediaWiki_talk:Tooltip-portal|Talk]] </td><td> About the project, what you can do, where to find things </td><td> {{int:Tooltip-portal}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-preferences&action=edit tooltip-preferences]<br> [[MediaWiki_talk:Tooltip-preferences|Talk]] </td><td> My preferences </td><td> {{int:Tooltip-preferences}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-preview&action=edit tooltip-preview]<br> [[MediaWiki_talk:Tooltip-preview|Talk]] </td><td> Preview your changes, please use this before saving! &#91;alt-p] </td><td> {{int:Tooltip-preview}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-protect&action=edit tooltip-protect]<br> [[MediaWiki_talk:Tooltip-protect|Talk]] </td><td> Protect this page &#91;alt-=] </td><td> {{int:Tooltip-protect}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-randompage&action=edit tooltip-randompage]<br> [[MediaWiki_talk:Tooltip-randompage|Talk]] </td><td> Load a random page &#91;alt-x] </td><td> {{int:Tooltip-randompage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-recentchanges&action=edit tooltip-recentchanges]<br> [[MediaWiki_talk:Tooltip-recentchanges|Talk]] </td><td> The list of recent changes in the wiki. &#91;alt-r] </td><td> {{int:Tooltip-recentchanges}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-recentchangeslinked&action=edit tooltip-recentchangeslinked]<br> [[MediaWiki_talk:Tooltip-recentchangeslinked|Talk]] </td><td> Recent changes in pages linking to this page &#91;alt-c] </td><td> {{int:Tooltip-recentchangeslinked}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-rss&action=edit tooltip-rss]<br> [[MediaWiki_talk:Tooltip-rss|Talk]] </td><td> RSS feed for this page </td><td> {{int:Tooltip-rss}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-save&action=edit tooltip-save]<br> [[MediaWiki_talk:Tooltip-save|Talk]] </td><td> Save your changes &#91;alt-s] </td><td> {{int:Tooltip-save}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-search&action=edit tooltip-search]<br> [[MediaWiki_talk:Tooltip-search|Talk]] </td><td> Search this wiki &#91;alt-f] </td><td> {{int:Tooltip-search}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-sitesupport&action=edit tooltip-sitesupport]<br> [[MediaWiki_talk:Tooltip-sitesupport|Talk]] </td><td> Support Wiktionary </td><td> {{int:Tooltip-sitesupport}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-specialpage&action=edit tooltip-specialpage]<br> [[MediaWiki_talk:Tooltip-specialpage|Talk]] </td><td> This is a special page, you can&#39;t edit the page itself. </td><td> {{int:Tooltip-specialpage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-specialpages&action=edit tooltip-specialpages]<br> [[MediaWiki_talk:Tooltip-specialpages|Talk]] </td><td> List of all special pages &#91;alt-q] </td><td> {{int:Tooltip-specialpages}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-talk&action=edit tooltip-talk]<br> [[MediaWiki_talk:Tooltip-talk|Talk]] </td><td> Discussion about the content page &#91;alt-t] </td><td> {{int:Tooltip-talk}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-undelete&action=edit tooltip-undelete]<br> [[MediaWiki_talk:Tooltip-undelete|Talk]] </td><td> Restore the $1 edits done to this page before it was deleted &#91;alt-d] </td><td> {{int:Tooltip-undelete}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-unwatch&action=edit tooltip-unwatch]<br> [[MediaWiki_talk:Tooltip-unwatch|Talk]] </td><td> Remove this page from your watchlist &#91;alt-w] </td><td> {{int:Tooltip-unwatch}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-upload&action=edit tooltip-upload]<br> [[MediaWiki_talk:Tooltip-upload|Talk]] </td><td> Upload images or media files &#91;alt-u] </td><td> {{int:Tooltip-upload}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-userpage&action=edit tooltip-userpage]<br> [[MediaWiki_talk:Tooltip-userpage|Talk]] </td><td> My user page &#91;alt-.] </td><td> {{int:Tooltip-userpage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-viewsource&action=edit tooltip-viewsource]<br> [[MediaWiki_talk:Tooltip-viewsource|Talk]] </td><td> This page is protected. You can view its source. &#91;alt-e] </td><td> {{int:Tooltip-viewsource}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-watch&action=edit tooltip-watch]<br> [[MediaWiki_talk:Tooltip-watch|Talk]] </td><td> Add this page to your watchlist &#91;alt-w] </td><td> {{int:Tooltip-watch}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-watchlist&action=edit tooltip-watchlist]<br> [[MediaWiki_talk:Tooltip-watchlist|Talk]] </td><td> The list of pages you&#39;re monitoring for changes. &#91;alt-l] </td><td> {{int:Tooltip-watchlist}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-whatlinkshere&action=edit tooltip-whatlinkshere]<br> [[MediaWiki_talk:Tooltip-whatlinkshere|Talk]] </td><td> List of all wiki pages that link here &#91;alt-b] </td><td> {{int:Tooltip-whatlinkshere}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uclinks&action=edit uclinks]<br> [[MediaWiki_talk:Uclinks|Talk]] </td><td> View the last $1 changes; view the last $2 days. </td><td> {{int:Uclinks}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ucnote&action=edit ucnote]<br> [[MediaWiki_talk:Ucnote|Talk]] </td><td> Below are this user&#39;s last &lt;b&gt;$1&lt;/b&gt; changes in the last &lt;b&gt;$2&lt;/b&gt; days. </td><td> {{int:Ucnote}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uctop&action=edit uctop]<br> [[MediaWiki_talk:Uctop|Talk]] </td><td> (top) </td><td> {{int:Uctop}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unblockip&action=edit unblockip]<br> [[MediaWiki_talk:Unblockip|Talk]] </td><td> Unblock user </td><td> {{int:Unblockip}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unblockiptext&action=edit unblockiptext]<br> [[MediaWiki_talk:Unblockiptext|Talk]] </td><td> Use the form below to restore write access to a previously blocked IP address or username. </td><td> {{int:Unblockiptext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unblocklink&action=edit unblocklink]<br> [[MediaWiki_talk:Unblocklink|Talk]] </td><td> unblock </td><td> {{int:Unblocklink}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unblocklogentry&action=edit unblocklogentry]<br> [[MediaWiki_talk:Unblocklogentry|Talk]] </td><td> unblocked &quot;$1&quot; </td><td> {{int:Unblocklogentry}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undelete&action=edit undelete]<br> [[MediaWiki_talk:Undelete|Talk]] </td><td> Restore deleted page </td><td> {{int:Undelete}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undelete_short&action=edit undelete_short]<br> [[MediaWiki_talk:Undelete_short|Talk]] </td><td> Undelete $1 edits </td><td> {{int:Undelete_short}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undeletearticle&action=edit undeletearticle]<br> [[MediaWiki_talk:Undeletearticle|Talk]] </td><td> Restore deleted page </td><td> {{int:Undeletearticle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undeletebtn&action=edit undeletebtn]<br> [[MediaWiki_talk:Undeletebtn|Talk]] </td><td> Restore! </td><td> {{int:Undeletebtn}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undeletedarticle&action=edit undeletedarticle]<br> [[MediaWiki_talk:Undeletedarticle|Talk]] </td><td> restored &quot;$1&quot; </td><td> {{int:Undeletedarticle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undeletedtext&action=edit undeletedtext]<br> [[MediaWiki_talk:Undeletedtext|Talk]] </td><td> &#91;&#91;$1]] has been successfully restored. See &#91;&#91;Wiktionary:Deletion_log]] for a record of recent deletions and restorations. </td><td> {{int:Undeletedtext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undeletehistory&action=edit undeletehistory]<br> [[MediaWiki_talk:Undeletehistory|Talk]] </td><td> If you restore the page, all revisions will be restored to the history. If a new page with the same name has been created since the deletion, the restored revisions will appear in the prior history, and the current revision of the live page will not be automatically replaced. </td><td> {{int:Undeletehistory}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undeletepage&action=edit undeletepage]<br> [[MediaWiki_talk:Undeletepage|Talk]] </td><td> View and restore deleted pages </td><td> {{int:Undeletepage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undeletepagetext&action=edit undeletepagetext]<br> [[MediaWiki_talk:Undeletepagetext|Talk]] </td><td> The following pages have been deleted but are still in the archive and can be restored. The archive may be periodically cleaned out. </td><td> {{int:Undeletepagetext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undeleterevision&action=edit undeleterevision]<br> [[MediaWiki_talk:Undeleterevision|Talk]] </td><td> Deleted revision as of $1 </td><td> {{int:Undeleterevision}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undeleterevisions&action=edit undeleterevisions]<br> [[MediaWiki_talk:Undeleterevisions|Talk]] </td><td> $1 revisions archived </td><td> {{int:Undeleterevisions}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unexpected&action=edit unexpected]<br> [[MediaWiki_talk:Unexpected|Talk]] </td><td> Unexpected value: &quot;$1&quot;=&quot;$2&quot;. </td><td> {{int:Unexpected}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unlockbtn&action=edit unlockbtn]<br> [[MediaWiki_talk:Unlockbtn|Talk]] </td><td> Unlock database </td><td> {{int:Unlockbtn}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unlockconfirm&action=edit unlockconfirm]<br> [[MediaWiki_talk:Unlockconfirm|Talk]] </td><td> Yes, I really want to unlock the database. </td><td> {{int:Unlockconfirm}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unlockdb&action=edit unlockdb]<br> [[MediaWiki_talk:Unlockdb|Talk]] </td><td> Unlock database </td><td> {{int:Unlockdb}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unlockdbsuccesssub&action=edit unlockdbsuccesssub]<br> [[MediaWiki_talk:Unlockdbsuccesssub|Talk]] </td><td> Database lock removed </td><td> {{int:Unlockdbsuccesssub}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unlockdbsuccesstext&action=edit unlockdbsuccesstext]<br> [[MediaWiki_talk:Unlockdbsuccesstext|Talk]] </td><td> The database has been unlocked. </td><td> {{int:Unlockdbsuccesstext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unlockdbtext&action=edit unlockdbtext]<br> [[MediaWiki_talk:Unlockdbtext|Talk]] </td><td> Unlocking the database will restore the ability of all users to edit pages, change their preferences, edit their watchlists, and other things requiring changes in the database. Please confirm that this is what you intend to do. </td><td> {{int:Unlockdbtext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unprotect&action=edit unprotect]<br> [[MediaWiki_talk:Unprotect|Talk]] </td><td> Unprotect </td><td> {{int:Unprotect}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unprotectcomment&action=edit unprotectcomment]<br> [[MediaWiki_talk:Unprotectcomment|Talk]] </td><td> Reason for unprotecting </td><td> {{int:Unprotectcomment}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unprotectedarticle&action=edit unprotectedarticle]<br> [[MediaWiki_talk:Unprotectedarticle|Talk]] </td><td> unprotected &#91;&#91;$1]] </td><td> {{int:Unprotectedarticle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unprotectsub&action=edit unprotectsub]<br> [[MediaWiki_talk:Unprotectsub|Talk]] </td><td> (Unprotecting &quot;$1&quot;) </td><td> {{int:Unprotectsub}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unprotectthispage&action=edit unprotectthispage]<br> [[MediaWiki_talk:Unprotectthispage|Talk]] </td><td> Unprotect this page </td><td> {{int:Unprotectthispage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unusedimages&action=edit unusedimages]<br> [[MediaWiki_talk:Unusedimages|Talk]] </td><td> Unused images </td><td> {{int:Unusedimages}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unusedimagestext&action=edit unusedimagestext]<br> [[MediaWiki_talk:Unusedimagestext|Talk]] </td><td> &lt;p&gt;Please note that other web sites may link to an image with a direct URL, and so may still be listed here despite being in active use. </td><td> {{int:Unusedimagestext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unwatch&action=edit unwatch]<br> [[MediaWiki_talk:Unwatch|Talk]] </td><td> Unwatch </td><td> {{int:Unwatch}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unwatchthispage&action=edit unwatchthispage]<br> [[MediaWiki_talk:Unwatchthispage|Talk]] </td><td> Stop watching </td><td> {{int:Unwatchthispage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Updated&action=edit updated]<br> [[MediaWiki_talk:Updated|Talk]] </td><td> (Updated) </td><td> {{int:Updated}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Upload&action=edit upload]<br> [[MediaWiki_talk:Upload|Talk]] </td><td> Upload file </td><td> {{int:Upload}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadbtn&action=edit uploadbtn]<br> [[MediaWiki_talk:Uploadbtn|Talk]] </td><td> Upload file </td><td> {{int:Uploadbtn}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploaddisabled&action=edit uploaddisabled]<br> [[MediaWiki_talk:Uploaddisabled|Talk]] </td><td> Sorry, uploading is disabled. </td><td> {{int:Uploaddisabled}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadedfiles&action=edit uploadedfiles]<br> [[MediaWiki_talk:Uploadedfiles|Talk]] </td><td> Uploaded files </td><td> {{int:Uploadedfiles}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadedimage&action=edit uploadedimage]<br> [[MediaWiki_talk:Uploadedimage|Talk]] </td><td> uploaded &quot;$1&quot; </td><td> {{int:Uploadedimage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploaderror&action=edit uploaderror]<br> [[MediaWiki_talk:Uploaderror|Talk]] </td><td> Upload error </td><td> {{int:Uploaderror}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadfile&action=edit uploadfile]<br> [[MediaWiki_talk:Uploadfile|Talk]] </td><td> Upload images, sounds, documents etc. </td><td> {{int:Uploadfile}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadlink&action=edit uploadlink]<br> [[MediaWiki_talk:Uploadlink|Talk]] </td><td> Upload images </td><td> {{int:Uploadlink}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadlog&action=edit uploadlog]<br> [[MediaWiki_talk:Uploadlog|Talk]] </td><td> upload log </td><td> {{int:Uploadlog}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadlogpage&action=edit uploadlogpage]<br> [[MediaWiki_talk:Uploadlogpage|Talk]] </td><td> Upload_log </td><td> {{int:Uploadlogpage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadlogpagetext&action=edit uploadlogpagetext]<br> [[MediaWiki_talk:Uploadlogpagetext|Talk]] </td><td> Below is a list of the most recent file uploads. All times shown are server time (UTC). &lt;ul&gt; &lt;/ul&gt; </td><td> {{int:Uploadlogpagetext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadnologin&action=edit uploadnologin]<br> [[MediaWiki_talk:Uploadnologin|Talk]] </td><td> Not logged in </td><td> {{int:Uploadnologin}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadnologintext&action=edit uploadnologintext]<br> [[MediaWiki_talk:Uploadnologintext|Talk]] </td><td> You must be &lt;a href=&quot;/wiki/Special:Userlogin&quot;&gt;logged in&lt;/a&gt; to upload files. </td><td> {{int:Uploadnologintext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadtext&action=edit uploadtext]<br> [[MediaWiki_talk:Uploadtext|Talk]] </td><td> &lt;strong&gt;STOP!&lt;/strong&gt; Before you upload here, make sure to read and follow the &lt;a href=&quot;/wiki/Special:Image_use_policy&quot;&gt;image use policy&lt;/a&gt;. &lt;p&gt;If a file with the name you are specifying already exists on the wiki, it&#39;ll be replaced without warning. So unless you mean to update a file, it&#39;s a good idea to first check if such a file exists. &lt;p&gt;To view or search previously uploaded images, go to the &lt;a href=&quot;/wiki/Special:Imagelist&quot;&gt;list of uploaded images&lt;/a&gt;. Uploads and deletions are logged on the &lt;a href=&quot;/wiki/Wiktionary:Upload_log&quot;&gt;upload log&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;Use the form below to upload new image files for use in illustrating your pages. On most browsers, you will see a &quot;Browse...&quot; button, which will bring up your operating system&#39;s standard file open dialog. Choosing a file will fill the name of that file into the text field next to the button. You must also check the box affirming that you are not violating any copyrights by uploading the file. Press the &quot;Upload&quot; button to finish the upload. This may take some time if you have a slow internet connection. &lt;p&gt;The preferred formats are JPEG for photographic images, PNG for drawings and other iconic images, and OGG for sounds. Please name your files descriptively to avoid confusion. To include the image in a page, use a link in the form &lt;b&gt;&#91;&#91;Image:file.jpg]]&lt;/b&gt; or &lt;b&gt;&#91;&#91;Image:file.png&#124;alt text]]&lt;/b&gt; or &lt;b&gt;&#91;&#91;Media:file.ogg]]&lt;/b&gt; for sounds. &lt;p&gt;Please note that as with wiki pages, others may edit or delete your uploads if they think it serves the project, and you may be blocked from uploading if you abuse the system. </td><td> {{int:Uploadtext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadwarning&action=edit uploadwarning]<br> [[MediaWiki_talk:Uploadwarning|Talk]] </td><td> Upload warning </td><td> {{int:Uploadwarning}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:User_rights_set&action=edit user_rights_set]<br> [[MediaWiki_talk:User_rights_set|Talk]] </td><td> &lt;b&gt;User rights for &quot;$1&quot; updated&lt;/b&gt; </td><td> {{int:User_rights_set}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Usercssjs&action=edit usercssjs]<br> [[MediaWiki_talk:Usercssjs|Talk]] </td><td> &#39;&#39;&#39;Note:&#39;&#39;&#39; After saving, you have to tell your bowser to get the new version: &#39;&#39;&#39;Mozilla:&#39;&#39;&#39; click &#39;&#39;reload&#39;&#39;(or &#39;&#39;ctrl-r&#39;&#39;), &#39;&#39;&#39;IE / Opera:&#39;&#39;&#39; &#39;&#39;ctrl-f5&#39;&#39;, &#39;&#39;&#39;Safari:&#39;&#39;&#39; &#39;&#39;cmd-r&#39;&#39;, &#39;&#39;&#39;Konqueror&#39;&#39;&#39; &#39;&#39;ctrl-r&#39;&#39;. </td><td> {{int:Usercssjs}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Usercssjsyoucanpreview&action=edit usercssjsyoucanpreview]<br> [[MediaWiki_talk:Usercssjsyoucanpreview|Talk]] </td><td> &lt;strong&gt;Tip:&lt;/strong&gt; Use the &#39;Show preview&#39; button to test your new css/js before saving. </td><td> {{int:Usercssjsyoucanpreview}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Usercsspreview&action=edit usercsspreview]<br> [[MediaWiki_talk:Usercsspreview|Talk]] </td><td> &#39;&#39;&#39;Remember that you are only previewing your user css, it has not yet been saved!&#39;&#39;&#39; </td><td> {{int:Usercsspreview}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Userexists&action=edit userexists]<br> [[MediaWiki_talk:Userexists|Talk]] </td><td> The user name you entered is already in use. Please choose a different name. </td><td> {{int:Userexists}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Userjspreview&action=edit userjspreview]<br> [[MediaWiki_talk:Userjspreview|Talk]] </td><td> &#39;&#39;&#39;Remember that you are only testing/previewing your user javascript, it has not yet been saved!&#39;&#39;&#39; </td><td> {{int:Userjspreview}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Userlogin&action=edit userlogin]<br> [[MediaWiki_talk:Userlogin|Talk]] </td><td> Log in </td><td> {{int:Userlogin}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Userlogout&action=edit userlogout]<br> [[MediaWiki_talk:Userlogout|Talk]] </td><td> Log out </td><td> {{int:Userlogout}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Usermailererror&action=edit usermailererror]<br> [[MediaWiki_talk:Usermailererror|Talk]] </td><td> Mail object returned error: </td><td> {{int:Usermailererror}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Userpage&action=edit userpage]<br> [[MediaWiki_talk:Userpage|Talk]] </td><td> View user page </td><td> {{int:Userpage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Userstats&action=edit userstats]<br> [[MediaWiki_talk:Userstats|Talk]] </td><td> User statistics </td><td> {{int:Userstats}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Userstatstext&action=edit userstatstext]<br> [[MediaWiki_talk:Userstatstext|Talk]] </td><td> There are &#39;&#39;&#39;$1&#39;&#39;&#39; registered users. &#39;&#39;&#39;$2&#39;&#39;&#39; of these are administrators (see $3). </td><td> {{int:Userstatstext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Version&action=edit version]<br> [[MediaWiki_talk:Version|Talk]] </td><td> Version </td><td> {{int:Version}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Viewcount&action=edit viewcount]<br> [[MediaWiki_talk:Viewcount|Talk]] </td><td> This page has been accessed $1 times. </td><td> {{int:Viewcount}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Viewprevnext&action=edit viewprevnext]<br> [[MediaWiki_talk:Viewprevnext|Talk]] </td><td> View ($1) ($2) ($3). </td><td> {{int:Viewprevnext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Viewsource&action=edit viewsource]<br> [[MediaWiki_talk:Viewsource|Talk]] </td><td> View source </td><td> {{int:Viewsource}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Viewtalkpage&action=edit viewtalkpage]<br> [[MediaWiki_talk:Viewtalkpage|Talk]] </td><td> View discussion </td><td> {{int:Viewtalkpage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Wantedpages&action=edit wantedpages]<br> [[MediaWiki_talk:Wantedpages|Talk]] </td><td> Wanted pages </td><td> {{int:Wantedpages}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watch&action=edit watch]<br> [[MediaWiki_talk:Watch|Talk]] </td><td> Watch </td><td> {{int:Watch}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchdetails&action=edit watchdetails]<br> [[MediaWiki_talk:Watchdetails|Talk]] </td><td> ($1 pages watched not counting talk pages; $2 total pages edited since cutoff; $3... &lt;a href=&#39;$4&#39;&gt;show and edit complete list&lt;/a&gt;.) </td><td> {{int:Watchdetails}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watcheditlist&action=edit watcheditlist]<br> [[MediaWiki_talk:Watcheditlist|Talk]] </td><td> Here&#39;s an alphabetical list of your watched pages. Check the boxes of pages you want to remove from your watchlist and click the &#39;remove checked&#39; button at the bottom of the screen. </td><td> {{int:Watcheditlist}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchlist&action=edit watchlist]<br> [[MediaWiki_talk:Watchlist|Talk]] </td><td> My watchlist </td><td> {{int:Watchlist}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchlistcontains&action=edit watchlistcontains]<br> [[MediaWiki_talk:Watchlistcontains|Talk]] </td><td> Your watchlist contains $1 pages. </td><td> {{int:Watchlistcontains}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchlistsub&action=edit watchlistsub]<br> [[MediaWiki_talk:Watchlistsub|Talk]] </td><td> (for user &quot;$1&quot;) </td><td> {{int:Watchlistsub}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchmethod-list&action=edit watchmethod-list]<br> [[MediaWiki_talk:Watchmethod-list|Talk]] </td><td> checking watched pages for recent edits </td><td> {{int:Watchmethod-list}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchmethod-recent&action=edit watchmethod-recent]<br> [[MediaWiki_talk:Watchmethod-recent|Talk]] </td><td> checking recent edits for watched pages </td><td> {{int:Watchmethod-recent}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchnochange&action=edit watchnochange]<br> [[MediaWiki_talk:Watchnochange|Talk]] </td><td> None of your watched items were edited in the time period displayed. </td><td> {{int:Watchnochange}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchnologin&action=edit watchnologin]<br> [[MediaWiki_talk:Watchnologin|Talk]] </td><td> Not logged in </td><td> {{int:Watchnologin}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchnologintext&action=edit watchnologintext]<br> [[MediaWiki_talk:Watchnologintext|Talk]] </td><td> You must be &lt;a href=&quot;/wiki/Special:Userlogin&quot;&gt;logged in&lt;/a&gt; to modify your watchlist. </td><td> {{int:Watchnologintext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchthis&action=edit watchthis]<br> [[MediaWiki_talk:Watchthis|Talk]] </td><td> Watch this page </td><td> {{int:Watchthis}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchthispage&action=edit watchthispage]<br> [[MediaWiki_talk:Watchthispage|Talk]] </td><td> Watch this page </td><td> {{int:Watchthispage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Welcomecreation&action=edit welcomecreation]<br> [[MediaWiki_talk:Welcomecreation|Talk]] </td><td> &lt;h2&gt;Welcome, $1!&lt;/h2&gt;&lt;p&gt;Your account has been created. Don&#39;t forget to change your Wiktionary preferences. </td><td> {{int:Welcomecreation}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Whatlinkshere&action=edit whatlinkshere]<br> [[MediaWiki_talk:Whatlinkshere|Talk]] </td><td> What links here </td><td> {{int:Whatlinkshere}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Whitelistacctext&action=edit whitelistacctext]<br> [[MediaWiki_talk:Whitelistacctext|Talk]] </td><td> To be allowed to create accounts in this Wiki you have to &#91;&#91;Special:Userlogin&#124;log]] in and have the appropriate permissions. </td><td> {{int:Whitelistacctext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Whitelistacctitle&action=edit whitelistacctitle]<br> [[MediaWiki_talk:Whitelistacctitle|Talk]] </td><td> You are not allowed to create an account </td><td> {{int:Whitelistacctitle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Whitelistedittext&action=edit whitelistedittext]<br> [[MediaWiki_talk:Whitelistedittext|Talk]] </td><td> You have to &#91;&#91;Special:Userlogin&#124;login]] to edit pages. </td><td> {{int:Whitelistedittext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Whitelistedittitle&action=edit whitelistedittitle]<br> [[MediaWiki_talk:Whitelistedittitle|Talk]] </td><td> Login required to edit </td><td> {{int:Whitelistedittitle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Whitelistreadtext&action=edit whitelistreadtext]<br> [[MediaWiki_talk:Whitelistreadtext|Talk]] </td><td> You have to &#91;&#91;Special:Userlogin&#124;login]] to read pages. </td><td> {{int:Whitelistreadtext}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Whitelistreadtitle&action=edit whitelistreadtitle]<br> [[MediaWiki_talk:Whitelistreadtitle|Talk]] </td><td> Login required to read </td><td> {{int:Whitelistreadtitle}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Wikipediapage&action=edit wikipediapage]<br> [[MediaWiki_talk:Wikipediapage|Talk]] </td><td> View project page </td><td> {{int:Wikipediapage}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Wikititlesuffix&action=edit wikititlesuffix]<br> [[MediaWiki_talk:Wikititlesuffix|Talk]] </td><td> Wiktionary </td><td> {{int:Wikititlesuffix}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Wlnote&action=edit wlnote]<br> [[MediaWiki_talk:Wlnote|Talk]] </td><td> Below are the last $1 changes in the last &lt;b&gt;$2&lt;/b&gt; hours. </td><td> {{int:Wlnote}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Wlsaved&action=edit wlsaved]<br> [[MediaWiki_talk:Wlsaved|Talk]] </td><td> This is a saved version of your watchlist. </td><td> {{int:Wlsaved}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Wlshowlast&action=edit wlshowlast]<br> [[MediaWiki_talk:Wlshowlast|Talk]] </td><td> Show last $1 hours $2 days $3 </td><td> {{int:Wlshowlast}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Wrong_wfQuery_params&action=edit wrong_wfQuery_params]<br> [[MediaWiki_talk:Wrong_wfQuery_params|Talk]] </td><td> Incorrect parameters to wfQuery()&lt;br /&gt; Function: $1&lt;br /&gt; Query: $2 </td><td> {{int:Wrong_wfQuery_params}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Wrongpassword&action=edit wrongpassword]<br> [[MediaWiki_talk:Wrongpassword|Talk]] </td><td> The password you entered is incorrect. Please try again. </td><td> {{int:Wrongpassword}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Yourdiff&action=edit yourdiff]<br> [[MediaWiki_talk:Yourdiff|Talk]] </td><td> Differences </td><td> {{int:Yourdiff}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Youremail&action=edit youremail]<br> [[MediaWiki_talk:Youremail|Talk]] </td><td> Your email* </td><td> {{int:Youremail}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Yourname&action=edit yourname]<br> [[MediaWiki_talk:Yourname|Talk]] </td><td> Your user name </td><td> {{int:Yourname}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Yournick&action=edit yournick]<br> [[MediaWiki_talk:Yournick|Talk]] </td><td> Your nickname (for signatures) </td><td> {{int:Yournick}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Yourpassword&action=edit yourpassword]<br> [[MediaWiki_talk:Yourpassword|Talk]] </td><td> Your password </td><td> {{int:Yourpassword}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Yourpasswordagain&action=edit yourpasswordagain]<br> [[MediaWiki_talk:Yourpasswordagain|Talk]] </td><td> Retype password </td><td> {{int:Yourpasswordagain}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Yourrealname&action=edit yourrealname]<br> [[MediaWiki_talk:Yourrealname|Talk]] </td><td> Your real name* </td><td> {{int:Yourrealname}} </td></tr><tr><td> [http://tn.wiktionary.org/w/wiki.phtml?title=MediaWiki:Yourtext&action=edit yourtext]<br> [[MediaWiki_talk:Yourtext|Talk]] </td><td> Your text </td><td> {{int:Yourtext}} </td></tr></table> chnm16pvyk6iw5aw2snivm8vfjuklds MediaWiki:Alllogstext 8 855 4349 3040 2006-04-02T13:05:13Z Gangleri 8 {{MediaWiki:!/InterLang}} 4349 wikitext text/x-wiki {{MediaWiki:!/InterProject}} Combined display of upload, deletion, protection, blocking, and sysop logs. You can narrow down the view by selecting a log type, the user name, or the affected page. {{MediaWiki:!/InterLang}} em12jm9ckrksax101tst2s12bvzi1rt MediaWiki:Categoriespagetext 8 872 4341 3057 2006-04-02T13:03:03Z Gangleri 8 {{MediaWiki:!/InterLang}} 4341 wikitext text/x-wiki {{MediaWiki:!/InterProject}} The following categories exist in the wiki. {{MediaWiki:!/InterLang}} 6dsyoawn3b1gvauwcpag0hh421vu02j Wiktionary:Community Portal 4 1609 8394 7625 2022-09-28T10:55:28Z Rebel Agent 2678 Ke e isetse kwa e tshwanetseng 8394 wikitext text/x-wiki #Redirect [[Wiktionary:Patlelo ya setšhaba]] lvg4ebcxzdgej28wj5c0tq1mcx4sbyj Tsebe ya konokono 0 1617 8661 8547 2024-10-25T21:37:13Z Таёжный лес 3213 8661 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ <templatestyles src="Wiktionary:Main Page/styles.css" /> <templatestyles src="Main Page/minerva.css" /> {| id="main page mp-mp" style="width:100%;margin-top:5px;" | colspan="2"| {| style="background-color:#FFFFF; width: 100%; border: 1px solid #DBD8D8; padding: 10px" | style="text-align:center;"|<span style="font-size:200%;border:none;line-height:120%">Wiktionary, dithaloso tsa [[mahala]] tsa mafoko a [[Setswana]]</span><span style="font-size:200%;border:none;white-space: nowrap"></span> <p>Go nale ditse dile [[Special:Statistics|{{NUMBEROFARTICLES}}]] mo Wiktionary ya Setswana le wena o kgona go [[Wiktionary:O ka kwala jaana|kwala]] |- | colspan="2" style="text-align: right; padding-top:10px;" | <inputbox> type=search2 buttonlabel=Batla break=no width=15 placeholder=Kwala lefoko </inputbox> |} <div id="mp-upper"> <div id="mp-left" class="MainPageBG mp-box"> <h2 id="mp-tfa-h2" class="mp-h2">Thaloso<span class="mp-later"></span></h2> <div id="mp-tfa" class="mp-contains-float">{{Wiktionary:Kaga Wiktionary ya Setswana}}</div> <h2 id="mp-dyk-h2" class="mp-h2">O ntse o itse&nbsp;...</h2> <div id="mp-dyk" class="mp-contains-float">{{O ntse o itse}}</div> </div> <div id="mp-right" class="MainPageBG mp-box"> <h2 id="mp-itn-h2" class="mp-h2">Mafoko a Setswana</h2> <div id="mp-itn" class="mp-contains-float">{{Mafoko a Setswana}} </div> </div> </div> </div> <!-- IF MONDAY OR FRIDAY, SHOW TFL -->{{#switch:{{CURRENTDAYNAME}}|Monday|Friday= <div id="mp-middle" class="MainPageBG mp-box"> </div> </div>}}<!-- END CONDITIONAL SHOW --> <div id="mp-bottom" class="mp-box"> <h2 id="mp-sister" class="mp-h2">Bokgaitsadie Wiktionary</h2> <div id="mp-sister-content">{{Bokgaitsadie Wiktionary}}</div> </div> </div><noinclude>{{noexternallanglinks}}{{#if:{{Wikipedia:Main_Page/Tomorrow}}||}}</noinclude>__NOTOC____NOEDITSECTION__ k0u2dsuxw2nj48h74o9wy0p446g2r7p main Page 0 1696 5360 4314 2011-07-30T13:53:28Z AvicBot 487 Bot: Fixing double redirect to [[Tsebe ya konokono]] 5360 wikitext text/x-wiki #REDIRECT [[Tsebe ya konokono]] lngvc0r5zam8ws7x5k2pqrhctadzma6 Tempolete:CONTENTDIR 10 1697 4317 4316 2006-04-02T12:07:56Z Gangleri 8 [[Template:cONTENTDIR]] moved to [[Template:CONTENTDIR]] 4317 wikitext text/x-wiki ltr beqfoum5qt5jmc9a3xh7id55hqpq1b8 Tempolete:CONTENTMARK 10 1699 4319 2006-04-02T12:09:29Z Gangleri 8 &lrm; 4319 wikitext text/x-wiki &lrm; b0a7zqpzxc7zbz6xj15oyjhu21h74q1 Tempolete:plainlinks 10 1700 4320 2006-04-02T12:12:12Z Gangleri 8 <span class="plainlinks">[{{{url}}} {{{linkname}}}]</span> 4320 wikitext text/x-wiki <span class="plainlinks">[{{{url}}} {{{linkname}}}]</span> f51i8k8yl4bgjmjwq8u0a0cgdxeep89 Tempolete:done 10 1701 4529 4321 2006-08-14T13:00:06Z 61.69.42.220 Yes check.svg 4529 wikitext text/x-wiki <noinclude>[[category:Service templates|{{PAGENAME}} {{NAMESPACE}}]] '''scope:''' Track tasks.&lrm; ---- ---- </noinclude>[[Image:Yes check.svg|15px|done]] '''done''' mokfqo953vtjulexh4c1l9rggj6lmv6 Karolo:Main 14 1702 7775 7185 2017-07-03T08:13:31Z JAnDbot 470 Bot: Cleaning up old interwiki links 7775 wikitext text/x-wiki This is the main category of "'''{{SITENAME}}'''".&lrm; sk9rlwg5doc5j4heu0d9j2cz4ktyyxn Karolo:Service templates 14 1703 7789 7013 2017-07-03T08:13:50Z JAnDbot 470 Bot: Cleaning up old interwiki links; cosmetic changes 7789 wikitext text/x-wiki &lrm;&rarr; [[Wiktionary:FAQ's]]&lrm; [[Category:Templates]] o7u9np9dxvf825lk2imbgrd8e8rstm3 Karolo:MediaWiki 14 1704 7776 7030 2017-07-03T08:13:32Z JAnDbot 470 Bot: Cleaning up old interwiki links; cosmetic changes 7776 wikitext text/x-wiki &lrm;&rarr; [[Special:Allmessages]]&lrm; [[Category:Main]] f7t7c5xg0e6kswlnitx4aumlxu6lxpd Karolo:MediaWiki/navigation 14 1705 7777 6802 2017-07-03T08:13:33Z JAnDbot 470 Bot: Cleaning up old interwiki links 7777 wikitext text/x-wiki &lrm;&rarr; [[Special:Allmessages]]&lrm;<br /> &lrm;&rarr; [[MediaWiki:!/InterProject]] [[MediaWiki talk:!/InterProject|T]]<br /> &lrm;&rarr; [[MediaWiki:!/InterLang]] [[MediaWiki talk:!/InterLang|T]]<br /> <br /> Implemented a minimal [[MediaWiki:!/InterProject|navigation]] between projects for some : "'''''[[Special:Specialpages|{{int:Specialpages}}]]'''''": [[Special:Allmessages|{{int:Allmessages}}]], [[Special:Categories|{{int:Categories}}]], [[Special:Log|{{int:Log}}]], [[Special:Search|{{int:Search}}]], [[Special:Statistics|{{int:Statistics}}]], [[Special:Recentchanges|{{int:Recentchanges}}]], [[Special:Watchlist|{{int:Watchlist}}]] [[Category:MediaWiki|Navigation]] icuivbqncstfmafe9xf1e3uf8xb648o MediaWiki:!/InterProject 8 1706 4326 2006-04-02T12:28:26Z Gangleri 8 4326 wikitext text/x-wiki <div class="plainlinks" style="border: 1px solid #AAAAAA; padding: 7px; text-align:center; float:{{{float|right}}}; margin-left:5px; margin-right:5px" dir="{{{direction|ltr}}}" > [[commons:special:{{{page|{{PAGENAME}}}}}|c:]] [[m:special:{{{page|{{PAGENAME}}}}}|m:]] [[w:special:{{{page|{{PAGENAME}}}}}|w:]] [[<!-- wikt: -->special:{{{page|{{PAGENAME}}}}}|wikt:]] </div> 5ug5oxp59kxfcogrxjwpkt2v33ipof6 MediaWiki:!/InterLang 8 1707 4327 2006-04-02T12:32:53Z Gangleri 8 only the languages with WiKtionaries 4327 wikitext text/x-wiki [[aa:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|aa]] [[ab:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|ab]] [[af:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|af]] [[als:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|als]] [[am:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|am]] [[an:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|an]] [[ang:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|ang]] [[ar:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|ar]] [[as:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|as]] [[ast:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|ast]] [[ay:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|ay]] [[az:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|az]] [[ba:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|ba]] [[be:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|be]] [[bg:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|bg]] [[bn:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|bn]] [[bo:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|bo]] [[br:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|br]] [[bs:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|bs]] [[ca:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|ca]] [[co:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|co]] [[cs:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|cs]] [[csb:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|csb]] [[cy:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|cy]] [[da:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|da]] [[de:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|de]] [[dv:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|dv]] [[dz:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|dz]] [[el:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|el]] [[en:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|en]] [[eo:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|eo]] [[es:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|es]] [[et:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|et]] [[eu:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|eu]] [[fa:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|fa]] [[fi:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|fi]] [[fj:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|fj]] [[fo:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|fo]] [[fr:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|fr]] [[fy:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|fy]] [[ga:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|ga]] [[gd:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|gd]] [[gl:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|gl]] [[gn:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|gn]] [[gu:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|gu]] [[gv:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|gv]] [[ha:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|ha]] [[he:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|he]] [[hi:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|hi]] [[hr:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|hr]] [[hu:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|hu]] [[hy:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|hy]] [[ia:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|ia]] [[id:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|id]] [[ie:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|ie]] [[io:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|io]] [[is:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|is]] [[it:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|it]] [[iu:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|iu]] [[ja:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|ja]] [[jv:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|jv]] [[ka:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|ka]] [[kk:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|kk]] [[kl:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|kl]] [[km:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|km]] [[kn:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|kn]] [[ko:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|ko]] [[ks:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|ks]] [[ku:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|ku]] [[kw:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|kw]] [[ky:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|ky]] [[la:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|la]] [[lb:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|lb]] [[ln:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|ln]] [[lt:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|lt]] [[lv:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|lv]] [[mg:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|mg]] [[mi:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|mi]] [[mk:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|mk]] [[ml:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|ml]] [[mn:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|mn]] [[mo:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|mo]] [[mr:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|mr]] [[ms:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|ms]] [[mt:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|mt]] [[my:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|my]] [[na:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|na]] [[nah:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|nah]] [[nds:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|nds]] [[ne:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|ne]] [[nl:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|nl]] [[nn:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|nn]] [[no:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|no]] [[oc:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|oc]] [[or:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|or]] [[pa:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|pa]] [[pl:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|pl]] [[ps:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|ps]] [[pt:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|pt]] [[qu:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|qu]] [[rm:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|rm]] [[ro:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|ro]] [[ru:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|ru]] [[rw:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|rw]] [[sa:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|sa]] [[sc:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|sc]] [[scn:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|scn]] [[sd:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|sd]] [[simple:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|simple]] [[sk:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|sk]] [[sl:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|sl]] [[sm:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|sm]] [[sn:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|sn]] [[sq:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|sq]] [[sr:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|sr]] [[ss:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|ss]] [[st:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|st]] [[su:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|su]] [[sv:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|sv]] [[sw:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|sw]] [[ta:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|ta]] [[te:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|te]] [[tg:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|tg]] [[th:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|th]] [[tl:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|tl]]<!-- Why is the "tlh:" interwiki prefix disabeled? [[tlh:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|tlh]] --><!-- [[tn:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|tn]] --> [[tpi:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|tpi]] [[tr:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|tr]] [[ts:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|ts]] [[tt:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|tt]] [[tw:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|tw]] [[uk:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|uk]] [[ur:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|ur]] [[uz:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|uz]] [[vi:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|vi]] [[vo:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|vo]] [[wo:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|wo]] [[xh:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|xh]] [[yi:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|yi]] [[yo:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|yo]] [[zh:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|zh]] [[zu:{{{namespace|special}}}:{{{pagename|{{PAGENAME}}}}}|zu]] rxjrrpwprherxj9bo1ccf3eeacaecam Tempolete:top 10 1709 4330 2006-04-02T12:39:50Z Gangleri 8 4330 wikitext text/x-wiki <noinclude>[[category:Portability of code|{{UCFIRST:PAGENAME}}]]</noinclude><span class="plainlinks" dir="ltr" ><font id="top" />&lrm;[{{fullurl:{{FULLPAGENAME}}|action=purge}} ↺] · [{{fullurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}} rev-ID : {{REVISIONID}}]</span>&lrm; krkmxd83ngupk28q4h0zvygtcv2yzab Tempolete:navigation 10 1722 4358 2006-04-04T08:48:22Z Gangleri 8 4358 wikitext text/x-wiki [[w:{{{genns|{{NAMESPACE}}}}}:{{{pagename|{{PAGENAME}}}}}|w:]] [[<!-- wikt: -->:{{{genns|{{NAMESPACE}}}}}:{{{pagename|{{LCFIRST:{{PAGENAME}}}}}}}|wikt:]]&lrm; o9njj8ubc51rhye1tmdxug5hhay5y3n Ke 0 1723 8175 8173 2022-06-28T10:02:05Z Rebel Agent 2678 Added content 8175 wikitext text/x-wiki == Setswana == * Ke * Lefoko '''ke''' le dirisiwa mo dieleng tse di farologaneng ===Sekai=== * Ke nna Neo * Ke kopa o ntshiele dijo tsa gago mevisokorzjv6ha69icd6ri8yw9cmm3 Karolo:Sekgoa 14 1724 7788 7545 2017-07-03T08:13:49Z JAnDbot 470 Bot: Cleaning up old interwiki links 7788 wikitext text/x-wiki [[Category:Se]] d3itn6vi45gplfgn8wsio0keeq7mnhg dumela 0 1960 7694 7423 2017-04-24T19:07:04Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 7694 wikitext text/x-wiki {{=tn=|}} # dumela <br> {{-trans-}} '''English:''' [[hello]] (to singular person) <br> '''Afrikaans:''' [[hallo]] <br> <br> Also see: [[dumelang]] 5s0kjw9sspo0oxwqgcbg3b4qkkbf7ly dumelang 0 1961 8580 7957 2024-01-14T17:31:28Z JoolzWiki 293 Undo revision [[Special:Diff/7957|7957]] by [[Special:Contributions/185.4.227.92|185.4.227.92]] ([[User talk:185.4.227.92|talk]]). Graffitti 8580 wikitext text/x-wiki {{=tn=|}} # dumelang {{-trans-}} * '''Dutch:''' [[hallo]] * '''English:''' [[hello]] (to more than one person) * '''Afrikaans:''' [[hallo]] Also see: [[dumela]] aqufuucsr9hk5w19kbmmy4v2umdqprg ee 0 1962 7700 7420 2017-04-24T19:07:07Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7700 wikitext text/x-wiki {{=tn=|}} '''ee''' # ee {{-trans-}} * {{af}}: [[ja]] * {{nl}}: [[ja]] * {{en}}: [[yes]] * {{fr}}: [[oui]], [[si]] * {{de}}: [[ja]] 1md6vwhsm7s6wv1utpp3m8yijh2vy1z nnyaa 0 1963 7738 6752 2017-04-24T19:07:26Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 7738 wikitext text/x-wiki '''Tswana:''' nnyaa <br> <br> '''''Translations''''' <br> '''English:''' no <br> '''Afrikaans:''' nee [[Category:Setswana]] iqu7jxck2j7r2cvbo3z78pqtkx2iq1m kotsi 0 1964 7712 5331 2017-04-24T19:07:13Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7712 wikitext text/x-wiki {{=tn=|}} kotsi (pl. [[dikotsi]]) <br/> (Noun class: [[9]]) {{-trans-}} * '''Dutch:''' gevaar * '''English:''' danger * '''Afrikaans:''' gevaar 6o52d7of91641zbc5a25lamcxzvm1bs dikotsi 0 1965 7693 5247 2017-04-24T19:07:03Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7693 wikitext text/x-wiki {{=tn=|}} dikotsi (sing. [[kotsi]]) <br> (Noun class: [[10]]) {{-trans-}} * '''Dutch:''' gevaren * '''English:''' dangers * '''Afrikaans:''' gevare c35fh0g73x1mez5y8x5xbjmpmhook1z tsweetswee 0 1966 8625 7757 2024-07-11T03:00:11Z Siam2019 3694 8625 wikitext text/x-wiki {{=tn=|}} # tsweetswee {{-trans-}} * '''Se-Dutch:''' [[alsjeblieft]], [[alstublieft]] * '''Sekgoa:''' [[please]] * '''Se-Afrikaans:''' [[asseblief]], [[kanalla]] 48orlmzrf7hpu0batpwugjihffzkdea Karolo:task list 14 1978 7793 6801 2017-07-03T08:13:54Z JAnDbot 470 Bot: Cleaning up old interwiki links 7793 wikitext text/x-wiki [[Category:Main]] sir97j6uzt9ev2uyhaz1aj4i3spogih Karolo:All languages 14 1979 6783 6723 2015-02-17T14:03:00Z JAn Dudík 485 Redirected page to [[Category:Se]] 6783 wikitext text/x-wiki #REDIRECT[[Category:Se]] 6wpb1fuum6gw6ls5nrvirjkm1ryofww Karolo:Templates 14 1980 7792 7614 2017-07-03T08:13:53Z JAnDbot 470 Bot: Cleaning up old interwiki links 7792 wikitext text/x-wiki [[Category:Main]] sir97j6uzt9ev2uyhaz1aj4i3spogih Karolo:Language templates 14 1981 7774 7551 2017-07-03T08:13:30Z JAnDbot 470 Bot: Cleaning up old interwiki links 7774 wikitext text/x-wiki [[Category:Templates]] 0t5jiibdq6k1tam9oy4zt1yld5iz80u Tempolete:=nl= 10 1982 6660 6659 2014-12-12T14:10:48Z 177.206.132.3 6660 wikitext text/x-wiki {{{1| ---- }}} ==[[Wiktionary:Dutch|Sedache]]== <noinclude>[[Category:Language templates|nl]]</noinclude> gsetgycbldf04o3ahbjiy0spdpagvg9 Tempolete:=en= 10 1983 6508 5518 2014-06-23T23:45:19Z 177.133.73.184 6508 wikitext text/x-wiki {{{1| ---- }}} ==[[Wiktionary:English|Seisimane]]== <noinclude>[[Category:Language templates|en]]</noinclude> gmjpdw2j0nptami2z6igikopt59gmci Tempolete:=de= 10 1984 6662 5522 2014-12-12T14:11:51Z 177.206.132.3 6662 wikitext text/x-wiki {{{1| ---- }}} ==[[Wiktionary:German|Sejeremane]]== <noinclude>[[Category:Language templates|de]]</noinclude> n4lclw0ve924f7pqs9ebg5oyl5e0vgl Tempolete:=tn= 10 1985 8560 8109 2023-03-30T23:15:15Z Rebel Agent 2678 /* Setswana */ 8560 wikitext text/x-wiki {{{1| ---- }}} ==Setswana== 02wzigethyzpuqfy0gaurd4r4zh0s2f Tempolete:=fr= 10 1986 6510 5519 2014-06-23T23:47:06Z 177.133.73.184 6510 wikitext text/x-wiki {{{1| ---- }}} ==[[Wiktionary:French|Sefora]]== <noinclude>[[Category:Language templates|fr]]</noinclude> 85gry68mkvoy9xq6b7r04j5x8n4jhmh Tempolete:-noun- 10 1987 4742 4738 2007-04-11T23:18:00Z SPQRobin 20 4742 wikitext text/x-wiki ====[[Wiktionary:Noun|noun]]==== </noinclude>[[Category:Templates]]</noinclude> ti19a1txw7w348oapcpmn0vfdusq5iu Tempolete:-trans- 10 1988 8110 6665 2022-06-27T13:38:22Z Rebel Agent 2678 /* Diteme tse dingwe */ 8110 wikitext text/x-wiki ====Diteme tse dingwe==== <noinclude>[[Category:Templates]]</noinclude> od9nxmv76bpbvw4en7mgqidd5e0zbc4 Tempolete:=af= 10 1989 6661 5520 2014-12-12T14:11:23Z 177.206.132.3 6661 wikitext text/x-wiki {{{1| ---- }}} ==[[Wiktionary:Afrikaans|Seburu]]== <noinclude>[[Category:Language templates|af]]</noinclude> dtliv7ut0ap0t4tbjy5u3ago6b5eitl ja 0 1990 7711 7528 2017-04-24T19:07:13Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7711 wikitext text/x-wiki __TOC__ {{=af=}} '''ja''' # [[ee]] {{=nl=}} '''ja''' # [[ee]] {{=de=}} '''ja''' # [[ee]] biyy5exukb5hiu67ylt79zgv4q1k6sk Karolo:Candidates for speedy deletion 14 1992 7888 7772 2020-05-28T12:27:50Z Samuele2002 1632 +__EXPECTUNUSEDCATEGORY__ 7888 wikitext text/x-wiki __EXPECTUNUSEDCATEGORY__ [[Category:Main]] 1xoelrtyettvxs32em6n8kkxnhzdg4s Wiktionary:Nospam 4 2001 4790 4789 2007-10-13T19:40:03Z Drini 21 Protected "[[Wiktionary:Nospam]]" [edit=sysop:move=sysop] [cascading] 4790 wikitext text/x-wiki == Pages locked from recreation == :'''Administrators:''' add a new line here to stop pages being created :'''Administradores:''' añadan una nueva línea para evitar que una página vuelva a ser creada. : '''Moderatoren:''' voeg hier een nieuwe regel toe om het aanmaken van pagina's te voorkomen : '''Amministratori:''' aggiungete una riga qui per impedire la creazione di altre pagine * {{:*}} * {{:MediaWiki Talk:Ipb cant unblock}} * {{:MediaWiki Talk:Ipb cant unblock/}} * {{:MediaWiki Talk:Ipb cant unblock/index.php}} * {{:MediaWiki Talk:Ipb cant unblock/w/index.php}} * {{:MediaWiki Talk:Ipb cant unblock/w/w/index.php}} * {{:MediaWiki Talk:Ipb cant unblock/w/w/w/index.php}} * {{:MediaWiki Talk:Ipb cant unblock/w/w/w/w/w/index.php}} * {{:MediaWiki talk:Ipb already blocked/wiki/MediaWiki talk:Ipb already blocked/w/w/w/index.php}} * {{:MediaWiki talk:Ipb already blocked/wiki/MediaWiki talk:Ipb already blocked/w/w/w/w/index.php}} * {{:Talk:Main Page/}} * {{:Talk:Main Page/index.php}} * {{:Talk:Main Page/w/index.php}} * {{:Talk:Main Page/w/w/index.php}} * {{:Talk:Main Page/w/w/w/index.php}} * {{:Talk:Main Page/w/w/w/w/index.php}} * {{:Main Page/index.php}} * {{:Main Page/w/index.php}} * {{:Main Page/w/w/index.php}} * {{:Main Page/w/w/w/index.php}} * {{:Main Page/w/w/w/w/index.php}} * {{:Talk:Main Page/w/index.php?title=Main Page/w/index.php}} * {{:index.php}} * {{:W/index.php}} * {{:W/w/index.php}} * {{:W/w/w/index.php}} * {{:W/w/w/w/index.php}} * {{:W/w/w/w/w/w/index.php}} <!-- wiktionaries are case sensitive, but it won't hurt on other wikis, so again: --> * {{:w/index.php}} * {{:w/w/index.php}} * {{:w/w/w/index.php}} * {{:w/w/w/w/index.php}} * {{:w/w/w/w/w/w/index.php}} * {{:MediaWiki talk:Ipb expiry invalid}} * {{:MediaWiki talk:Ipb expiry invalid/}} * {{:MediaWiki talk:Ipb expiry invalid/index.php}} * {{:MediaWiki talk:Ipb expiry invalid/w/index.php}} * {{:MediaWiki talk:Ipb expiry invalid/w/w/index.php}} * {{:MediaWiki talk:Ipb expiry invalid/w/w/w/index.php}} * {{:MediaWiki talk:Ipb expiry invalid/w/w/w/w/index.php}} * {{:MediaWiki talk:Ipb expiry invalid/w/w/w/w/w/index.php}} * {{:MediaWiki talk:Ipb already blocked/index.php}} * {{:MediaWiki talk:Ipb already blocked/w/index.php}} * {{:MediaWiki talk:Ipb already blocked/w/w/index.php}} * {{:MediaWiki talk:Ipb already blocked/w/w/w/index.php}} * {{:MediaWiki talk:Ipb already blocked/w/w/w/w/index.php}} * {{:MediaWiki talk:Ipb already blocked/w/w/w/w/w/index.php}} * {{:MediaWiki talk:Ipb already blocked/wiki/MediaWiki talk:Ipb already blocked/w/w/index.php}} * {{:Talk:index.php}} * {{:Talk:w/index.php}} * {{:Talk:w/w/index.php}} * {{:Talk:w/w/w/index.php}} * {{:Talk:w/w/w/w/index.php}} * {{:Talk:W/index.php}} * {{:Talk:W/w/index.php}} * {{:Talk:W/w/w/index.php}} * {{:Talk:W/w/w/w/index.php}} * {{:MediaWiki talk:Ipb expiry invalid/wiki/MediaWiki talk:Ipb expiry invalid/w/index.php}} * {{:MediaWiki talk:Ipb expiry invalid/wiki/MediaWiki talk:Ipb expiry invalid/w/w/index.php}} * {{:MediaWiki talk:Ipb expiry invalid/wiki/MediaWiki talk:Ipb expiry invalid/w/w/w/index.php}} * {{:MediaWiki talk:Ipb expiry invalid/wiki/MediaWiki talk:Ipb expiry invalid/w/w/w/w/index.php}} kg42cpo688befd36vculvi6m9pxb88c Main Page 0 2011 4805 2007-12-23T01:25:05Z Az1568 28 [[Main Page]] o sutisediwa kwa go [[Tsebe ya konokono]]: Seems to be here now according to the navigation sidebar. 4805 wikitext text/x-wiki #REDIRECT [[Tsebe ya konokono]] lngvc0r5zam8ws7x5k2pqrhctadzma6 Wiktionary:Patlelo ya setšhaba 4 2035 8639 8638 2024-10-22T11:30:25Z MediaWiki message delivery 1057 /* 'Wikidata item' link is moving, finally. */ new section 8639 wikitext text/x-wiki * '''en:''' This is the community discussion page. Requests for the [[m:bot|bot]] flag should be made on this page. This wiki uses the [[m:bot policy|standard bot policy]], and allows [[m:bot policy#Global_bots|global bots]] and [[m:bot policy#Automatic_approval|automatic approval of certain types of bots]]. Other bots should apply below, and then [[m:Steward requests/Bot status|request access]] from a steward if there is no objection. * '''tn:''' ... ==Requests for a bot flag== [[special:listusers/bot]] ===[[User:SpaceBirdyBot|SpaceBirdyBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> Hello, I am running my Bot [[User:SpaceBirdyBot]] as interwikibot on [[:is:Special:Contributions/SpaceBirdyBot|is.wikt]] (and de,es,pt,ga,af,fo,nah,scn,nl,sv,ro) lately because not all links are catched by the current active bots there. If You are interested I can set my bot to run here also. I am using SVN pywikipedia (latest) and run it using <pre>interwiki.py -wiktionary -autonomous -force -noauto -nobacklink -noshownew -neverlink:fur,ilo,nov,sco</pre> * Botmaster: [[:is:Notandi:Spacebirdy]] * Bot's name:[[User:SpaceBirdyBot]] * List of bot flags on other Wiktionarys:af,ar,co,ca,oc,da,de,el,es,it,is,pt,ga,gd,af,fo,nah,scn,nl,sv,ro,yi,zh-min-nan,... * Purpose:interwiki * Technical details:svn pywikipediabot, latest versions Best regards, --[[User:Spacebirdy|Spacebirdy]] 22:37, 6 Phukwi 2008 (UTC) : Already [{{fullurl:m:Special:Log|page=User:SpaceBirdyBot@tnwiktionary}} done]. —<small>[[m:User:Pathoschild|Pathoschild]] 00:55:58, 22 Tlhakole 2011 (UTC)</small> </div> ===[[User:RobotGMwikt|RobotGMwikt]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> I also request botstatus for this interwiki bot, run by [[m:User:GerardM]], thanks, --[[User:Spacebirdy|Spacebirdy]] 22:37, 6 Phukwi 2008 (UTC) : Already [{{fullurl:m:Special:Log|page=User:RobotGMwikt@tnwiktionary}} done]. —<small>[[m:User:Pathoschild|Pathoschild]] 00:56:48, 22 Tlhakole 2011 (UTC)</small> </div> ===[[user:Luckas-bot|Luckas-bot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Botmaster: [[:pt:user:Luckas Blade]] * Bot's name: [[User:Luckas-bot]] * List of bot flags on other Wiktionaries: [http://toolserver.org/~vvv/sulutil.php? user=Luckas-bot list] * Purpose: interwiki * Technical details: svn pywikipediabot, latest versions Best regards, --[[User:Luckas Blade|Luckas Blade]] 15:09, 17 Sedimonthole 2010 (UTC) : Already [{{fullurl:m:Special:Log|page=User:Luckas-bot@tnwiktionary}} done]. —<small>[[m:User:Pathoschild|Pathoschild]] 00:57:11, 22 Tlhakole 2011 (UTC)</small> </div> ==Bot policy== Hello. To facilitate [[m:steward|steward]] granting of bot access, I suggest implementing the [[m:Bot policy|standard bot policy]] on this wiki. In particular, this policy allows stewards to automatically flag known interlanguage linking bots (if this page says that is acceptable), which form the vast majority of such requests. The policy also enables [[m:Bot policy#Global_bots|global bots]] on this wiki (if this page says that is acceptable), which are trusted bots that will be given bot access on every wiki that allows global bots. This policy makes bot access requesting much easier for local users, operators, and stewards. To implement it we only need to create a redirect to this page from [[Project:Bot policy]], and add a line at the top noting that it is used here. Please read the text at [[m:Bot policy]] before commenting. If you object, please say so; I hope to implement it soon if there is no objection, since it is particularly written to streamline bot requests on wikis with little or no community interested in bot access requests. <br />--[[m:User:Dferg|dferg]] <sup>[[m:User talk:Dferg|☎ talk]]</sup> 11:52, 30 Sedimonthole 2010 (UTC) : Done. —<small>[[m:User:Pathoschild|Pathoschild]] 00:37:31, 22 Tlhakole 2011 (UTC)</small> == Global AbuseFilter == <div lang="en" dir="ltr" class="mw-content-ltr">Hello, [[mw:Special:MyLanguage/Extension:AbuseFilter|AbuseFilter]] is a MediaWiki extension used to detect likely abusive behavior patterns, like pattern vandalism and spam. In 2013, [[m:Special:Mylanguage/Global AbuseFilter|Global AbuseFilters]] were enabled on a limited set of wikis including Meta-Wiki, MediaWiki.org, Wikispecies and (in early 2014) all the "[https://noc.wikimedia.org/conf/highlight.php?file=small.dblist small wikis]". Recently, global abuse filters were enabled on "[https://noc.wikimedia.org/conf/highlight.php?file=medium.dblist medium sized wikis]" as well. These filters are currently managed by stewards on Meta-Wiki and have shown to be very effective in preventing mass spam attacks across Wikimedia projects. However, there is currently no policy on how the global AbuseFilters will be managed although there are proposals. There is an ongoing [[m:Requests for comment/Global AbuseFilter|request for comment]] on policy governing the use of the global AbuseFilters. In the meantime, specific wikis can opt out of using the global AbuseFilter. These wikis can simply add a request to [[m:Global AbuseFilter/Opt-out wikis|this list]] on Meta-Wiki. More details can be found on [[m:Special:Mylanguage/Global AbuseFilter/2014 announcement|this page]] at Meta-Wiki. If you have any questions, feel free to ask on [[m:Talk:Global AbuseFilter|m:Talk:Global AbuseFilter]]. Thanks, [[m:User:PiRSquared17|PiRSquared17]], [[m:User:Glaisher|Glaisher]]</div> — 17:36, 14 Ngwanatsele 2014 (UTC) <!-- Message sent by User:Glaisher@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=Global_AbuseFilter/2014_announcement_distribution_list&oldid=10495115 --> [[da:Wiktionary:Administratorer#Robotter]] [[tg:Wiktionary:Вуруди корбарон]] == Selection of the Tremendous Wiktionary User Group representative to the Wikimedia Summit 2019 == Dear all, Sorry for posting this message in English and last minute notification. The [[:m:Tremendous Wiktionary User Group|Tremendous Wiktionary User Group]] could send one representative to the [[:m:Wikimedia Summit 2019|Wikimedia Summit 2019]] (formerly "Wikimedia Conference"). The Wikimedia Summit is an yearly conference of all organizations affiliated to the Wikimedia Movement (including our Tremendous Wiktionary User Group). It is a great place to talk about Wiktionary needs to the chapters and other user groups that compose the Wikimedia movement. For context, there is a [[:m:Wikimedia Conference 2018/Further reports/Tremendous Wiktionary User Group|short report on what happened last year]]. The deadline is very close to 24 hrs. The last date for registration is 17 December 2018. As a last minute effort, there is a '''[[:m:Tremendous Wiktionary User Group/Wikimedia Summit 2019|page on meta to decide who will be the representative of the user group to the Wikimedia Summit]]''' created. Please feel free to ask any question on the [https://lists.wikimedia.org/mailman/listinfo/wiktionary-l wiktionary-l] mailing list or on the [[:m:Talk:Wiktionary/Tremendous Wiktionary User Group|talk page]]. For the [[:m:Tremendous Wiktionary User Group|Tremendous Wiktionary User Group]], -- [[User:Balajijagadesh|Balajijagadesh]] 05:56, 16 Sedimonthole 2018 (UTC) <!-- Message sent by User:KCVelaga@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery/Wiktionary&oldid=18299588 --> == Wiktionary sitelinks dashboard: URL update == Hello all, and sorry for writing in English. Feel free to translate this message below. The [[m:Wiktionary Cognate Dashboard|Wiktionary Cognate Dashboard]] presents interesting data about the extension powering your sitelinks. I just wanted to let you know that the URL of this tool changed: it is now accessible at https://wiktionary-analytics.wmcloud.org/Wiktionary_CognateDashboard/ . The former URLs, https://wmdeanalytics.wmflabs.org/Wiktionary_CognateDashboard/ and https://wdcm.wmflabs.org/Wiktionary_CognateDashboard/ , will be disabled on September 25th. Don't forget to update your documentation pages accordingly. If you have questions about the tool or the URL switch, feel free to ping me. Cheers, [[:m:User:Lea Lacroix (WMDE)|Lea Lacroix (WMDE)]] 11:46, 14 Lwetse 2020 (UTC) <!-- Message sent by User:Lea Lacroix (WMDE)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery/Wiktionary&oldid=19900821 --> == Wikimania 2021: Individual Program Submissions == [[File:Wikimania logo with text 2.svg|right|200px]] Dear all, Wikimania 2021 will be [[:wikimania:2021:Save the date and the Core Organizing Team|hosted virtually]] for the first time in the event's 15-year history. Since there is no in-person host, the event is being organized by a diverse group of Wikimedia volunteers that form the [[:wikimania:2021:Organizers|Core Organizing Team]] (COT) for Wikimania 2021. '''Event Program''' - Individuals or a group of individuals can submit their session proposals to be a part of the program. There will be translation support for sessions provided in a number of languages. See more information [[:wikimania:2021:Submissions/Guidelines#Language Accessibility|here]]. Below are some links to guide you through; * [[:wikimania:2021:Submissions|Program Submissions]] * [[:wikimania:2021:Submissions/Guidelines|Session Submission Guidelines]] * [[:wikimania:2021:FAQ|FAQ]] Please note that the deadline for submission is 18th June 2021. '''Announcements'''- To keep up to date with the developments around Wikimania, the COT sends out weekly updates. You can view them in the Announcement section [[:wikimania:2021:Announcements|here]]. '''Office Hour''' - If you are left with questions, the COT will be hosting some office hours (in multiple languages), in multiple time-zones, to answer any programming questions that you might have. Details can be found [[:wikimania:2021:Organizers#Office hours schedule|here.]] Best regards, [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|talk]]) 04:19, 16 Seetebosigo 2021 (UTC) On behalf of Wikimania 2021 Core Organizing Team <!-- Message sent by User:Bodhisattwa@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/VisualEditor/Newsletter/Wikis_with_VE&oldid=21597568 --> == Editing news 2021 #2 == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> <em>[[m:Special:MyLanguage/VisualEditor/Newsletter/2021/June|Read this in another language]] • [[m:VisualEditor/Newsletter|Subscription list for this multilingual newsletter]]</em> [[File:Reply Tool A-B test comment completion.png|alt=Junior contributors comment completion rate across all participating Wikipedias|thumb|296x296px|When newcomers had the Reply tool and tried to post on a talk page, they were more successful at posting a comment. ([https://wikimedia-research.github.io/Reply-tools-analysis-2021/ Source])]] Earlier this year, the Editing team ran a large study of [[mw:Talk pages project/Replying|the Reply Tool]]. The main goal was to find out whether the Reply Tool helped [[mw:Talk pages project/Glossary|newer editors]] communicate on wiki. The second goal was to see whether the comments that newer editors made using the tool needed to be reverted more frequently than comments newer editors made with the existing wikitext page editor. The key results were: * Newer editors who had automatic ("default on") access to the Reply tool were [https://wikimedia-research.github.io/Reply-tools-analysis-2021/ more likely] to post a comment on a talk page. * The comments that newer editors made with the Reply Tool were also [https://wikimedia-research.github.io/Reply-tools-analysis-2021/ less likely] to be reverted than the comments that newer editors made with page editing. These results give the Editing team confidence that the tool is helpful. <strong>Looking ahead</strong> The team is planning to make the Reply tool available to everyone as an opt-out preference in the coming months. This has already happened at the Arabic, Czech, and Hungarian Wikipedias. The next step is to [[phab:T280599|resolve a technical challenge]]. Then, they will deploy the Reply tool first to the [[phab:T267379|Wikipedias that participated in the study]]. After that, they will deploy it, in stages, to the other Wikipedias and all WMF-hosted wikis. You can turn on "{{int:discussiontools-preference-label}}" [[Special:Preferences#mw-prefsection-betafeatures|in Beta Features]] now. After you get the Reply tool, you can change your preferences at any time in [[Special:Preferences#mw-prefsection-editing-discussion]]. –[[User:Whatamidoing (WMF)|Whatamidoing (WMF)]] ([[User talk:Whatamidoing (WMF)|talk]]) </div> 14:15, 24 Seetebosigo 2021 (UTC) <!-- Message sent by User:Elitre (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/VisualEditor/Newsletter/Wikis_with_VE&oldid=21624491 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Editing news 2022 #1</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="message"/><i>[[metawiki:VisualEditor/Newsletter/2022/April|Read this in another language]] • [[m:VisualEditor/Newsletter|Subscription list for this multilingual newsletter]]</i> [[File:Junior Contributor New Topic Tool Completion Rate.png|thumb|New editors were more successful with this new tool.]] The [[mw:Special:MyLanguage/Help:DiscussionTools#New discussion tool|New topic tool]] helps editors create new ==Sections== on discussion pages. New editors are more successful with this new tool. You can [[mw:Talk pages project/New topic#21 April 2022|read the report]]. Soon, the Editing team will offer this to all editors at the 20 Wikipedias that participated in the test. You will be able to turn it off at [[Special:Preferences#mw-prefsection-editing-discussion]].<section end="message"/> </div> [[User:Whatamidoing (WMF)|Whatamidoing (WMF)]] 18:56, 2 Motsheganong 2022 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/VisualEditor/Newsletter/Wikis_with_VE&oldid=22019984 --> ==Admin Rights== Hello I'm interested in building this project also I'm currently working on [[:w:tn:Wikipedia|Wikipedia]] I love it when I see projects in my home language, I'm requesting for temporary admin rights here also I want to delete useless pages. I will create more new useful and notable content here soon .[[User:Rebel Agent|Rebel Agent]] ([[User talk:Rebel Agent|talk]]) 20:20, 7 Phukwi 2022 (UTC) == Admin renewal == Hello my Admin rights will be ending soon, I know I'm not that active here but there is no one to take care of this wiki so I would like to continue being a Admin on this Wiki, Thank you. [[Modirisi:Rebel Agent|Rebel Agent]] ([[Puisano ya modirisi:Rebel Agent|talk]]) 19:28, 2 Phalane 2022 (UTC) == Admin Request == Hello I was an admin before but I requested for my rights to be removed as I was busy, I expected to return next year but we finished sooner than I expected, I'm happy to be back and I would like to continue as an Administrator.[[Modirisi:Rebel Agent|Rebel Agent]] ([[Puisano ya modirisi:Rebel Agent|talk]]) 15:16, 24 Ngwanatsele 2022 (UTC) == Community Wishlist Survey 2023 opens in January == <div lang="en" dir="ltr" class="mw-content-ltr"> ''{{int:Please-translate}}'' (There is [[m:Community Wishlist Survey 2023 opens in January|a translatable version of this message on MetaWiki]]) {{int:Hello}} The [[m:Community Wishlist Survey 2023|'''Community Wishlist Survey (CWS) 2023''']], which lets contributors propose and vote for tools and improvements, starts next month on Monday, [https://zonestamp.toolforge.org/1674496831 23 January 2023, at 18:00 UTC] and will continue annually. We are inviting you to share your ideas for technical improvements to our tools and platforms. Long experience in editing or technical skills is not required. If you have ever used our software and thought of an idea to improve it, this is the place to come share those ideas! The dates for the phases of the Survey will be as follows: * Phase 1: Submit, discuss, and revise proposals – Monday, Jan 23, 2023 to Sunday, Feb 6, 2023 * Phase 2: WMF/Community Tech reviews and organizes proposals – Monday, Jan 30, 2023 to Friday, Feb 10, 2023 * Phase 3: Vote on proposals – Friday, Feb 10, 2023 to Friday, Feb 24, 2023 * Phase 4: Results posted – Tuesday, Feb 28, 2023 If you want to start writing out your ideas ahead of the Survey, you can start thinking about your proposals and draft them in [[m:Community Wishlist Survey/Sandbox|the CWS sandbox]]. We are grateful to all who participated last year. See you in January 2023! </div> {{int:Feedback-thanks-title}} <bdi lang="en" dir="ltr">Community Tech, [[m:User:STei (WMF)|STei (WMF)]]</bdi> 16:44, 15 Sedimonthole 2022 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Community_Wishlist_list_for_non-Wikipedias&oldid=24239678 --> == Global ban for PlanespotterA320/RespectCE == Per the [[m:Global bans|Global bans]] policy, I'm informing the project of this request for comment: [[m:Requests for comment/Global ban for PlanespotterA320 (2) ]] about banning a member from your community. Thank you.--[[User:Lemonaka|Lemonaka]] ([[User talk:Lemonaka|talk]]) 21:40, 6 February 2023 (UTC) <!-- Message sent by User:Zabe@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Lemonaka/Massmessagelist&oldid=24501599 --> == Editing news 2023 #1 == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="message"/><i>[[m:Special:MyLanguage/VisualEditor/Newsletter/2023/February|Read this in another language]] • [[m:Special:MyLanguage/VisualEditor/Newsletter|Subscription list for this multilingual newsletter]]</i> This newsletter includes two key updates about the [[mw:Special:MyLanguage/Editing team|Editing]] team's work: # The Editing team will finish adding new features to the [[mw:Special:MyLanguage/Talk pages project|Talk pages project]] and deploy it. # They are beginning a new project, [[mw:Special:MyLanguage/Edit check|Edit check]]. <strong>Talk pages project</strong> [[File:Page Frame Features on desktop.png|alt=Screenshot showing the talk page design changes that are currently available as beta features at all Wikimedia wikis. These features include information about the number of people and comments within each discussion.|thumb|300px|Some of the upcoming changes]] The Editing team is nearly finished with this first phase of the [[mw:Special:MyLanguage/Talk_pages_project|Talk pages project]]. Nearly all [[mw:Special:MyLanguage/Talk pages project/Usability|new features]] are available now in the [[Special:Preferences#mw-prefsection-betafeatures|Beta Feature for {{int:discussiontools-preference-label}}]]. It will show information about how active a discussion is, such as the date of the most recent comment. There will soon be a new "{{int:skin-action-addsection}}" button. You will be able to turn them off at [[Special:Preferences#mw-prefsection-editing-discussion]]. Please [[mw:Special:MyLanguage/Talk:Talk_pages_project/Usability#c-PPelberg_(WMF)-20230215001000-Feedback:_Proposed_Revisions_to_%22Add_topic%22_button|tell them what you think]]. [[File:Daily edit completion rates mobile talk pages.png|thumb|300px|Daily edit completion rate by test group: DiscussionTools (test group) and MobileFrontend overlay (control group)]] An A/B test for [[mw:Special:MyLanguage/Talk pages project/Mobile|{{int:discussiontools-preference-label}} on the mobile site]] has finished. Editors were [[mw:Special:MyLanguage/Talk_pages_project/Mobile#Status_Updates|more successful with {{int:discussiontools-preference-label}}]]. The Editing team is enabling these features for all editors on the mobile site. <strong>New Project: Edit Check</strong> The Editing team is beginning [[mw:Special:MyLanguage/Edit check|a project to help new editors of Wikipedia]]. It will help people identify some problems before they click "{{int:publishchanges}}". The first tool will encourage people to add references when they add new content. Please [[mw:Special:MyLanguage/Help:Watchlist|watch]] that page for more information. You can [[mw:Special:MyLanguage/Editing_team/Community_Conversations#20230303|join a conference call on 3&nbsp;March&nbsp;2023]] to learn more.<section end="message"/> </div> –[[User:Whatamidoing (WMF)|Whatamidoing (WMF)]] ([[User talk:Whatamidoing (WMF)|{{int:Talkpagelinktext}}]]) 23:25, 22 Tlhakole 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/VisualEditor/Newsletter/Wikis_with_VE&oldid=24611966 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Your wiki will be in read only soon</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="server-switch"/><div class="plainlinks"> [[:m:Special:MyLanguage/Tech/Server switch|Read this message in another language]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Tech%2FServer+switch&language=&action=page&filter= {{int:please-translate}}] The [[foundation:|Wikimedia Foundation]] tests the switch between its first and secondary data centers. This will make sure that Wikipedia and the other Wikimedia wikis can stay online even after a disaster. To make sure everything is working, the Wikimedia Technology department needs to do a planned test. This test will show if they can reliably switch from one data centre to the other. It requires many teams to prepare for the test and to be available to fix any unexpected problems. All traffic will switch on '''{{#time:j xg|2023-03-01|en}}'''. The test will start at '''[https://zonestamp.toolforge.org/{{#time:U|2023-03-01T14:00|en}} {{#time:H:i e|2023-03-01T14:00}}]'''. Unfortunately, because of some limitations in [[mw:Manual:What is MediaWiki?|MediaWiki]], all editing must stop while the switch is made. We apologize for this disruption, and we are working to minimize it in the future. '''You will be able to read, but not edit, all wikis for a short period of time.''' *You will not be able to edit for up to an hour on {{#time:l j xg Y|2023-03-01|en}}. *If you try to edit or save during these times, you will see an error message. We hope that no edits will be lost during these minutes, but we can't guarantee it. If you see the error message, then please wait until everything is back to normal. Then you should be able to save your edit. But, we recommend that you make a copy of your changes first, just in case. ''Other effects'': *Background jobs will be slower and some may be dropped. Red links might not be updated as quickly as normal. If you create an article that is already linked somewhere else, the link will stay red longer than usual. Some long-running scripts will have to be stopped. * We expect the code deployments to happen as any other week. However, some case-by-case code freezes could punctually happen if the operation require them afterwards. * [[mw:Special:MyLanguage/GitLab|GitLab]] will be unavailable for about 90 minutes. This project may be postponed if necessary. You can [[wikitech:Switch_Datacenter|read the schedule at wikitech.wikimedia.org]]. Any changes will be announced in the schedule. There will be more notifications about this. A banner will be displayed on all wikis 30 minutes before this operation happens. '''Please share this information with your community.'''</div><section end="server-switch"/> </div> <span dir=ltr>[[m:User:Trizek (WMF)|Trizek (WMF)]] ([[m:User talk:Trizek (WMF)|{{int:talk}}]])</span> 21:21, 27 Tlhakole 2023 (UTC) <!-- Message sent by User:Trizek (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=24390465 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Wikimania 2023 Welcoming Program Submissions</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="wikimania-program-submissions"/>[[File:Wikimania Singapore Logo.svg|right|frameless]]Do you want to host an in-person or virtual session at Wikimania 2023? Maybe a hands-on workshop, a lively discussion, a fun performance, a catchy poster, or a memorable lightning talk? [[wmania:Special:MyLanguage/2023:Program/Submissions|'''Submissions are open until March 28''']]. The event will have dedicated hybrid blocks, so virtual submissions and pre-recorded content are also welcome. If you have any questions, please join us at an upcoming conversation on March 12 or 19, or reach out by email at wikimania@wikimedia.org or on Telegram. More information on-wiki.<section end="wikimania-program-submissions"/> </div> <!-- Message sent by User:CKoerner (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=24390465 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Seeking volunteers for the next step in the Universal Code of Conduct process</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''<div class="plainlinks">[[m:Special:MyLanguage/Universal Code of Conduct/U4C Building Committee/Nominations/Announcement|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Universal Code of Conduct/U4C Building Committee/Nominations/Announcement}}&language=&action=page&filter= {{int:please-translate}}]</div>'' Hello, As follow-up to [https://lists.wikimedia.org/hyperkitty/list/wikimedia-l@lists.wikimedia.org/message/IOMVS7W75ZYMABQGOQ2QH2JAURC3CHGH/ the message about the Universal Code of Conduct Enforcement Guidelines] by Wikimedia Foundation Board of Trustees Vice Chair, Shani Evenstein Sigalov, I am reaching out about the next steps. I want to bring your attention to the next stage of the Universal Code of Conduct process, which is forming a building committee for the Universal Code of Conduct Coordinating Committee (U4C). I invite community members with experience and deep interest in community health and governance to nominate themselves to be part of the U4C building committee, which needs people who are: * Community members in good standing * Knowledgeable about movement community processes, such as, but not limited to, policy drafting, participatory decision making, and application of existing rules and policies on Wikimedia projects * Aware and appreciative of the diversity of the movement, such as, but not limited to, languages spoken, identity, geography, and project type * Committed to participate for the entire U4C Building Committee period from mid-May - December 2023 * Comfortable with engaging in difficult, but productive conversations * Confidently able to communicate in English The Building Committee shall consist of volunteer community members, affiliate board or staff, and Wikimedia Foundation staff. The Universal Code of Conduct has been a process strengthened by the skills and knowledge of the community and I look forward to what the U4C Building Committee creates. If you are interested in joining the Building Committee, please either [[m:Special:MyLanguage/Universal_Code_of_Conduct/U4C_Building_Committee/Nominations|sign up on the Meta-Wiki page]], or contact ucocproject[[File:At sign.svg|16x16px|link=|(_AT_)]]wikimedia.org by May 12, 2023. '''[[m:Special:MyLanguage/Universal_Code_of_Conduct/U4C_Building_Committee|Read more on Meta-Wiki]]'''. Best regards,<br /><section end="announcement-content" /> </div> [[User:Xeno (WMF)|Xeno (WMF)]] 19:01, 26 Moranang 2023 (UTC) <!-- Message sent by User:Xeno (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=24941045 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Selection of the U4C Building Committee</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> The next stage in the Universal Code of Conduct process is establishing a Building Committee to create the charter for the Universal Code of Conduct Coordinating Committee (U4C). The Building Committee has been selected. [[m:Special:MyLanguage/Universal_Code_of_Conduct/U4C_Building_Committee|Read about the members and the work ahead on Meta-wiki]].<section end="announcement-content" /> </div> -- [[m:Special:MyLanguage/Universal_Code_of_Conduct/Project|UCoC Project Team]], 04:21, 27 Motsheganong 2023 (UTC) <!-- Message sent by User:RamzyM (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=25018085 --> == Setswana Wiktionary Edit-a-thon == Hello i'm planning Setswana Wiktionary training in Botswana i'm writing here inviting anyone intrested in participating or helping me with this project, if you are intrested in helping me with this project kindly email me or notify me on my talk page i will contact you. Best regards [[Modirisi:Rebel Agent|Rebel Agent]] ([[Puisano ya modirisi:Rebel Agent|talk]]) 06:12, 8 Seetebosigo 2023 (UTC) == Admin Renewal == Hello everyone, i would like to continue as an Admin and interface Admin here as well as i try to build and improve the Setswana projects, thank you. [[Modirisi:Rebel Agent|Rebel Agent]] ([[Puisano ya modirisi:Rebel Agent|talk]]) 05:13, 11 Seetebosigo 2023 (UTC) == <span lang="en" dir="ltr" class="mw-content-ltr"> Announcing the new Elections Committee members</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Wikimedia Foundation elections committee/Nominatons/2023/Announcement - new members|You can find this message translated into additional languages on Meta-wiki.]]'' :''<div class="plainlinks">[[m:Special:MyLanguage/Wikimedia Foundation elections committee/Nominatons/2023/Announcement - new members|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Wikimedia Foundation elections committee/Nominatons/2023/Announcement - new members}}&language=&action=page&filter= {{int:please-translate}}]</div>'' Hello there, We are glad to announce [[listarchive:list/wikimedia-l@lists.wikimedia.org/message/4TALOUFPAP2VDBR27GKRVOP7IGQYU3DB/|the new members and advisors of the Elections Committee]]. The [[m:Special:MyLanguage/Wikimedia_Foundation_elections_committee|Elections Committee]] assists with the design and implementation of the process to select Community- and Affiliate-Selected trustees for the Wikimedia Foundation Board of Trustees. After an open nomination process, the strongest candidates spoke with the Board and four candidates were asked to join the Elections Committee. Four other candidates were asked to participate as advisors. Thank you to all the community members who submitted their names for consideration. We look forward to working with the Elections Committee in the near future. On behalf of the Wikimedia Foundation Board of Trustees,<br /><section end="announcement-content" /> </div> [[m:User:RamzyM (WMF)|RamzyM (WMF)]] 18:00, 28 Seetebosigo 2023 (UTC) <!-- Message sent by User:RamzyM (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=25018085 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Review the Charter for the Universal Code of Conduct Coordinating Committee</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''<div class="plainlinks">[[m:Special:MyLanguage/Universal Code of Conduct/U4C Building Committee/Announcement - Review|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Universal Code of Conduct/U4C Building Committee/Announcement - Review}}&language=&action=page&filter= {{int:please-translate}}]</div>'' Hello all, I am pleased to share the next step in the [[foundation:Special:MyLanguage/Policy:Universal Code of Conduct|Universal Code of Conduct]] work. The [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Charter|Universal Code of Conduct Coordinating Committee (U4C) draft charter]] is now ready for your review. The [[foundation:Special:MyLanguage/Policy:Universal Code of Conduct/Enforcement guidelines|Enforcement Guidelines]] require a [[foundation:Special:MyLanguage/Policy:Universal_Code_of_Conduct/Enforcement_guidelines#4.5_U4C_Building_Committee|Building Committee]] form to draft a charter that outlines procedures and details for a global committee to be called the [[foundation:Special:MyLanguage/Policy:Universal_Code_of_Conduct/Enforcement_guidelines#4._UCoC_Coordinating_Committee_(U4C)|Universal Code of Conduct Coordinating Committee (U4C)]]. Over the past few months, the U4C Building Committee worked together as a group to discuss and draft the U4C charter. The U4C Building Committee welcomes feedback about the draft charter now through 22 September 2023. After that date, the U4C Building Committee will revise the charter as needed and a community vote will open shortly afterward. Join the conversation during the [[m:Special:MyLanguage/Universal Code of Conduct/U4C Building Committee#Conversation hours|conversation hours]] or on [[m:Talk:Universal Code of Conduct/Coordinating Committee/Charter|Meta-wiki]]. Best,<br /><section end="announcement-content" /> </div> [[m:User:RamzyM (WMF)|RamzyM (WMF)]], on behalf of the U4C Building Committee, 15:36, 28 Phatwe 2023 (UTC) <!-- Message sent by User:RamzyM (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=25392152 --> == <span lang="en" dir="ltr" class="mw-content-ltr">== Opportunities open for the Affiliations Committee, Ombuds commission, and the Case Review Committee ==</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> <div style="margin:.2em 0 .5em;margin-{{#switch:{{PAGELANGUAGE}}|ar|arc|ary|arz|azb|bcc|bgn|ckb|bqi|dv|fa|fa-af|glk|ha-arab|he|kk-arab|kk-cn|ks|ku-arab|ms-arab|mzn|pnb|prd|ps|sd|ug|ur|ydd|yi=right|left}}:3ex;"> [[m:Special:MyLanguage/Wikimedia Foundation Legal department/Committee appointments/Announcement/Short|''You can find this message translated into additional languages on Meta-wiki.'']] ''<span class="plainlinks">[[m:Special:MyLanguage/Wikimedia Foundation Legal department/Committee appointments/Announcement/Short|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Wikimedia Foundation Legal department/Committee appointments/Announcement/Short}}&language=&action=page&filter= {{int:please-translate}}]</span>''</div> Hi everyone! The [[m:Special:MyLanguage/Affiliations Committee|Affiliations Committee]] (AffCom), [[m:Special:MyLanguage/Ombuds_commission|Ombuds commission]] (OC), and the [[m:Special:MyLanguage/Trust_and_Safety/Case_Review_Committee|Case Review Committee]] (CRC) are looking for new members. These volunteer groups provide important structural and oversight support for the community and movement. People are encouraged to nominate themselves or encourage others they feel would contribute to these groups to apply. There is more information about the roles of the groups, the skills needed, and the opportunity to apply on the [[m:Special:MyLanguage/Wikimedia Foundation Legal department/Committee appointments|'''Meta-wiki page''']]. On behalf of the Committee Support team,<br /><section end="announcement-content" /> </div> <div lang="en" dir="ltr" class="mw-content-ltr"> ~ [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) 16:42, 9 Phalane 2023 (UTC) </div> <!-- Message sent by User:Keegan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=25570445 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Review and comment on the 2024 Wikimedia Foundation Board of Trustees selection rules package</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/wiki/Wikimedia Foundation elections/2024/Announcement/Rules package review - short| You can find this message translated into additional languages on Meta-wiki.]]'' :''<div class="plainlinks">[[m:Special:MyLanguage/wiki/Wikimedia Foundation elections/2024/Announcement/Rules package review - short|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:wiki/Wikimedia Foundation elections/2024/Announcement/Rules package review - short}}&language=&action=page&filter= {{int:please-translate}}]</div>'' Dear all, Please review and comment on the Wikimedia Foundation Board of Trustees selection rules package from now until 29 October 2023. The selection rules package was based on older versions by the Elections Committee and will be used in the 2024 Board of Trustees selection. Providing your comments now will help them provide a smoother, better Board selection process. [[m:Special:MyLanguage/Wikimedia Foundation elections/2024|More on the Meta-wiki page]]. Best, Katie Chan <br> Chair of the Elections Committee<br /><section end="announcement-content" /> </div> 01:13, 17 Phalane 2023 (UTC) <!-- Message sent by User:RamzyM (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=25570445 --> == The Vector 2022 skin as the default in three weeks? == <div lang="en" dir="ltr" class="mw-content-ltr"> ''[[mw:Special:MyLanguage/Reading/Web/Desktop Improvements/Updates/2023-10 for sister projects|Read this in your language]] • <span class=plainlinks>[https://mediawiki.org/w/index.php?title=Special:Translate&group=page-Reading%2FWeb%2FDesktop+Improvements%2FUpdates%2F2023-10+for+sister+projects&language=&action=page&filter= {{Int:please-translate}}]</span> • Please tell other users about these changes'' Hello. I'm writing on behalf of the [[mw:Reading/Web|Wikimedia Foundation Web team]]. '''In two weeks, we would like to make the Vector 2022 skin the default on this wiki.''' [[File:Desktop Improvements - how to enable globally.png|thumb|[[Special:GlobalPreferences|{{int:globalpreferences}}]]]] '''If you prefer keeping the current skin''' select "Vector legacy (2010)" on [[Special:GlobalPreferences#mw-prefsection-rendering|the appearance tab of the global preferences]] and save the change. We encourage you to give the new skin a try, though. Since I last came to you with this question, many things have changed. The skin is now the default on most Wikipedias, and all logos are done! We have also made some tweaks in the skin itself. Below is the text I've sent to you once, but I'm sending it again, just slightly edited, for those who haven't seen it. If you know what this is about, jump straight to the section "Our plan": <div style="margin-left:.5em; border-left:3px dotted #a2a9b1; padding-left:.5em;"> It would become the default for all logged-out users, and also all logged-in users who currently use Vector legacy as a [[Special:Preferences#mw-prefsection-rendering|local]] (but not global) preference. Logged-in users can at any time switch to any other skin. No changes are expected for these skins. <div style="width:100%; margin:auto;"><gallery widths="250" heights="180" mode="packed" caption="Top of an article"> Screenshot Historia da moeda do Tíbet - 2022-09-22 - Vector 2010 top.png|Vector legacy (current default) Screenshot Historia da moeda do Tíbet - 2022-09-22 - Vector 2022 top.png|Vector 2022 </gallery><gallery widths="250" heights="180" mode="packed" caption="A section of an article"> Screenshot Historia da moeda do Tíbet - 2022-09-22 - Vector 2010 scrolled.png|Vector legacy (current default) Screenshot Historia da moeda do Tíbet - 2022-09-22 - Vector 2022 scrolled.png|Vector 2022 </gallery></div> === About the skin === [[File:Wikimania 2022 Vector (2022) Presentation.pdf|thumb|Slides to our Wikimania 2022 presentation. [https://www.youtube.com/watch?v=yC-ItaXDe2A You may also listen to the recording on YouTube (in English)].]] '''[Why is a change necessary]''' When the current default skin was created, it reflected the needs of the readers and editors as these were 14 years ago. Since then, new users have begun using the Internet and Wikimedia projects in different ways. [[wmfblog:2022/08/18/prioritizing-equity-within-wikipedias-new-desktop/|The old Vector does not meet their needs]]. '''[Objective]''' The objective for the Vector 2022 skin is to make the interface more welcoming and comfortable for readers and useful for advanced users. It introduces a series of changes that aim to improve problems new and existing readers and editors were having with the old skin. It draws inspiration from previous user requests, the [[metawiki:Special:MyLanguage/Community_Wishlist_Survey|Community Wishlist Surveys]], and gadgets and scripts. The work helped our code follow the standards and improve all other skins. [[phab:phame/post/view/290/how_and_why_we_moved_our_skins_to_mustache/|The PHP code in the other available skins has been reduced by 75%]]. The project has also focused on making it easier to support gadgets and use APIs. [[File:Screenshot of the Vector-2022 skin's fullscreen toggle.png|thumb]] '''[Changes in a nutshell]''' The skin introduces changes that improve readability and usability. The new skin does not remove any functionality currently available on the Vector skin. * The limited width and pin-able menus allow to adjust the interface to the screen size, and focus on editing or reading. Logged-in and logged-out users may use a toggle button to keep the full width, though. * The sticky header makes it easier to find tools that editors use often. It decreases scrolling to the top of the page by 16%. * The new table of contents makes it easier to navigate to different sections. Readers and editors jump to different sections of the page 50% more than with the old table of contents. It also looks a bit different on talk pages. * The new search bar is easier to find and makes it easier to find the correct search result from the list. This increased the amount of searches started by 30% on the tested wikis. * The skin does not negatively affect pageviews, edit rates, or account creation. There is evidence of increases in pageviews and account creation across partner communities. '''[Customize this skin]''' It's possible to configure and personalize our changes. We support volunteers who create new gadgets and user scripts. Check out [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements/Repository|the repository]] for a list of currently available customizations and changes, or add your own. </div> === Our plan === '''If no large concerns are raised, we plan on deploying on 14 November'''. If you'd like to ask our team anything, if you have questions, concerns, or additional thoughts, please comment in any language. If this is the first comment to my message, make sure to ping me. We will gladly answer! Also, check out [[mw:Reading/Web/Desktop Improvements/Frequently asked questions|our FAQ]]. Thank you! [[User:SGrabarczuk (WMF)|SGrabarczuk (WMF)]] ([[User talk:SGrabarczuk (WMF)|<span class="signature-talk">bua</span>]]) 01:09, 26 Phalane 2023 (UTC) </div> <!-- Message sent by User:SGrabarczuk (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:SGrabarczuk_(WMF)/sandbox/MM/Varia&oldid=25791651 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Vote on the Charter for the Universal Code of Conduct Coordinating Committee</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/wiki/Universal Code of Conduct/Coordinating Committee/Charter/Announcement - voting opens|You can find this message translated into additional languages on Meta-wiki.]] [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:wiki/Universal Code of Conduct/Coordinating Committee/Charter/Announcement - voting opens}}&language=&action=page&filter= {{int:please-translate}}]'' Hello all, I am reaching out to you today to announce that the voting period for the [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee|Universal Code of Conduct Coordinating Committee]] (U4C) Charter is now open. Community members may [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Charter/Voter_information|cast their vote and provide comments about the charter via SecurePoll]] now through '''2 February 2024'''. Those of you who voiced your opinions during the development of the [[foundation:Special:MyLanguage/Policy:Universal_Code_of_Conduct/Enforcement_guidelines|UCoC Enforcement Guidelines]] will find this process familiar. The [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Charter|current version of the U4C Charter]] is on Meta-wiki with translations available. Read the charter, go vote and share this note with others in your community. I can confidently say the U4C Building Committee looks forward to your participation. On behalf of the UCoC Project team,<section end="announcement-content" /> </div> [[m:User:RamzyM (WMF)|RamzyM (WMF)]] 18:09, 19 Firikgong 2024 (UTC) <!-- Message sent by User:RamzyM (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=25853527 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Last days to vote on the Charter for the Universal Code of Conduct Coordinating Committee</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/wiki/Universal Code of Conduct/Coordinating Committee/Charter/Announcement - voting reminder|You can find this message translated into additional languages on Meta-wiki.]] [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:wiki/Universal Code of Conduct/Coordinating Committee/Charter/Announcement - voting reminder}}&language=&action=page&filter= {{int:please-translate}}]'' Hello all, I am reaching out to you today to remind you that the voting period for the [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee|Universal Code of Conduct Coordinating Committee]] (U4C) charter will close on '''2 February 2024'''. Community members may [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Charter/Voter_information|cast their vote and provide comments about the charter via SecurePoll]]. Those of you who voiced your opinions during the development of the [[foundation:Special:MyLanguage/Policy:Universal_Code_of_Conduct/Enforcement_guidelines|UCoC Enforcement Guidelines]] will find this process familiar. The [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Charter|current version of the U4C charter]] is on Meta-wiki with translations available. Read the charter, go vote and share this note with others in your community. I can confidently say the U4C Building Committee looks forward to your participation. On behalf of the UCoC Project team,<section end="announcement-content" /> </div> [[m:User:RamzyM (WMF)|RamzyM (WMF)]] 17:01, 31 Firikgong 2024 (UTC) <!-- Message sent by User:RamzyM (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=25853527 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Announcing the results of the UCoC Coordinating Committee Charter ratification vote</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/wiki/Universal Code of Conduct/Coordinating Committee/Charter/Announcement - results|You can find this message translated into additional languages on Meta-wiki.]] [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:wiki/Universal Code of Conduct/Coordinating Committee/Charter/Announcement - results}}&language=&action=page&filter= {{int:please-translate}}]'' Dear all, Thank you everyone for following the progress of the Universal Code of Conduct. I am writing to you today to announce the outcome of the [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Charter/Voter_information|ratification vote]] on the [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Charter|Universal Code of Conduct Coordinating Committee Charter]]. 1746 contributors voted in this ratification vote with 1249 voters supporting the Charter and 420 voters not. The ratification vote process allowed for voters to provide comments about the Charter. A report of voting statistics and a summary of voter comments will be published on Meta-wiki in the coming weeks. Please look forward to hearing about the next steps soon. On behalf of the UCoC Project team,<section end="announcement-content" /> </div> [[m:User:RamzyM (WMF)|RamzyM (WMF)]] 18:24, 12 Tlhakole 2024 (UTC) <!-- Message sent by User:RamzyM (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=26160150 --> == <span lang="en" dir="ltr" class="mw-content-ltr"> Report of the U4C Charter ratification and U4C Call for Candidates now available</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Election/2024/Announcement – call for candidates| You can find this message translated into additional languages on Meta-wiki.]] [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Universal Code of Conduct/Coordinating Committee/Election/2024/Announcement – call for candidates}}&language=&action=page&filter= {{int:please-translate}}]'' Hello all, I am writing to you today with two important pieces of information. First, the [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Charter/Vote results|report of the comments from the Universal Code of Conduct Coordinating Committee (U4C) Charter ratification]] is now available. Secondly, the call for candidates for the U4C is open now through April 1, 2024. The [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee|Universal Code of Conduct Coordinating Committee]] (U4C) is a global group dedicated to providing an equitable and consistent implementation of the UCoC. Community members are invited to submit their applications for the U4C. For more information and the responsibilities of the U4C, please [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Charter|review the U4C Charter]]. Per the charter, there are 16 seats on the U4C: eight community-at-large seats and eight regional seats to ensure the U4C represents the diversity of the movement. Read more and submit your application on [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Election/2024|Meta-wiki]]. On behalf of the UCoC project team,<section end="announcement-content" /> </div> [[m:User:RamzyM (WMF)|RamzyM (WMF)]] 16:26, 5 Mopitlo 2024 (UTC) <!-- Message sent by User:RamzyM (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=26276337 --> == <span lang="en" dir="ltr" class="mw-content-ltr"> Wikimedia Foundation Board of Trustees 2024 Selection</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> : ''[[m:Special:MyLanguage/Wikimedia Foundation elections/2024/Announcement/Selection announcement| You can find this message translated into additional languages on Meta-wiki.]]'' : ''<div class="plainlinks">[[m:Special:MyLanguage/Wikimedia Foundation elections/2024/Announcement/Selection announcement|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Wikimedia Foundation elections/2024/Announcement/Selection announcement}}&language=&action=page&filter= {{int:please-translate}}]</div>'' Dear all, This year, the term of 4 (four) Community- and Affiliate-selected Trustees on the Wikimedia Foundation Board of Trustees will come to an end [1]. The Board invites the whole movement to participate in this year’s selection process and vote to fill those seats. The [[m:Special:MyLanguage/Wikimedia Foundation elections committee|Elections Committee]] will oversee this process with support from Foundation staff [2]. The Board Governance Committee created a Board Selection Working Group from Trustees who cannot be candidates in the 2024 community- and affiliate-selected trustee selection process composed of Dariusz Jemielniak, Nataliia Tymkiv, Esra'a Al Shafei, Kathy Collins, and Shani Evenstein Sigalov [3]. The group is tasked with providing Board oversight for the 2024 trustee selection process, and for keeping the Board informed. More details on the roles of the Elections Committee, Board, and staff are here [4]. Here are the key planned dates: * May 2024: Call for candidates and call for questions * June 2024: Affiliates vote to shortlist 12 candidates (no shortlisting if 15 or less candidates apply) [5] * June-August 2024: Campaign period * End of August / beginning of September 2024: Two-week community voting period * October–November 2024: Background check of selected candidates * Board's Meeting in December 2024: New trustees seated Learn more about the 2024 selection process - including the detailed timeline, the candidacy process, the campaign rules, and the voter eligibility criteria - on [[m:Special:MyLanguage/Wikimedia Foundation elections/2024|this Meta-wiki page]], and make your plan. '''Election Volunteers''' Another way to be involved with the 2024 selection process is to be an Election Volunteer. Election Volunteers are a bridge between the Elections Committee and their respective community. They help ensure their community is represented and mobilize them to vote. Learn more about the program and how to join on this [[m:Special:MyLanguage/Wikimedia Foundation elections/2024/Election Volunteers|Meta-wiki page]]. Best regards, [[m:Special:MyLanguage/User:Pundit|Dariusz Jemielniak]] (Governance Committee Chair, Board Selection Working Group) [1] https://meta.wikimedia.org/wiki/Special:MyLanguage/Wikimedia_Foundation_elections/2021/Results#Elected [2] https://foundation.wikimedia.org/wiki/Committee:Elections_Committee_Charter [3] https://foundation.wikimedia.org/wiki/Minutes:2023-08-15#Governance_Committee [4] https://meta.wikimedia.org/wiki/Wikimedia_Foundation_elections_committee/Roles [5] Even though the ideal number is 12 candidates for 4 open seats, the shortlisting process will be triggered if there are more than 15 candidates because the 1-3 candidates that are removed might feel ostracized and it would be a lot of work for affiliates to carry out the shortlisting process to only eliminate 1-3 candidates from the candidate list.<section end="announcement-content" /> </div> [[User:MPossoupe_(WMF)|MPossoupe_(WMF)]]19:58, 12 Mopitlo 2024 (UTC) <!-- Message sent by User:MPossoupe (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=26349432 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Vote now to select members of the first U4C</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Election/2024/Announcement – vote opens|You can find this message translated into additional languages on Meta-wiki.]] [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Universal Code of Conduct/Coordinating Committee/Election/2024/Announcement – vote opens}}&language=&action=page&filter= {{int:please-translate}}]'' Dear all, I am writing to you to let you know the voting period for the Universal Code of Conduct Coordinating Committee (U4C) is open now through May 9, 2024. Read the information on the [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Election/2024|voting page on Meta-wiki]] to learn more about voting and voter eligibility. The Universal Code of Conduct Coordinating Committee (U4C) is a global group dedicated to providing an equitable and consistent implementation of the UCoC. Community members were invited to submit their applications for the U4C. For more information and the responsibilities of the U4C, please [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Charter|review the U4C Charter]]. Please share this message with members of your community so they can participate as well. On behalf of the UCoC project team,<section end="announcement-content" /> </div> [[m:User:RamzyM (WMF)|RamzyM (WMF)]] 20:21, 25 Moranang 2024 (UTC) <!-- Message sent by User:RamzyM (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=26390244 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Sign up for the language community meeting on May 31st, 16:00 UTC</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="message"/>Hello all, The next language community meeting is scheduled in a few weeks - May 31st at 16:00 UTC. If you're interested, you can [https://www.mediawiki.org/w/index.php?title=Wikimedia_Language_engineering/Community_meetings#31_May_2024 sign up on this wiki page]. This is a participant-driven meeting, where we share language-specific updates related to various projects, collectively discuss technical issues related to language wikis, and work together to find possible solutions. For example, in the last meeting, the topics included the machine translation service (MinT) and the languages and models it currently supports, localization efforts from the Kiwix team, and technical challenges with numerical sorting in files used on Bengali Wikisource. Do you have any ideas for topics to share technical updates related to your project? Any problems that you would like to bring for discussion during the meeting? Do you need interpretation support from English to another language? Please reach out to me at ssethi(__AT__)wikimedia.org and [[etherpad:p/language-community-meeting-may-2024|add agenda items to the document here]]. We look forward to your participation! <section end="message"/> </div> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:23, 14 Motsheganong 2024 (UTC) <!-- Message sent by User:SSethi (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=26390244 --> == <span lang="en" dir="ltr" class="mw-content-ltr"> Feedback invited on Procedure for Sibling Project Lifecycle</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Wikimedia Foundation Community Affairs Committee/Procedure for Sibling Project Lifecycle/Invitation for feedback (MM)|You can find this message translated into additional languages on Meta-wiki.]] [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Wikimedia Foundation Community Affairs Committee/Procedure for Sibling Project Lifecycle/Invitation for feedback (MM)}}&language=&action=page&filter= {{int:please-translate}}]'' [[File:Sibling Project Lifecycle Conversation 3.png|150px|right|link=:m:Special:MyLanguage/Wikimedia Foundation Community Affairs Committee/Procedure for Sibling Project Lifecycle]] Dear community members, The [[:m:Special:MyLanguage/Wikimedia Foundation Community Affairs Committee|Community Affairs Committee]] (CAC) of the [[:m:Special:MyLanguage/Wikimedia Foundation Board of Trustees|Wikimedia Foundation Board of Trustees]] invites you to give feedback on a '''[[:m:Special:MyLanguage/Wikimedia Foundation Community Affairs Committee/Procedure for Sibling Project Lifecycle|draft Procedure for Sibling Project Lifecycle]]'''. This draft Procedure outlines proposed steps and requirements for opening and closing Wikimedia Sibling Projects, and aims to ensure any newly approved projects are set up for success. This is separate from the procedures for opening or closing language versions of projects, which is handled by the [[:m:Special:MyLanguage/Language committee|Language Committee]] or [[m:Special:MyLanguage/Closing_projects_policy|closing projects policy]]. You can find the details on [[:m:Special:MyLanguage/Talk:Wikimedia Foundation Community Affairs Committee/Procedure for Sibling Project Lifecycle#Review|this page]], as well as the ways to give your feedback from today until the end of the day on '''June 23, 2024''', anywhere on Earth. You can also share information about this with the interested project communities you work with or support, and you can also help us translate the procedure into more languages, so people can join the discussions in their own language. On behalf of the CAC,<section end="announcement-content" /> </div> [[m:User:RamzyM (WMF)|RamzyM (WMF)]] 02:26, 22 Motsheganong 2024 (UTC) <!-- Message sent by User:RamzyM (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=26390244 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Announcing the first Universal Code of Conduct Coordinating Committee</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Election/2024/Announcement – results|You can find this message translated into additional languages on Meta-wiki.]] [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Universal Code of Conduct/Coordinating Committee/Election/2024/Announcement – results}}&language=&action=page&filter= {{int:please-translate}}]'' Hello, The scrutineers have finished reviewing the vote results. We are following up with the results of the first [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Election/2024|Universal Code of Conduct Coordinating Committee (U4C) election]]. We are pleased to announce the following individuals as regional members of the U4C, who will fulfill a two-year term: * North America (USA and Canada) ** – * Northern and Western Europe ** [[m:Special:MyLanguage/User:Ghilt|Ghilt]] * Latin America and Caribbean ** – * Central and East Europe (CEE) ** — * Sub-Saharan Africa ** – * Middle East and North Africa ** [[m:Special:MyLanguage/User:Ibrahim.ID|Ibrahim.ID]] * East, South East Asia and Pacific (ESEAP) ** [[m:Special:MyLanguage/User:0xDeadbeef|0xDeadbeef]] * South Asia ** – The following individuals are elected to be community-at-large members of the U4C, fulfilling a one-year term: * [[m:Special:MyLanguage/User:Barkeep49|Barkeep49]] * [[m:Special:MyLanguage/User:Superpes15|Superpes15]] * [[m:Special:MyLanguage/User:Civvì|Civvì]] * [[m:Special:MyLanguage/User:Luke081515|Luke081515]] * – * – * – * – Thank you again to everyone who participated in this process and much appreciation to the candidates for your leadership and dedication to the Wikimedia movement and community. Over the next few weeks, the U4C will begin meeting and planning the 2024-25 year in supporting the implementation and review of the UCoC and Enforcement Guidelines. Follow their work on [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee|Meta-wiki]]. On behalf of the UCoC project team,<section end="announcement-content" /> </div> [[m:User:RamzyM (WMF)|RamzyM (WMF)]] 08:15, 3 Seetebosigo 2024 (UTC) <!-- Message sent by User:RamzyM (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=26390244 --> == <span lang="en" dir="ltr" class="mw-content-ltr">The final text of the Wikimedia Movement Charter is now on Meta</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Announcement - Final draft available|You can find this message translated into additional languages on Meta-wiki.]] [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Movement Charter/Drafting Committee/Announcement - Final draft available}}&language=&action=page&filter= {{int:please-translate}}]'' Hi everyone, The final text of the [[m:Special:MyLanguage/Movement Charter|Wikimedia Movement Charter]] is now up on Meta in more than 20 languages for your reading. '''What is the Wikimedia Movement Charter?''' The Wikimedia Movement Charter is a proposed document to define roles and responsibilities for all the members and entities of the Wikimedia movement, including the creation of a new body – the Global Council – for movement governance. '''Join the Wikimedia Movement Charter “Launch Party”''' Join the [[m:Special:MyLanguage/Event:Movement Charter Launch Party|“Launch Party”]] on '''June 20, 2024''' at '''14.00-15.00 UTC''' ([https://zonestamp.toolforge.org/1718892000 your local time]). During this call, we will celebrate the release of the final Charter and present the content of the Charter. Join and learn about the Charter before casting your vote. '''Movement Charter ratification vote''' Voting will commence on SecurePoll on '''June 25, 2024''' at '''00:01 UTC''' and will conclude on '''July 9, 2024''' at '''23:59 UTC.''' You can read more about the [[m:Special:MyLanguage/Movement Charter/Ratification/Voting|voting process, eligibility criteria, and other details]] on Meta. If you have any questions, please leave a comment on the [[m:Special:MyLanguage/Talk:Movement Charter|Meta talk page]] or email the MCDC at [mailto:mcdc@wikimedia.org mcdc@wikimedia.org]. On behalf of the MCDC,<section end="announcement-content" /> </div> [[m:User:RamzyM (WMF)|RamzyM (WMF)]] 08:45, 11 Seetebosigo 2024 (UTC) <!-- Message sent by User:RamzyM (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=26390244 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Voting to ratify the Wikimedia Movement Charter is now open – cast your vote</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Announcement - Ratification vote opens|You can find this message translated into additional languages on Meta-wiki.]] [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Movement Charter/Drafting Committee/Announcement - Ratification vote opens}}&language=&action=page&filter= {{int:please-translate}}]'' Hello everyone, The voting to ratify the [[m:Special:MyLanguage/Movement Charter|'''Wikimedia Movement Charter''']] is now open. The Wikimedia Movement Charter is a document to define roles and responsibilities for all the members and entities of the Wikimedia movement, including the creation of a new body – the Global Council – for movement governance. The final version of the Wikimedia Movement Charter is [[m:Special:MyLanguage/Movement Charter|available on Meta in different languages]] and attached [https://commons.wikimedia.org/wiki/File:Wikimedia_Movement_Charter_(June_2024).pdf here in PDF format] for your reading. Voting commenced on SecurePoll on '''June 25, 2024''' at '''00:01 UTC''' and will conclude on '''July 9, 2024''' at '''23:59 UTC'''. Please read more on the [[m:Special:MyLanguage/Movement Charter/Ratification/Voting|voter information and eligibility details]]. After reading the Charter, please [[Special:SecurePoll/vote/398|'''vote here''']] and share this note further. If you have any questions about the ratification vote, please contact the Charter Electoral Commission at [mailto:cec@wikimedia.org '''cec@wikimedia.org''']. On behalf of the CEC,<section end="announcement-content" /> </div> [[m:User:RamzyM (WMF)|RamzyM (WMF)]] 10:52, 25 Seetebosigo 2024 (UTC) <!-- Message sent by User:RamzyM (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=26989444 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Voting to ratify the Wikimedia Movement Charter is ending soon</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Announcement - Final reminder|You can find this message translated into additional languages on Meta-wiki.]] [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Movement Charter/Drafting Committee/Announcement - Final reminder}}&language=&action=page&filter= {{int:please-translate}}]'' Hello everyone, This is a kind reminder that the voting period to ratify the [[m:Special:MyLanguage/Movement Charter|Wikimedia Movement Charter]] will be closed on '''July 9, 2024''', at '''23:59 UTC'''. If you have not voted yet, please vote [[m:Special:SecurePoll/vote/398|on SecurePoll]]. On behalf of the [[m:Special:MyLanguage/Movement_Charter/Ratification/Voting#Electoral_Commission|Charter Electoral Commission]],<section end="announcement-content" /> </div> [[m:User:RamzyM (WMF)|RamzyM (WMF)]] 03:46, 8 Phukwi 2024 (UTC) <!-- Message sent by User:RamzyM (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=26989444 --> == <span lang="en" dir="ltr" class="mw-content-ltr">U4C Special Election - Call for Candidates</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Election/2024 Special Election/Announcement – call for candidates|You can find this message translated into additional languages on Meta-wiki.]] [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Universal Code of Conduct/Coordinating Committee/Election/2024 Special Election/Announcement – call for candidates}}&language=&action=page&filter= {{int:please-translate}}]'' Hello all, A special election has been called to fill additional vacancies on the U4C. The call for candidates phase is open from now through July 19, 2024. The [[:m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee|Universal Code of Conduct Coordinating Committee]] (U4C) is a global group dedicated to providing an equitable and consistent implementation of the [[:foundation:Wikimedia Foundation Universal Code of Conduct|UCoC]]. Community members are invited to submit their applications in the special election for the U4C. For more information and the responsibilities of the U4C, please review the [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Charter|U4C Charter]]. In this special election, according to [[Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Charter#2. Elections and Terms|chapter 2 of the U4C charter]], there are 9 seats available on the U4C: '''four''' community-at-large seats and '''five''' regional seats to ensure the U4C represents the diversity of the movement. [[Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Charter#5. Glossary|No more than two members of the U4C can be elected from the same home wiki]]. Therefore, candidates must not have English Wikipedia, German Wikipedia, or Italian Wikipedia as their home wiki. Read more and submit your application on [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Election/2024 Special Election|Meta-wiki]]. In cooperation with the U4C,<section end="announcement-content" /> </div> -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) 00:03, 10 Phukwi 2024 (UTC) <!-- Message sent by User:Keegan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=26989444 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Wikimedia Movement Charter ratification voting results</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Announcement - Results of the ratification vote|You can find this message translated into additional languages on Meta-wiki.]] [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Movement Charter/Drafting Committee/Announcement - Results of the ratification vote}}&language=&action=page&filter= {{int:please-translate}}]'' Hello everyone, After carefully tallying both individual and affiliate votes, the [[m:Special:MyLanguage/Movement Charter/Ratification/Voting#Electoral Commission|Charter Electoral Commission]] is pleased to announce the final results of the Wikimedia Movement Charter voting.   As [[m:Special:MyLanguage/Talk:Movement Charter#Thank you for your participation in the Movement Charter ratification vote!|communicated]] by the Charter Electoral Commission, we reached the quorum for both Affiliate and individual votes by the time the vote closed on '''July 9, 23:59 UTC'''. We thank all 2,451 individuals and 129 Affiliate representatives who voted in the ratification process. Your votes and comments are invaluable for the future steps in Movement Strategy. The final results of the [[m:Special:MyLanguage/Movement Charter|Wikimedia Movement Charter]] ratification voting held between 25 June and 9 July 2024 are as follows: '''Individual vote:''' Out of 2,451 individuals who voted as of July 9 23:59 (UTC), 2,446 have been accepted as valid votes. Among these, '''1,710''' voted “yes”; '''623''' voted “no”; and '''113''' selected “–” (neutral). Because the neutral votes don’t count towards the total number of votes cast, 73.30% voted to approve the Charter (1710/2333), while 26.70% voted to reject the Charter (623/2333). '''Affiliates vote:''' Out of 129 Affiliates designated voters who voted as of July 9 23:59 (UTC), 129 votes are confirmed as valid votes. Among these, '''93''' voted “yes”; '''18''' voted “no”; and '''18''' selected “–” (neutral). Because the neutral votes don’t count towards the total number of votes cast, 83.78% voted to approve the Charter (93/111), while 16.22% voted to reject the Charter (18/111). '''Board of Trustees of the Wikimedia Foundation:''' The Wikimedia Foundation Board of Trustees voted '''not to ratify''' the proposed Charter during their special Board meeting on July 8, 2024. The Chair of the Wikimedia Foundation Board of Trustees, Nataliia Tymkiv, [[m:Special:MyLanguage/Wikimedia_Foundation_Board_noticeboard/Board_resolution_and_vote_on_the_proposed_Movement_Charter|shared the result of the vote, the resolution, meeting minutes and proposed next steps]].   With this, the Wikimedia Movement Charter in its current revision is '''not ratified'''. We thank you for your participation in this important moment in our movement’s governance. The Charter Electoral Commission, [[m:User:Abhinav619|Abhinav619]], [[m:User:Borschts|Borschts]], [[m:User:Iwuala Lucy|Iwuala Lucy]], [[m:User:Tochiprecious|Tochiprecious]], [[m:User:Der-Wir-Ing|Der-Wir-Ing]]<section end="announcement-content" /> </div> [[Modirisi:MediaWiki message delivery|MediaWiki message delivery]] ([[Puisano ya modirisi:MediaWiki message delivery|talk]]) 17:53, 18 Phukwi 2024 (UTC) <!-- Message sent by User:RamzyM (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=26989444 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Vote now to fill vacancies of the first U4C</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Election/2024 Special Election/Announcement – voting opens|You can find this message translated into additional languages on Meta-wiki.]] [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Universal Code of Conduct/Coordinating Committee/Election/2024 Special Election/Announcement – voting opens}}&language=&action=page&filter= {{int:please-translate}}]'' Dear all, I am writing to you to let you know the voting period for the Universal Code of Conduct Coordinating Committee (U4C) is open now through '''August 10, 2024'''. Read the information on the [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Election/2024 Special Election|voting page on Meta-wiki]] to learn more about voting and voter eligibility. The Universal Code of Conduct Coordinating Committee (U4C) is a global group dedicated to providing an equitable and consistent implementation of the UCoC. Community members were invited to submit their applications for the U4C. For more information and the responsibilities of the U4C, please [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Charter|review the U4C Charter]]. Please share this message with members of your community so they can participate as well. In cooperation with the U4C,<section end="announcement-content" /> </div> [[m:User:RamzyM (WMF)|RamzyM (WMF)]] 02:47, 27 Phukwi 2024 (UTC) <!-- Message sent by User:RamzyM (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=26989444 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Reminder! Vote closing soon to fill vacancies of the first U4C</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Election/2024 Special Election/Announcement – reminder to vote|You can find this message translated into additional languages on Meta-wiki.]] [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Universal Code of Conduct/Coordinating Committee/Election/2024 Special Election/Announcement – reminder to vote}}&language=&action=page&filter= {{int:please-translate}}]'' Dear all, The voting period for the Universal Code of Conduct Coordinating Committee (U4C) is closing soon. It is open through 10 August 2024. Read the information on [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2024_Special_Election#Voting|the voting page on Meta-wiki to learn more about voting and voter eligibility]]. If you are eligible to vote and have not voted in this special election, it is important that you vote now. '''Why should you vote?''' The U4C is a global group dedicated to providing an equitable and consistent implementation of the UCoC. Community input into the committee membership is critical to the success of the UCoC. Please share this message with members of your community so they can participate as well. In cooperation with the U4C,<section end="announcement-content" /> </div> -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) 15:31, 6 Phatwe 2024 (UTC) <!-- Message sent by User:Keegan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=27183190 --> == <span lang="en" dir="ltr">Coming soon: A new sub-referencing feature – try it!</span> == <div lang="en" dir="ltr"> <section begin="Sub-referencing"/> [[File:Sub-referencing reuse visual.png|{{#ifeq:{{#dir}}|ltr|right|left}}|400px]] Hello. For many years, community members have requested an easy way to re-use references with different details. Now, a MediaWiki solution is coming: The new sub-referencing feature will work for wikitext and Visual Editor and will enhance the existing reference system. You can continue to use different ways of referencing, but you will probably encounter sub-references in articles written by other users. More information on [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|the project page]]. '''We want your feedback''' to make sure this feature works well for you: * [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing#Test|Please try]] the current state of development on beta wiki and [[m:Talk:WMDE Technical Wishes/Sub-referencing|let us know what you think]]. * [[m:WMDE Technical Wishes/Sub-referencing/Sign-up|Sign up here]] to get updates and/or invites to participate in user research activities. [[m:Special:MyLanguage/Wikimedia Deutschland|Wikimedia Deutschland]]’s [[m:Special:MyLanguage/WMDE Technical Wishes|Technical Wishes]] team is planning to bring this feature to Wikimedia wikis later this year. We will reach out to creators/maintainers of tools and templates related to references beforehand. Please help us spread the message. --[[m:User:Johannes Richter (WMDE)|Johannes Richter (WMDE)]] ([[m:User talk:Johannes Richter (WMDE)|talk]]) 10:36, 19 August 2024 (UTC) <section end="Sub-referencing"/> </div> <!-- Message sent by User:Johannes Richter (WMDE)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Johannes_Richter_(WMDE)/Sub-referencing/massmessage_list&oldid=27309345 --> == Sign up for the language community meeting on August 30th, 15:00 UTC == Hi all, The next language community meeting is scheduled in a few weeks—on August 30th at 15:00 UTC. If you're interested in joining, you can [https://www.mediawiki.org/wiki/Wikimedia_Language_and_Product_Localization/Community_meetings#30_August_2024 sign up on this wiki page]. This participant-driven meeting will focus on sharing language-specific updates related to various projects, discussing technical issues related to language wikis, and working together to find possible solutions. For example, in the last meeting, topics included the Language Converter, the state of language research, updates on the Incubator conversations, and technical challenges around external links not working with special characters on Bengali sites. Do you have any ideas for topics to share technical updates or discuss challenges? Please add agenda items to the document [https://etherpad.wikimedia.org/p/language-community-meeting-aug-2024 here] and reach out to ssethi(__AT__)wikimedia.org. We look forward to your participation! [[Modirisi:MediaWiki message delivery|MediaWiki message delivery]] ([[Puisano ya modirisi:MediaWiki message delivery|talk]]) 23:21, 22 Phatwe 2024 (UTC) <!-- Message sent by User:SSethi (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=27183190 --> == <span lang="en" dir="ltr">Announcing the Universal Code of Conduct Coordinating Committee</span> == <div lang="en" dir="ltr"> <section begin="announcement-content" /> :''[https://lists.wikimedia.org/hyperkitty/list/board-elections@lists.wikimedia.org/thread/OKCCN2CANIH2K7DXJOL2GPVDFWL27R7C/ Original message at wikimedia-l]. [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Election/2024 Special Election/Announcement - results|You can find this message translated into additional languages on Meta-wiki.]] [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Universal Code of Conduct/Coordinating Committee/Election/2024 Special Election/Announcement - results}}&language=&action=page&filter= {{int:please-translate}}]'' Hello all, The scrutineers have finished reviewing the vote and the [[m:Special:MyLanguage/Elections Committee|Elections Committee]] have certified the [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Election/2024 Special Election/Results|results]] for the [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Election/2024 Special Election|Universal Code of Conduct Coordinating Committee (U4C) special election]]. I am pleased to announce the following individual as regional members of the U4C, who will fulfill a term until 15 June 2026: * North America (USA and Canada) ** Ajraddatz The following seats were not filled during this special election: * Latin America and Caribbean * Central and East Europe (CEE) * Sub-Saharan Africa * South Asia * The four remaining Community-At-Large seats Thank you again to everyone who participated in this process and much appreciation to the candidates for your leadership and dedication to the Wikimedia movement and community. Over the next few weeks, the U4C will begin meeting and planning the 2024-25 year in supporting the implementation and review of the UCoC and Enforcement Guidelines. You can follow their work on [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee|Meta-Wiki]]. On behalf of the U4C and the Elections Committee,<section end="announcement-content" /> </div> [[m:User:RamzyM (WMF)|RamzyM (WMF)]] 14:07, 2 Lwetse 2024 (UTC) <!-- Message sent by User:RamzyM (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=27183190 --> == <span lang="en" dir="ltr">Have your say: Vote for the 2024 Board of Trustees!</span> == <div lang="en" dir="ltr"> <section begin="announcement-content" /> Hello all, The voting period for the [[m:Special:MyLanguage/Wikimedia Foundation elections/2024|2024 Board of Trustees election]] is now open. There are twelve (12) candidates running for four (4) seats on the Board. Learn more about the candidates by [[m:Special:MyLanguage/Wikimedia Foundation elections/2024/Candidates|reading their statements]] and their [[m:Special:MyLanguage/Wikimedia_Foundation_elections/2024/Questions_for_candidates|answers to community questions]]. When you are ready, go to the [[Special:SecurePoll/vote/400|SecurePoll]] voting page to vote. '''The vote is open from September 3rd at 00:00 UTC to September 17th at 23:59 UTC'''. To check your voter eligibility, please visit the [[m:Special:MyLanguage/Wikimedia_Foundation_elections/2024/Voter_eligibility_guidelines|voter eligibility page]]. Best regards, The Elections Committee and Board Selection Working Group<section end="announcement-content" /> </div> [[Modirisi:MediaWiki message delivery|MediaWiki message delivery]] ([[Puisano ya modirisi:MediaWiki message delivery|talk]]) 12:15, 3 Lwetse 2024 (UTC) <!-- Message sent by User:RamzyM (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=27183190 --> == 'Wikidata item' link is moving. Find out where... == <div lang="en" dir="ltr" class="mw-content-ltr"><i>Apologies for cross-posting in English. Please consider translating this message.</i>{{tracked|T66315}} Hello everyone, a small change will soon be coming to the user-interface of your Wikimedia project. The [[d:Q16222597|Wikidata item]] [[w:|sitelink]] currently found under the <span style="color: #54595d;"><u>''General''</u></span> section of the '''Tools''' sidebar menu will move into the <span style="color: #54595d;"><u>''In Other Projects''</u></span> section. We would like the Wiki communities feedback so please let us know or ask questions on the [[m:Talk:Wikidata_For_Wikimedia_Projects/Projects/Move_Wikidata_item_link|Discussion page]] before we enable the change which can take place October 4 2024, circa 15:00 UTC+2. More information can be found on [[m:Wikidata_For_Wikimedia_Projects/Projects/Move_Wikidata_item_link|the project page]].<br><br>We welcome your feedback and questions.<br> [[Modirisi:MediaWiki message delivery|MediaWiki message delivery]] ([[Puisano ya modirisi:MediaWiki message delivery|talk]]) 18:58, 27 Lwetse 2024 (UTC) </div> <!-- Message sent by User:Danny Benjafield (WMDE)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Danny_Benjafield_(WMDE)/MassMessage_Test_List&oldid=27524260 --> == <span lang="en" dir="ltr">Preliminary results of the 2024 Wikimedia Foundation Board of Trustees elections</span> == <div lang="en" dir="ltr"> <section begin="announcement-content" /> Hello all, Thank you to everyone who participated in the [[m:Special:MyLanguage/Wikimedia Foundation elections/2024|2024 Wikimedia Foundation Board of Trustees election]]. Close to 6000 community members from more than 180 wiki projects have voted. The following four candidates were the most voted: # [[User:Kritzolina|Christel Steigenberger]] # [[User:Nadzik|Maciej Artur Nadzikiewicz]] # [[User:Victoria|Victoria Doronina]] # [[User:Laurentius|Lorenzo Losa]] While these candidates have been ranked through the vote, they still need to be appointed to the Board of Trustees. They need to pass a successful background check and meet the qualifications outlined in the Bylaws. New trustees will be appointed at the next Board meeting in December 2024. [[m:Special:MyLanguage/Wikimedia_Foundation_elections/2024/Results|Learn more about the results on Meta-Wiki.]] Best regards, The Elections Committee and Board Selection Working Group <section end="announcement-content" /> </div> [[User:MPossoupe_(WMF)|MPossoupe_(WMF)]] 08:27, 14 Phalane 2024 (UTC) <!-- Message sent by User:MPossoupe (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=27183190 --> == <span lang="en" dir="ltr">Seeking volunteers to join several of the movement’s committees</span> == <div lang="en" dir="ltr"> <section begin="announcement-content" /> Each year, typically from October through December, several of the movement’s committees seek new volunteers. Read more about the committees on their Meta-wiki pages: * [[m:Special:MyLanguage/Affiliations_Committee|Affiliations Committee (AffCom)]] * [[m:Special:MyLanguage/Ombuds_commission|Ombuds commission (OC)]] * [[m:Special:MyLanguage/Wikimedia Foundation/Legal/Community Resilience and Sustainability/Trust and Safety/Case Review Committee|Case Review Committee (CRC)]] Applications for the committees open on 16 October 2024. Applications for the Affiliations Committee close on 18 November 2024, and applications for the Ombuds commission and the Case Review Committee close on 2 December 2024. Learn how to apply by [[m:Special:MyLanguage/Wikimedia_Foundation/Legal/Committee_appointments|visiting the appointment page on Meta-wiki]]. Post to the talk page or email [mailto:cst@wikimedia.org cst@wikimedia.org] with any questions you may have. For the Committee Support team, <section end="announcement-content" /> </div> -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) 23:09, 16 Phalane 2024 (UTC) <!-- Message sent by User:Keegan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=27601062 --> == 'Wikidata item' link is moving, finally. == Hello everyone, I previously wrote on the 27th September to advise that the ''Wikidata item'' sitelink will change places in the sidebar menu, moving from the '''General''' section into the '''In Other Projects''' section. The scheduled rollout date of 04.10.2024 was delayed due to a necessary request for Mobile/MinervaNeue skin. I am happy to inform that the global rollout can now proceed and will occur later today, 22.10.2024 at 15:00 UTC-2. [[m:Talk:Wikidata_For_Wikimedia_Projects/Projects/Move_Wikidata_item_link|Please let us know]] if you notice any problems or bugs after this change. There should be no need for null-edits or purging cache for the changes to occur. Kind regards, -[[m:User:Danny Benjafield (WMDE)|Danny Benjafield (WMDE)]] 11:30, 22 Phalane 2024 (UTC) <!-- Message sent by User:Danny Benjafield (WMDE)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Danny_Benjafield_(WMDE)/MassMessage_Test_List&oldid=27535421 --> 4f09e98xkbkpd5d2yjrxrr68gopj2al Tempolete:Softredirect 10 2098 7795 7249 2017-07-20T09:26:11Z JAnDbot 470 Bot: Cleaning up old interwiki links; cosmetic changes 7795 wikitext text/x-wiki [[File:Redirectltr.png|#REDIRECT ]]<span class="redirectText" id="softredirect">[[:{{{1}}}|{{{2|{{{1}}}}}}]]</span><br /><span style="font-size:85%; padding-left:52px;">This page is a [[m:Soft redirect|soft redirect]].</span> <noinclude> </noinclude> myc6wfyo8nq8ca4t4fn3brbtk6mvg43 Phukwi 0 2177 8167 7682 2022-06-28T09:47:04Z Rebel Agent 2678 Added content 8167 wikitext text/x-wiki {{=tn=|}} * Phukwi * Phukwi ke kgwedi ==== Sekai==== * Re ya gae ka phukwi {{-trans-}} * Ka '''Sekgowa''' ke [[July]] * Ka se '''Afrikaans''' ke [[Julie]] * Ka se '''Tamil''' ke [[சூலை]] c7snmbi2kvoeqfn2om7jc772dgzm513 Phatwe 0 2180 8172 8171 2022-06-28T09:56:51Z Rebel Agent 2678 /* Sekai */Fixed typo 8172 wikitext text/x-wiki == Setswana == * Phatwe * Phatwe ke kgwedi ====Sekai==== * Kgwedi ya phatwe * Ke tla go duela ka kgwedi ya phatwe {{-trans-}} * Ka '''Sekgoa''' ke [[August]] * Ka se '''Afrikaans''' ke [[Augustus]] * Ka se '''Tamil''' ke [[ஆகஸ்டு]] g6uiqbh9pbmnr1lx9w2mn24ym3f0fht நான் 0 2215 8189 7768 2022-06-28T10:37:02Z Rebel Agent 2678 Redirected page to [[Ke]] 8189 wikitext text/x-wiki #Redirect [[Ke]] =={{=ta=|}}== # [[ke]] [[Category:Tamil]] 54c71cwplbb9yjbdcy80i97i788kbup Tempolete:=ta= 10 2216 5231 2010-11-16T20:30:09Z Le diable 395 Created page with 'Tamil' 5231 wikitext text/x-wiki Tamil fqp1b3fb659f2h4odyp1o9lfvg7o34f சூலை 0 2217 8183 7767 2022-06-28T10:21:36Z Rebel Agent 2678 Same 8183 wikitext text/x-wiki #Redirect [[Phukwi]] == Tamil == * [[Phukwi]] 8e7elrwlpqq0fwwnm40txg9vfpihhhc அபாயங்கள் 0 2218 7764 5314 2017-04-24T19:07:40Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7764 wikitext text/x-wiki == Tamil == * [[dikotsi]] n3gmx0nqi4n980fl4vq7powekmfh759 MediaWiki:Sitesupport-url 8 2219 6167 6064 2013-02-07T01:42:50Z Pgehres (WMF) 528 Updating sidebar link to use subst:CONTENTLANGUAGE 6167 wikitext text/x-wiki //donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_tn.wiktionary.org&uselang=tn li9nqtiqzjwva76f1lsp7yomb8jkasw Wiktionary:Bots 4 2237 5276 2011-02-22T00:36:27Z Pathoschild 161 [[Wiktionary:Bots]] o sutisediwa kwa go [[Wiktionary:Patlelo ya setšhaba]]: merged into community discussion page. 5276 wikitext text/x-wiki #REDIRECT [[Wiktionary:Patlelo ya setšhaba]] eu5wj0r2rokhws5s28irgp8clj5x6j6 Wiktionary:Bot policy 4 2240 5284 2011-03-15T20:32:35Z Jafeluv 327 Redirected page to [[Wiktionary:Patlelo ya setšhaba]] 5284 wikitext text/x-wiki #REDIRECT [[Wiktionary:Patlelo ya setšhaba]] eu5wj0r2rokhws5s28irgp8clj5x6j6 ஆகஸ்டு 0 2244 8113 7766 2022-06-27T13:45:54Z Rebel Agent 2678 Same thing 8113 wikitext text/x-wiki #Redirect [[Phatwe]] hygf5yabtcswhtpsgllikx8utjyis7j August 0 2245 8114 8108 2022-06-27T13:47:53Z Rebel Agent 2678 Same thing 8114 wikitext text/x-wiki #Redirect [[Phatwe]] == Sekgoa == * August ==Setswana== * [[Phatwe]] * Phatwe ke kgwedi ====Sekai==== * Kgwedi ya phatwe * Ke tla go ruela ka kgwedi ya phatwe [[Category:Sekgoa]] i6s82a1ozffi6kykg3zoatucodz031d Augustus 0 2246 8112 7654 2022-06-27T13:44:57Z Rebel Agent 2678 Same thing 8112 wikitext text/x-wiki #Redirect [[Phatwe]] hygf5yabtcswhtpsgllikx8utjyis7j July 0 2247 8168 7667 2022-06-28T09:48:57Z Rebel Agent 2678 Added redirect to Phukwi because it's the same thing 8168 wikitext text/x-wiki #Redirect [[Phukwi]] == English == * [[Phukwi]] gzmwdakuwb9ps6xm1ryv0yy0jlaw05s Julie 0 2248 8166 7665 2022-06-28T09:43:52Z Rebel Agent 2678 Redirected page to [[Phukwi]] 8166 wikitext text/x-wiki #Redirect [[Phukwi]] == Afrikaans == * [[Phukwi]] 1j6i52f6j4gwk5zhjjin594cn0fy7m4 அபாயம் 0 2268 7765 7639 2017-04-24T19:07:40Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7765 wikitext text/x-wiki == Tamil == * [[kotsi]] 54i1gcjhtyqst9vnwms614jl6q5vk0r Tempolete:Bot 10 2324 7794 6004 2017-07-20T09:26:10Z JAnDbot 470 Bot: Cleaning up old interwiki links 7794 wikitext text/x-wiki {| align="center" class="plainlinks" style="padding: 8px; border: 2px solid #000; width: 80%; text-align: justify;" |- valign="center" | [[File:Crystal Clear action run.svg|90px|left|link=]] || '''This user account is a [[m:en:Wikipedia:Bots|bot]], operated by [[User:{{{1}}}|{{{1}}}]] ([[User talk:{{{1}}}|talk]]).'''<br />It is not a [[m:en:Wikipedia:Sock puppetry|sock-puppet]], but rather an automated or semi-automated account for making repetitive edits that would be extremely tedious to do manually.<br />''Administrators: if this bot is malfunctioning or causing harm, please [{{fullurl:Special:Blockip|wpBlockAddress={{PAGENAMEE}}&wpBlockExpiry=indefinite&wpAnonOnly=0&wpEnableAutoblock=0&wpCreateAccount=0&wpBlockReason=Bot%20malfunctioning:%20}} block it].'' |}<noinclude> == Documentation == * Replace "Example" with your bot's username. {| class="wikitable" width="100%" |- ! width="150px" | Code ! Result |- | <code><nowiki>{{Bot|Example}}</nowiki></code> | {{Bot|Example}} |}</noinclude> if4ebu16c46qmqztdy0yaokehbekb5m October 0 2329 7677 7470 2017-04-24T19:06:53Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7677 wikitext text/x-wiki {{=en=|}} '''October''' # [[Phalane]] <br> === Wikipedia === * [[w:en:October|October]] fu6t5kquy7jipd1peklum1u9yd79cg0 November 0 2330 8118 7676 2022-06-27T14:00:22Z Rebel Agent 2678 Same thing 8118 wikitext text/x-wiki #Redirect [[Ngwanatsele]] {{=af=|}} '''November''' # [[Ngwanatsele]] === Wikipedia === * [[w:af:November|November]] {{=en=|}} '''November''' # [[Ngwanatsele]] === Wikipedia === * [[w:en:November|November]] {{=de=|}} '''November''' {{m}} # [[Ngwanatsele]] === Wikipedia === * [[w:de:November|November]] fed8h1biyp9sc7f7eb0yefuziqk0t5x octobre 0 2331 7743 7612 2017-04-24T19:07:29Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7743 wikitext text/x-wiki {{=fr=|}} '''octobre''' {{m}} # [[Phalane]] <br> === Wikipedia === * [[w:fr:Octobre|octobre]] 0v2b122psn9f3s0hd2422i2fnu8co3j Oktober 0 2332 7679 7428 2017-04-24T19:06:54Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7679 wikitext text/x-wiki {{=af=|}} '''Oktober''' # [[Phalane]] === Wikipedia === * [[w:af:Oktober|Oktober]] {{=de=|}} '''Oktober''' {{m}} # [[Phalane]] === Wikipedia === * [[w:de:Oktober|Oktober]] 3agxlvmyte0e5dockw98vekeqq90l23 Nebelung 0 2333 7674 6533 2017-04-24T19:06:52Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 7674 wikitext text/x-wiki {{=de=|}} '''Nebelung''' {{m}} # [[Ngwanatsele]] cnu4awql9o9zqlyhnrsro83cu52v067 Windmond 0 2334 5460 2011-11-29T11:40:30Z 87.217.184.74 Created page with "{{=de=|}} '''Windmond''' ''m'' # [[Ngwanatsele]]" 5460 wikitext text/x-wiki {{=de=|}} '''Windmond''' ''m'' # [[Ngwanatsele]] 814lg6ld804hqx1em80s65fvagc1w7g novembre 0 2335 8120 7741 2022-06-27T14:02:11Z Rebel Agent 2678 Same thing 8120 wikitext text/x-wiki #Redirect [[Ngwanatsele]] {{=fr=|}} '''novembre''' {{m}} # [[Ngwanatsele]] 2hfgojl2poxwsggwdiz10vpfxcwfkjp Tempolete:m 10 2336 7878 5514 2020-02-22T03:39:00Z Minorax 1589 fix lint error 7878 wikitext text/x-wiki <small>'''''<font color=green>m</font>'''''</small><!-- --><noinclude>[[Category:Templates]]</noinclude> s1yzm20skzagoswhxvrbp3hhl5fry6o Tempolete:f 10 2337 7877 5513 2020-02-22T03:38:36Z Minorax 1589 fix lint error 7877 wikitext text/x-wiki <small>'''''<font color=green>f</font>'''''</small><!-- --><noinclude>[[Category:Templates]]</noinclude> bzbzkgbd4eo73rntpbbz5onx8yb3lkh elephant 0 2338 8154 7701 2022-06-27T15:27:24Z Rebel Agent 2678 Same 8154 wikitext text/x-wiki #Redirect [[Tlou]] {{=en=|}} '''elephant''' # [[tlou]] oxs1ga4iq6zj4t5ar5kwj7n5hszob6y éléphant 0 2339 8153 7761 2022-06-27T15:26:15Z Rebel Agent 2678 Same thing 8153 wikitext text/x-wiki #Redirect [[Tlou]] {{=fr=|}} '''éléphant''' {{m}} # [[tlou]] q62883yf6x9bdmi78ec9cu7utxzs4i3 Elefant 0 2340 8151 7660 2022-06-27T15:23:46Z Rebel Agent 2678 Same thing 8151 wikitext text/x-wiki #Redirect [[Tlou]] {{=de=|}} '''Elefant''' {{m}} # [[tlou]] === Wikipedia === * [[w:de:Elefant|Elefant]] (tlou) myc4m4d95nfgqd2js3badk3nrq43pvq Elefantin 0 2341 8152 7661 2022-06-27T15:24:57Z Rebel Agent 2678 Same thing 8152 wikitext text/x-wiki #Redirect [[Tlou]] {{=de=|}} '''Elefantin''' {{f}} # [[Tlou|tlou]] pjm9p9emdp2846lrfooes9fm3xxc7jh water 0 2342 7759 7561 2017-04-24T19:07:38Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7759 wikitext text/x-wiki {{=af=|}} '''water''' # [[metsi]] === Wikipedia === * [[w:af:Water|water]] {{=en=|}} '''water''' # [[metsi]] === Wikipedia === * [[w:en:Water|water]] {{=nl=|}} '''water''' {{n}} # [[metsi]] === Wikipedia === * [[w:nl:Water|water]] b9xrywznpeu6vfahfyjgga8h4l1a5sw eau 0 2343 8140 7699 2022-06-27T14:57:04Z Rebel Agent 2678 Same thing 8140 wikitext text/x-wiki #Redirect [[Tsebe]] {{=fr=|}} '''eau''' {{f}} # [[metsi]] rdxaa0k5td5ln3ug8bqxxvbb8qjr6te Wasser 0 2344 7685 7129 2017-04-24T19:06:59Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 7685 wikitext text/x-wiki {{=de=|}} '''Wasser''' {{n}} # [[metsi]] oka6ooikr057qjaygjzslw6f9i5t3ky Tempolete:n 10 2345 7879 5512 2020-02-22T03:39:19Z Minorax 1589 fix lint error 7879 wikitext text/x-wiki <small>'''''<font color=green>n</font>'''''</small><!-- --><noinclude>[[Category:Templates]]</noinclude> ihnaeciz36i19qgsgzl1hu3eacqhxxk eye 0 2346 7803 7704 2017-11-22T18:27:44Z Federico Leva (BEIC) 1442 +img 7803 wikitext text/x-wiki {{=en=|}} [[File:Acta Eruditorum - IV medicina, 1716 – BEIC 13388141.jpg|thumb|eye]] '''eye''' # [[leitlho]] ==== Wikipedia ==== * [[w:en:Eye|eye]] 1lmihfsstqsq8rj1p35rgympieaif74 œil 0 2347 7763 7588 2017-04-24T19:07:40Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7763 wikitext text/x-wiki {{=fr=|}} '''œil''' {{m}} # [[leitlho]] ==== Wikipedia ==== * [[w:fr:œil|œil]] d0hlku95vgmjoxe2mp1o8uyhkt45tdy Auge 0 2348 8131 7652 2022-06-27T14:37:31Z Rebel Agent 2678 Same thing 8131 wikitext text/x-wiki #Redirect [[Leitlho]] {{=de=|}} '''Auge''' {{n}} # [[leitlho]] ==== Wikipedia ==== * [[w:de:Auge|Auge]] [[Category:Sejeremane]] nwx6dosfr54wde66bbxdwhh0z30635o ear 0 2349 8137 7698 2022-06-27T14:53:37Z Rebel Agent 2678 Same thing 8137 wikitext text/x-wiki #Redirect [[Tsebe]] {{=en=|}} '''ear''' # [[tsebe]] === Wikipedia === * [[w:en:Ear|ear]] byhwob30h5naffpczu5v9hs71im0ii4 oreille 0 2350 8138 7747 2022-06-27T14:54:47Z Rebel Agent 2678 Same thing 8138 wikitext text/x-wiki #Redirect [[Tsebe]] {{=fr=|}} '''oreille''' {{f}} # [[tsebe]] === Wikipedia === * [[w:fr:Oreille|oreille]] og49gvg42k9be6gpv61rt1aqj8ncv8j Ohr 0 2351 8134 7678 2022-06-27T14:44:19Z Rebel Agent 2678 Redirected page to [[Tsebe]] 8134 wikitext text/x-wiki #Redirect [[Tsebe]] {{=de=|}} '''Ohr''' {{n}} # [[tsebe]] === Wikipedia === * [[w:de:Ohr|Ohr]] mqn9qvvpyl0sgeejxebuds7ahwtulqn mouth 0 2352 7732 7348 2017-04-24T19:07:23Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 7732 wikitext text/x-wiki {{=en=|}} '''mouth''' # [[molomo]] soyxcymtggev8wkh6onljvygzc8c6kz bouche 0 2353 7689 7576 2017-04-24T19:07:02Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 7689 wikitext text/x-wiki {{=fr=|}} '''bouche''' {{f}} # [[molomo]] [[Category:Se Fora]] 2qf2xrt83u8hce9hv0kq512k20qb8a4 Mund 0 2354 7672 6742 2017-04-24T19:06:51Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 7672 wikitext text/x-wiki {{=de=|}} '''Mund''' {{m}} # [[molomo]] fmvoaclktxxy26udhy6zbqdg3ktmyvi nose 0 2355 8126 7739 2022-06-27T14:25:40Z Rebel Agent 2678 Same thing 8126 wikitext text/x-wiki #Redirect [[Nko]] {{=en=|}} '''nose''' # [[nko]] ==== Wikipedia ==== * [[w:en:Nose|nose]] j3a0h9snfz4hw90owtfnl3ihrq724y5 nez 0 2356 7736 7583 2017-04-24T19:07:25Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7736 wikitext text/x-wiki {{=fr=|}} '''nez''' {{m}} # [[nko]] ==== Wikipedia ==== * [[w:fr:Nez|nez]] e7zxpbpzxk8p0ou2qm8gcp7898ijq41 Nase 0 2357 8127 7673 2022-06-27T14:26:30Z Rebel Agent 2678 Same thing 8127 wikitext text/x-wiki #Redirect [[Nko]] {{=de=|}} '''Nase''' {{f}} # [[nko]] ==== Wikipedia ==== * [[w:de:Nase|Nase]] ck2xu8zxp75u0x5q0eektjnwjhi2fpq Nko 0 2358 8124 8123 2022-06-27T14:23:52Z Rebel Agent 2678 Rebel Agent moved page [[nko]] to [[Nko]]: Mafoko a simolola ka dithaka tse ditona 8123 wikitext text/x-wiki ==Setswana== * Nko * Nko ke karolo ya mmele * O ka bona nko mo sefathegong sa motho ====Sekai==== O ka dirisa lefo nko jaana: Neo o nale '''nko''' e ntle jwang === Bona === * [[w:Nko|nko]] mo Wikipedia t63zn4f0ubo5058aklmygecb40bq4ua Tempolete:en 10 2359 7801 6005 2017-11-07T23:01:41Z YiFeiBot 1437 Bot: Migrating 111 langlinks, now provided by [[d:|Wikidata]] on [[d:q6597144]]; 6 langlinks remaining 7801 wikitext text/x-wiki [[English]]<noinclude>[[Category:Language templates|en]] [[cs:Šablona:en]] [[en:Template:en]] [[ik:Template:en]] [[nds:Vörlaag:en]] [[nn:Mal:en]] [[sk:Šablóna:en]] [[th:แม่แบบ:en]] [[za:模板:en]] </noinclude> krxr0dx7oemwu6w8kxoz0f69al6ywb9 Tempolete:fr 10 2360 5491 2011-11-30T11:52:18Z 87.217.184.227 Created page with "[[French]]<noinclude>[[Category:Language templates|fr]]</noinclude>" 5491 wikitext text/x-wiki [[French]]<noinclude>[[Category:Language templates|fr]]</noinclude> puxfl0vge0ah15gtwyv3z2774931rcz Tempolete:tn 10 2361 5492 2011-11-30T11:53:01Z 87.217.184.227 Created page with "[[Setswana]]<noinclude>[[Category:Language templates|tn]]</noinclude>" 5492 wikitext text/x-wiki [[Setswana]]<noinclude>[[Category:Language templates|tn]]</noinclude> cbhf7wcq2mny09hgcqqmeh1qqorqjpk Tempolete:de 10 2362 5493 2011-11-30T11:53:28Z 87.217.184.227 Created page with "[[German]]<noinclude>[[Category:Language templates|de]]</noinclude>" 5493 wikitext text/x-wiki [[German]]<noinclude>[[Category:Language templates|de]]</noinclude> 0wx72krxw840x0o6t9g2ayn8g7mj1zr Tempolete:af 10 2363 7802 5860 2017-11-07T23:02:01Z YiFeiBot 1437 Bot: Migrating 71 langlinks, now provided by [[d:|Wikidata]] on [[d:q7220475]]; 6 langlinks remaining 7802 wikitext text/x-wiki [[Afrikaans]]<noinclude>[[Category:Language templates|af]] [[cs:Šablona:af]] [[en:Template:af]] [[km:ទំព័រគំរូ:af]] [[nds:Vörlaag:af]] [[nn:Mal:af]] [[sk:Šablóna:af]] </noinclude> 93w2fmd61s7sr1z3h0za791cshkz0vy Tempolete:nl 10 2364 5495 2011-11-30T11:54:49Z 87.217.184.227 Created page with "[[Dutch]]<noinclude>[[Category:Language templates|nl]]</noinclude>" 5495 wikitext text/x-wiki [[Dutch]]<noinclude>[[Category:Language templates|nl]]</noinclude> l3j90thc6cstxtcanhy4st73ghuueze fire 0 2365 8159 7706 2022-06-27T15:34:55Z Rebel Agent 2678 Same thing 8159 wikitext text/x-wiki #Redirect [[Molelo]] {{=en=|}} '''fire''' # [[molelo]] ==== Wikipedia ==== * [[w:en:Fire|fire]] lttjctbcowbplajj56mcl3eyc0hs4z1 Molelo 0 2366 8158 8157 2022-06-27T15:33:29Z Rebel Agent 2678 /* Bona */ Updated content 8158 wikitext text/x-wiki == Setswana == * Molelo * Molemo ke thakathakanyo e e diragalang ka bonako ya di gase mo tsamaisong, e e ntshang mogote, lesedi le tse dingwe tse di farologaneng. === Sekai === * Gatwe o tshubilwe ke molelo * Re apaya ka molelo === Bona === * [[w:Molelo|Molelo]] mo Wikipedia r7qhyyhdr4wsqzsu8sndjj7wy3728r0 feu 0 2367 7705 7580 2017-04-24T19:07:09Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7705 wikitext text/x-wiki {{=fr=|}} '''feu''' {{m}} # [[molelo]] ==== Wikipedia ==== * [[w:fr:Feu|feu]] omknxv1qkb1acglrdp3lsc9eqtzhk7l Feuer 0 2368 8160 7662 2022-06-27T15:35:51Z Rebel Agent 2678 Same 8160 wikitext text/x-wiki #Redirect [[Molelo]] {{=de=|}} '''Feuer''' {{n}} # [[molelo]] ==== Wikipedia ==== * [[w:de:Feuer|Feuer]] rr229fdut70ninfr0dq2s1oj2veg8vc vuur 0 2369 7758 7560 2017-04-24T19:07:37Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7758 wikitext text/x-wiki {{=af=|}} '''vuur''' # [[molelo]] ==== Wikipedia ==== * [[w:af:Vuur|vuur]] {{=nl=|}} '''vuur''' {{n}} # [[molelo]] ==== Wikipedia ==== * [[w:nl:Vuur|vuur]] 13ldopulhefz01pgvxsfatrput0xifo Leitlho 0 2370 8186 8129 2022-06-28T10:28:25Z Rebel Agent 2678 /* Setswana */Added content 8186 wikitext text/x-wiki == Setswana == * Leitho * Leitho ke karolo ya mmele * Leitho ke karolo ya mmele e e mo sefathegong e dirisiwang go bona Ga a le mabedi ke '''Matho''' ===Sekai=== * Ke ratla matho a gago 5yyihbjwevx2lrn8xjo63548dxbgwlt oog 0 2371 7745 6989 2017-04-24T19:07:31Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7745 wikitext text/x-wiki {{=af=|}} '''oog''' # [[leitlho]] ==== Wikipedia ==== * [[w:af:Oog|oog]] {{=nl=|}} '''oog''' {{n}} # [[leitlho]] ==== Wikipedia ==== * [[w:nl:Oog|oog]] ivr60jxh0w1dz0wjqe55w0ev77z111y tsebe 0 2372 8136 7756 2022-06-27T14:52:17Z Rebel Agent 2678 Same thing 8136 wikitext text/x-wiki #Redirect [[Tsebe]] {{=tn=|}} # Tsebe. <br> {{-trans-}} * {{af}}: [[oor]] * {{nl}}: [[oor]] * {{en}}: [[ear]] * {{fr}}: [[oreille]] * {{de}}: [[Ohr]] <br> <!-- ===Wikipedia=== *[[w:Tsebe|tsebe]] --> 8ew3ts231o03p9t0mynhpmfv23454lm oor 0 2373 8139 7746 2022-06-27T14:55:42Z Rebel Agent 2678 Same thing 8139 wikitext text/x-wiki #Redirect [[Tsebe]] {{=af=|}} '''oor''' # [[tsebe]] ==== Wikipedia ==== * [[w:af:Oor|oor]] {{=nl=|}} '''oor''' {{n}} # [[tsebe]] ==== Wikipedia ==== * [[w:nl:Oor|oor]] f52cwdudblamufw06dcou1wugvjkasb metsi 0 2374 8321 8320 2022-07-24T07:14:11Z Rebel Agent 2678 /* Setswana */Fixed typo 8321 wikitext text/x-wiki ==Setswana== * Metsi * Metsi a nowa ===Sekai=== * Fa go le letsatsi o tswanetse go nwa metsi ga ntsi ===Metswedi=== ====References==== * [https://web.archive.org/web/20160218004744/http://language.psy.auckland.ac.nz/bantu/language.php?id=9 BBVD] (mètsí) 7j2jbh179p1e0d39ht1d1fwxpyoxuw8 neus 0 2375 7735 7388 2017-04-24T19:07:25Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7735 wikitext text/x-wiki {{=af=|}} '''neus''' # [[nko]] ==== Wikipedia ==== * [[w:af:Neus|neus]] {{=nl=|}} '''neus''' {{m}} # [[nko]] ==== Wikipedia ==== * [[w:nl:Neus|neus]] 68b3dl7cezmemileneoc3hz4bogd1ag molomo 0 2376 8561 7730 2023-03-30T23:17:45Z Rebel Agent 2678 Paakanyo 8561 wikitext text/x-wiki == Setswana == * molomo <br> {{-trans-}} * {{af}}: [[mond]] * {{nl}}: [[mond]] * {{en}}: [[mouth]] * {{fr}}: [[bouche]] * {{de}}: [[Mund]] <br> <!-- ===Wikipedia=== *[[w:Molomo|molomo]] --> 7sw0p7lzygp98crodpf5l1wfjtcd40s mond 0 2377 7731 7608 2017-04-24T19:07:23Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7731 wikitext text/x-wiki {{=af=|}} '''mond''' # [[molomo]] ==== Wikipedia ==== * [[w:af:Mond|mond]] {{=nl=|}} '''mond''' {{m}} # [[molomo]] ==== Wikipedia ==== * [[w:nl:Mond|mond]] 58lmwfk2l810a9h5sx69ifgwoyv2tw4 yes 0 2378 7760 7353 2017-04-24T19:07:38Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7760 wikitext text/x-wiki {{=en=}} '''yes''' # [[ee]] 9iaoy8vw1h56vdood80g1w3jz9h6vm8 oui 0 2379 7748 7559 2017-04-24T19:07:32Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7748 wikitext text/x-wiki {{=fr=}} '''oui''' # [[ee]] 2zqo91m1aam0g6ytztbsc27d9uwvpcs Phalane 0 2380 7680 5560 2017-04-24T19:06:55Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7680 wikitext text/x-wiki {{=tn=|}} # Phalane <br> {{-trans-}} * {{af}}: [[Oktober]] * {{nl}}: [[oktober]] * {{en}}: [[October]] * {{fr}}: [[octobre]] * {{de}}: [[Oktober]] <br> <!-- ===Wikipedia=== *[[w:Phalane|Phalane]] --> 5pk1qx1np0p38ivhhlgzwztu4e1714j oktober 0 2381 7744 7613 2017-04-24T19:07:30Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7744 wikitext text/x-wiki {{=nl=|}} '''oktober''' {{m}} # [[Phalane]] === Wikipedia === * [[w:nl:Oktober|oktober]] 2pqq9ps7aljqs8askiq75ogayubgze2 Ngwanatsele 0 2382 8117 8116 2022-06-27T13:57:45Z Rebel Agent 2678 Added content 8117 wikitext text/x-wiki {{=tn=|}} * Ngwanatsele * Ngwanatsele ke kgwedi {{-trans-}} ====Sekai==== * Ka kgwedi ya Ngwanatsele re ya gae 98c37a8pzhatm4ccbyutvhf3b2yjbf8 november 0 2383 8119 7740 2022-06-27T14:01:10Z Rebel Agent 2678 Same thing 8119 wikitext text/x-wiki #Redirect [[Ngwanatsele]] {{=nl=|}} '''november''' {{m}} # [[Ngwanatsele]] === Wikipedia === * [[w:de:November|november]] tlwtvdzl74ufh6lf0miz926kiusa02p Sedimonthole 0 2384 8144 7683 2022-06-27T15:10:48Z Rebel Agent 2678 Updated content 8144 wikitext text/x-wiki ==Setswana== * Sedimonthole * Sedimonthole ke kgwedi ===Sekai=== * Re e itumelela malatsi a matsalo a Morena [[Jeso]] ka Sedimonthole. 6jyrg735to4mb97702n44c9msuxt2bv Desember 0 2385 8149 7658 2022-06-27T15:15:40Z Rebel Agent 2678 Same thing 8149 wikitext text/x-wiki #Redirect [[Sedimonthole]] {{=af=|}} '''Desember''' # [[Sedimonthole]] === Wikipedia === * [[w:af:Desember|Desember]] [[Category:Seburu]] 108vbz4112x43krbj33pym1n1gkgijx december 0 2386 8146 7691 2022-06-27T15:12:51Z Rebel Agent 2678 Same thing 8146 wikitext text/x-wiki #Redirect [[Sedimonthole]] {{=nl=|}} '''december''' {{m}} # [[Sedimonthole]] === Wikipedia === * [[w:nl:December|december]] cw5e5mpy6mh5tj3u8n96er83k5o5v98 December 0 2387 8145 7657 2022-06-27T15:11:54Z Rebel Agent 2678 Same thing 8145 wikitext text/x-wiki #Redirect [[Sedimonthole]] {{=en=|}} '''December''' # [[Sedimonthole]] === Wikipedia === * [[w:en:December|December]] [[Category:Sekgoa]] g0ya9wf0zs2489ilzg65r8a3kxp5pqh décembre 0 2388 8148 7696 2022-06-27T15:15:00Z Rebel Agent 2678 Same thing 8148 wikitext text/x-wiki #Redirect [[Sedimonthole]] {{=fr=|}} '''décembre''' {{m}} # [[Sedimonthole]] === Wikipedia === * [[w:frl:Décembre|décembre]] ae41gs1k6w0chu012e77oklofwevhpt Dezember 0 2389 8147 7659 2022-06-27T15:13:52Z Rebel Agent 2678 Same thing 8147 wikitext text/x-wiki #Redirect [[Sedimonthole]] {{=de=|}} '''Dezember''' {{m}} # [[Sedimonthole]] === Wikipedia === * [[w:de:Dezember|Dezember]] [[Category:Sejeremane]] ip5emp7tjptaojecewq2w55vg8t8k3j Julmond 0 2390 8169 7666 2022-06-28T09:50:02Z Rebel Agent 2678 Redirect to Phukwi because it's the same thing 8169 wikitext text/x-wiki #Redirect [[Phukwi]] {{=de=|}} '''Julmond''' {{m}} # [[Sedimonthole]] === Wikipedia === * [[w:de:Julmond|Julmond]] t0o3yl078tzn31n9ccmcyq5d08zlifw naledi 0 2391 8207 7733 2022-07-03T17:51:18Z Emkay2004 2713 Added a redirect 8207 wikitext text/x-wiki #redirect [[Naledi]] ebfx541lblts647a78mpix5qbg8tm2w star 0 2392 7751 7573 2017-04-24T19:07:34Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7751 wikitext text/x-wiki {{=en=|}} '''star''' # [[naledi]] ==== Wikipedia ==== * [[w:en:Star|star]] dx27f8qkzq1td6k68ni0l5kmtva1y54 ster 0 2393 7753 7587 2017-04-24T19:07:35Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7753 wikitext text/x-wiki {{=af=|}} '''ster''' # [[naledi]] ==== Wikipedia ==== * [[w:af:Ster|ster]] {{=nl=|}} '''ster''' {{f}} # [[naledi]] ==== Wikipedia ==== * [[w:nl:Ster|ster]] hr093ypd0kd7fxaiw0ec1khhy3y06ag Stern 0 2394 7684 7273 2017-04-24T19:06:58Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7684 wikitext text/x-wiki {{=de=|}} '''Sterm''' {{m}} # [[naledi]] ==== Wikipedia ==== * [[w:de:Stern|Stern]] i4pi7lk3kx0s6u0doa6e2e14bqrgmsu étoile 0 2395 7762 7640 2017-04-24T19:07:39Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7762 wikitext text/x-wiki {{=fr=|}} '''étoile''' {{f}} # [[naledi]] ==== Wikipedia ==== * [[w:fr:Étoile|étoile]] rj7sdp5hftz6c2386ws7ednonix7njt masi 0 2396 7723 7447 2017-04-24T19:07:19Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7723 wikitext text/x-wiki {{=tn=|}} # masi <br> {{-trans-}} * {{af}}: [[melk]] * {{nl}}: [[melk]] * {{en}}: [[milk]] * {{fr}}: [[lait]] * {{de}}: [[Milch]] * {{cs}}: [[mléko]] <br> === Wikipedia === <!-- *[[w:Masi|masi]] --> bsgzu12nz5g5nbpb3ltufo8g1qnuks9 Milch 0 2397 7670 7414 2017-04-24T19:06:50Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7670 wikitext text/x-wiki {{=de=|}} '''Milch''' {{f}} # [[masi]] === Wikipedia === * [[w:de:Milch|Milch]] q6hlg3q4xf2m1wbe1vlsekjo4p7b5qv milk 0 2398 7727 7386 2017-04-24T19:07:21Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7727 wikitext text/x-wiki {{=de=|}} '''milk''' # [[masi]] === Wikipedia === * [[w:en:Milk|milk]] moj6bqlbp5duseup2327ugbfn1yery8 melk 0 2399 7725 7607 2017-04-24T19:07:20Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7725 wikitext text/x-wiki {{=af=|}} '''melk''' # [[masi]] === Wikipedia === * [[w:af:Melk|melk]] {{=nl=|}} '''melk''' {{f}} # [[masi]] === Wikipedia === * [[w:nl:Melk|melk]] [[Category:Setswana]] [[Category:Sedache]] 1u5us1t2c47e35dsovnqcubyzi7l2xe lait 0 2400 7714 7452 2017-04-24T19:07:14Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7714 wikitext text/x-wiki {{=fr=|}} '''lait''' {{m}} # [[masi]] === Wikipedia === * [[w:fr:Lait|lait]] ruy8ghaw01slbdas37azol32bkfvxn7 hand 0 2401 8165 7709 2022-06-27T19:26:10Z Rebel Agent 2678 Same 8165 wikitext text/x-wiki #Redirect [[Seatla]] {{=af=|}} '''hand''' # [[seatla]] ==== Wikipedia ==== * [[w:af:Hand|hand]] {{=nl=|}} '''hand''' {{f}} # [[seatla]] ==== Wikipedia ==== * [[w:nl:Hand|hand]] {{=en=|}} '''hand''' # [[seatla]] ==== Wikipedia ==== * [[w:en:Hand|hand]] 65imj22vqiegzy5hf2sqzyd70omvrun Seatla 0 2402 8635 8162 2024-09-21T08:51:10Z 41.113.135.192 /* Sekai */ 8635 wikitext text/x-wiki == Setswana == * Seatla * Seatla ke karolo ya mmele e e dirisiwang go tshwara le go dira ditiro tse ditiro tse di farologaneng Ga di le dintse ke '''diatla''' === Sekai === * Ke dirisa diatla tsame go tshwara hwnhutth4yyxs4w2jmzx073g9n3gbr0 Hand 0 2403 8164 7663 2022-06-27T19:25:02Z Rebel Agent 2678 Same 8164 wikitext text/x-wiki #Redirect [[Seatla]] {{=de=|}} '''Hand''' {{f}} # [[seatla]] ==== Wikipedia ==== * [[w:de:Hand|Hand]] jnj1xpcjiqohndg6abgpypahfieonze Tempolete:delete 10 2421 7797 6821 2017-08-11T12:23:31Z JAnDbot 470 Bot: Cleaning up old interwiki links; cosmetic changes 7797 wikitext text/x-wiki {|width="80%" align="center" border="1" rules="none" cellpadding="2" style="clear:both;width:80%;margin:0.3em auto;border: 1px solid gray;background: #ffbbbb;padding:2px;font-size:small;" |- | [[File:User-trash-full.svg|32px|poubelle]] | '''Ena leqepheng la ke motho yo a nyakago potlakang go tlosa.'''<br />Haeba u ha ba batle ena leqepheng e le ho ho hlakolwa, ka kopo hlalosa ke hobane'ng ha leqepheng lena.{{#if:{{{1|}}}|<br />The given reason is: ''{{{1}}}''|}} |} <includeonly>[[Category:Candidates for speedy deletion]]</includeonly><noinclude> </noinclude> c1kjl8bq35pmretgtdvhhd1kzygv89g Tempolete:Delete 10 2422 5725 2012-02-15T17:32:46Z Quentinv57 365 [[Template:Delete]] o sutisediwa kwa go [[Template:delete]] 5725 wikitext text/x-wiki #REDIRECT [[Template:delete]] don0o3ej2zyi5f59rhmlipfgdlfm40t estrela 0 2659 7702 7579 2017-04-24T19:07:08Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 7702 wikitext text/x-wiki {{=pt=|}} '''estrela''' [[naledi]] ffgt5juldrhp9q97c7g20g0fno3m62y estrella 0 2660 7703 7634 2017-04-24T19:07:08Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 7703 wikitext text/x-wiki {{=es=|}} '''estrella''' {{f}} [[naledi]] cksycy1ibzy4uxp6a5nuqwq0si4ol3i stella 0 2661 7752 7630 2017-04-24T19:07:34Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7752 wikitext text/x-wiki {{=it=|}} '''stella''' * [[naledi]] kndqsgb9qseyxqaxredgp8cmysrwmtm leche 0 2662 7717 7582 2017-04-24T19:07:16Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7717 wikitext text/x-wiki {{=es=|}} '''leche''' {{m}} # [[masi]] 2dncbhgwe2ghacxpgiextx7o9woigdi leite 0 2663 7718 6968 2017-04-24T19:07:17Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7718 wikitext text/x-wiki {{=pt=|}} '''leite''' {{m}} # [[masi]] [[Category:Se Potoketsi]] 5xys2ym38w4uf8et496ijs999v7la0o latte 0 2664 7715 7606 2017-04-24T19:07:15Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7715 wikitext text/x-wiki {{=it=|}} '''latte''' {{m}} # [[masi]] 8peoyuomgpm9ab52bwpz7kzji3hnkgd lua 0 2665 7720 7525 2017-04-24T19:07:17Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7720 wikitext text/x-wiki {{=es=|}} '''lua''' {{f}} # [[molomo]] {{=pt=|}} '''lua''' {{f}} # [[molomo]] hnb4gy2qtdgjyzpx7sglxhefluzxssn luna 0 2666 7721 7581 2017-04-24T19:07:18Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7721 wikitext text/x-wiki {{=it=|}} '''luna''' {{f}} # [[molomo]] [[Category:Se Italiano]] pl35l7ut68cc4u2hd3pu0x84yq8vh73 color 0 2667 7690 7590 2017-04-24T19:07:02Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]] 7690 wikitext text/x-wiki {{=en=|}} '''color''' {{f}} # [[mebale]] {{=ca=|}} '''color''' # [[mebale]] {{=la=|}} '''color''' {{f}} # [[mebale]] {{=es=|}} '''color''' {{f}} # [[mebale]] se9db1725k51yjouqx606gj1j6rxfxe Tempolete:=pt= 10 2668 6514 6509 2014-06-23T23:49:43Z 177.133.73.184 6514 wikitext text/x-wiki {{{1| ---- }}} ==[[Wiktionary:Portuguese|Sepotokisi]]== <noinclude>[[Category:Language templates|pt]]</noinclude> jarudyy51rnx23ay80bwoy9f9ojsqen Tempolete:=xh= 10 2669 6513 6511 2014-06-23T23:49:20Z 177.133.73.184 6513 wikitext text/x-wiki {{{1| ---- }}} ==[[Wiktionary:Xhosa|Sethosa]]== <noinclude>[[Category:Language templates|xh]]</noinclude> 12f26opi9700lgyvcnsbfr9a20pszdc Tempolete:=st= 10 2670 6512 2014-06-23T23:48:59Z 177.133.73.184 Created page with "{{{1| ---- }}} ==[[Wiktionary:Sotho|Sesotho]]== <noinclude>[[Category:Language templates|st]]</noinclude>" 6512 wikitext text/x-wiki {{{1| ---- }}} ==[[Wiktionary:Sotho|Sesotho]]== <noinclude>[[Category:Language templates|st]]</noinclude> 9vmtcaqcih50d9mhuxvad6v347n1i5h mebale 0 2671 7724 6516 2017-04-24T19:07:19Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7724 wikitext text/x-wiki {{=tn=|}} '''mebale''' * {{en}}: [[color]] * {{pt}}: [[cor]] 5vfisck06c1f8xu3haq2szywqwvs85g Tempolete:trad 10 2672 7796 6518 2017-07-20T12:06:07Z JAnDbot 470 Bot: Cleaning up old interwiki links 7796 wikitext text/x-wiki <span lang="{{{1}}}" xml:lang="{{{1}}}">{{#ifeq: "{{{3|{{{2}}}}}}"|"{{PAGENAME}}"| {{{3|{{{2}}}}}}|[[{{#if:{{{3|}}}|{{{3}}}{{{2}}}|{{{2}}}}}|{{{3|{{{2}}}}}}]]}}</span>&nbsp;<span class="trad-sup-code"><sup>{{#ifeq:{{{2}}}|nl|(nl)|[[:{{{1}}}:{{{3|{{{2}}}}}}|({{{1}}})]]}}</sup></span><noinclude> </noinclude> k0mdrbie7mwi01u3fg3drdcc9xtus35 Tempolete:softredirect 10 2688 6636 2014-10-16T13:59:39Z Conquistador 1114 Redirected page to [[Template:Softredirect]] 6636 wikitext text/x-wiki #REDIRECT [[Template:Softredirect]] e3seyzdad101twwwboft021dw04ej42 Tempolete:=it= 10 2698 6663 2014-12-12T14:16:09Z 177.206.132.3 Created page with "{{{1| ---- }}} ==[[Wiktionary:Italian|Setaliana]]== <noinclude>[[Category:Language templates|it]]</noinclude>" 6663 wikitext text/x-wiki {{{1| ---- }}} ==[[Wiktionary:Italian|Setaliana]]== <noinclude>[[Category:Language templates|it]]</noinclude> s13ql2vopt9jmldddyv98o3mb0tvdin Karolo:Tamil 14 2701 7791 7567 2017-07-03T08:13:52Z JAnDbot 470 Bot: Cleaning up old interwiki links 7791 wikitext text/x-wiki [[Category:Se]] d3itn6vi45gplfgn8wsio0keeq7mnhg Karolo:Inli 14 2714 6750 2015-02-17T13:07:45Z JAn Dudík 485 JAn Dudík moved page [[Category:Inli]] to [[Category:Sekgoa]]: CLDR 6750 wikitext text/x-wiki #REDIRECT [[:Category:Sekgoa]] f16klmlhmltwg8laxhlkmc6lzxubjig Karolo:Setswana 14 2715 7790 7393 2017-07-03T08:13:51Z JAnDbot 470 Bot: Cleaning up old interwiki links 7790 wikitext text/x-wiki [[Category:Se]] d3itn6vi45gplfgn8wsio0keeq7mnhg Karolo:Se Fora 14 2716 7782 7533 2017-07-03T08:13:39Z JAnDbot 470 Bot: Cleaning up old interwiki links 7782 wikitext text/x-wiki [[Category:Se]] d3itn6vi45gplfgn8wsio0keeq7mnhg Karolo:Seburu 14 2717 7785 7645 2017-07-03T08:13:43Z JAnDbot 470 Bot: Cleaning up old interwiki links 7785 wikitext text/x-wiki [[Category:Se]] d3itn6vi45gplfgn8wsio0keeq7mnhg Karolo:Sejeremane 14 2718 7787 7651 2017-07-03T08:13:46Z JAnDbot 470 Bot: Cleaning up old interwiki links 7787 wikitext text/x-wiki [[Category:Se]] d3itn6vi45gplfgn8wsio0keeq7mnhg Karolo:Sedache 14 2719 7786 7538 2017-07-03T08:13:44Z JAnDbot 470 Bot: Cleaning up old interwiki links 7786 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 Tempolete:cs 10 2720 6767 2015-02-17T13:20:07Z JAn Dudík 485 Created page with "Se Czeck" 6767 wikitext text/x-wiki Se Czeck d85arwmzhs3s653sp1bddoct5l5tlgl mléko 0 2721 7728 7532 2017-04-24T19:07:22Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7728 wikitext text/x-wiki == Se Czeck == * [[masi]] [[Category:Se Czeck]] jbxuimslp66qaxkct9054el7z14z7jf Karolo:Se Czeck 14 2722 7771 7399 2017-06-26T03:13:30Z Octahedron80 1344 Replaced content with "[[Category:Se]]" 7771 wikitext text/x-wiki [[Category:Se]] d3itn6vi45gplfgn8wsio0keeq7mnhg Karolo:Se Potoketsi 14 2723 7784 7542 2017-07-03T08:13:42Z JAnDbot 470 Bot: Cleaning up old interwiki links 7784 wikitext text/x-wiki [[Category:Se]] d3itn6vi45gplfgn8wsio0keeq7mnhg Karolo:Se Italiano 14 2724 7783 7550 2017-07-03T08:13:41Z JAnDbot 470 Bot: Cleaning up old interwiki links 7783 wikitext text/x-wiki [[Category:Se]] d3itn6vi45gplfgn8wsio0keeq7mnhg Karolo:Se 14 2725 7781 7537 2017-07-03T08:13:38Z JAnDbot 470 Bot: Cleaning up old interwiki links 7781 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 Karolo:Delete 14 2726 6785 2015-02-17T14:04:31Z JAn Dudík 485 JAn Dudík moved page [[Category:Delete]] to [[Category:Candidates for speedy deletion]] 6785 wikitext text/x-wiki #REDIRECT [[:Category:Candidates for speedy deletion]] kytzb4mnvpe34bu9x1ukajnovcbe18q Karolo:Pages using duplicate arguments in template calls 14 2735 7779 7650 2017-07-03T08:13:36Z JAnDbot 470 Bot: Cleaning up old interwiki links 7779 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 Karolo:Hidden categories 14 2736 7773 7644 2017-07-03T08:13:29Z JAnDbot 470 Bot: Cleaning up old interwiki links 7773 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 Karolo:Noindexed pages 14 2737 7778 7563 2017-07-03T08:13:34Z JAnDbot 470 Bot: Cleaning up old interwiki links 7778 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 Karolo:Pages with broken file links 14 2738 7780 7553 2017-07-03T08:13:37Z JAnDbot 470 Bot: Cleaning up old interwiki links 7780 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 Tempolete:FlowMention 10 2751 7082 2015-08-03T23:39:09Z Flow talk page manager 1265 /* Automatically created by Flow */ 7082 wikitext text/x-wiki @[[User:{{{1|Example}}}|{{{2|{{{1|Example}}}}}}]] ht62w5zp7ueoczj6k5jj4tnpk907kdj Tempolete:LQT Moved thread stub converted to Flow 10 2769 7240 2015-10-02T20:13:52Z Flow talk page manager 1265 /* Automatically created by Flow */ 7240 wikitext text/x-wiki This post by {{{author}}} was moved on {{{date}}}. You can find it at [[{{{title}}}]]. e5j16chw2130kmdotptl65jvxa6lw5w Tempolete:LQT page converted to Flow 10 2770 7241 2015-10-02T20:13:52Z Flow talk page manager 1265 /* Automatically created by Flow */ 7241 wikitext text/x-wiki Previous page history was archived for backup purposes at <span class='flow-link-to-archive'>[[{{{archive}}}]]</span> on {{#time: Y-m-d|{{{date}}}}}. njhr9sbh7lx81p2xfwikn7amdd3n1zn Tempolete:Archive for converted LQT page 10 2771 7242 2015-10-02T20:13:52Z Flow talk page manager 1265 /* Automatically created by Flow */ 7242 wikitext text/x-wiki This page is an archived LiquidThreads page. '''Do not edit the contents of this page'''. Please direct any additional comments to the [[{{{from}}}|current talk page]]. nigyidinm7czjt0s9dq851dwhckapia Tempolete:LQT post imported with supressed user 10 2772 7243 2015-10-02T20:13:52Z Flow talk page manager 1265 /* Automatically created by Flow */ 7243 wikitext text/x-wiki This revision was imported from LiquidThreads with a suppressed user. It has been reassigned to the current user. 1pswkbcu7hauadd98nklgf3pku080ee Tempolete:LQT post imported with different signature user 10 2773 7244 2015-10-02T20:13:53Z Flow talk page manager 1265 /* Automatically created by Flow */ 7244 wikitext text/x-wiki ''This post was posted by [[User:{{{authorUser}}}|{{{authorUser}}}]], but signed as [[User:{{{signatureUser}}}|{{{signatureUser}}}]].'' gr9xg2oo9p9alcaf8usi587bcmsi65s Tempolete:Wikitext talk page converted to Flow 10 2774 7245 2015-10-02T20:13:53Z Flow talk page manager 1265 /* Automatically created by Flow */ 7245 wikitext text/x-wiki Previous discussion was archived at <span class='flow-link-to-archive'>[[{{{archive}}}]]</span> on {{#time: Y-m-d|{{{date}}}}}. ccusakfp9y2sl227h5sbt4ok1ptcsxi Tempolete:Archive for converted wikitext talk page 10 2775 7246 2015-10-02T20:13:53Z Flow talk page manager 1265 /* Automatically created by Flow */ 7246 wikitext text/x-wiki This page is an archive. '''Do not edit the contents of this page'''. Please direct any additional comments to the [[{{{from|{{TALKSPACE}}:{{BASEPAGENAME}}}}}|current talk page]]. hd1xxik7k0u7gcb9oq9ddgh20zmhpy4 Lerato 0 2782 8187 7669 2022-06-28T10:32:59Z Rebel Agent 2678 8187 wikitext text/x-wiki == Setswana == * Lerato * O ka rata motho kana sengwe * Lerato gape ke maina a batho === Sekai === * Ke nna lerato 5kj87jo0ofm2tkv5h7mq0ih3afhnyjy Babola 0 2788 8133 7655 2022-06-27T14:41:58Z Rebel Agent 2678 /* Setswana */Updated content 8133 wikitext text/x-wiki == Setswana == * Babola ===Sekai=== * Molelo o ne wa babola diaparo tsa gagwe. h71q2c4dziwjbvo1xhof392ydyhjcay Batho bantsho 0 2789 8141 7656 2022-06-27T15:00:27Z Rebel Agent 2678 Updated content 8141 wikitext text/x-wiki == Setswana == * Batho bantsho === Sekai === * Batho bantsho ba bantle mxiumaak69zwneym6hs2zxvxu9z77gm Sedibo 0 2790 7595 7594 2017-02-06T12:45:37Z Mompati Dikunwane 1037 7595 wikitext text/x-wiki '''Sedibo'''</br> Noun(claass 9, bontsi didibo)</br> Sekai: go ne go nale didibo tse di metsi mo kobong.</br> * Patch</br> There were damp patches on the blanket. iln6yy4f7yeydx3ioirlzq2jxi232tj Setilo 0 2791 7598 7597 2017-02-07T10:39:38Z Mompati Dikunwane 1037 7598 wikitext text/x-wiki Setilo</br> English: chair</br> Kalanga: Itilo</br> cjfv8o702pzf2uz0eqtzgbsrpkci05u Tafole 0 2792 8501 7599 2022-11-22T00:55:23Z Rebel Agent 2678 Ke tsentse molaetsa 8501 wikitext text/x-wiki == Setswana == {{noun di}} #{{tlhaloso}} ke sedirisiwa se se bayang dilo. {{synonyms|Tafole}} #:Baya dibuka tseo mo tafoleng. hwlvw7mm0rjfsl3hh4ccsao62ye0ux0 Ntlwana 0 2793 7600 2017-02-07T10:55:03Z Mompati Dikunwane 1037 Created page with "Ntlwana</br> Englsh: toilet</br> Dikai:</br> Ke batla go ya ntlwaneng.</br> English:</br> I want to go to the toilet.</br>" 7600 wikitext text/x-wiki Ntlwana</br> Englsh: toilet</br> Dikai:</br> Ke batla go ya ntlwaneng.</br> English:</br> I want to go to the toilet.</br> ph6ui44lwujy1jc2jli51gb7d4zheu9 Kamore 0 2794 8184 7601 2022-06-28T10:25:24Z Rebel Agent 2678 Updated content 8184 wikitext text/x-wiki == Setswana == * Kamore * Kamore ke kago ===Sekai=== * Nkemele mo Kamoreng yele * Isa dijo tsame ko Kamoreng yame cespnx1g9kmtfx6g94yplnol7lm5n4z Sekausu 0 2795 7602 2017-02-07T11:07:36Z Mompati Dikunwane 1037 Created page with "Sekausu</br> Noun(class 7, bontsi dikausu)</br> English: Sock</br> 1. Dikai</br> * O latlhile Sekausu se sengwe.</br> * He has lost the other sock.</br> 2. Condom</br> Dikai</..." 7602 wikitext text/x-wiki Sekausu</br> Noun(class 7, bontsi dikausu)</br> English: Sock</br> 1. Dikai</br> * O latlhile Sekausu se sengwe.</br> * He has lost the other sock.</br> 2. Condom</br> Dikai</br> * Tiriso ya sekausu e ka thusa go thibela kanamo ya bolwetse. * The use of a condom can help prevent the spread of diseases. 37jxfzltpgynf4ul9n3rjhz6pm050en Morobalo 0 2796 7603 2017-02-07T11:23:15Z Mompati Dikunwane 1037 Created page with "Morobala</br> Noun( class 3)</br> English:Sex, Sexual intercourse.</br> Dikai:</br> * Banana ba tshwanetse go rutiwa bodiphatsa jwa morobalo o go sa itshirelediwang." 7603 wikitext text/x-wiki Morobala</br> Noun( class 3)</br> English:Sex, Sexual intercourse.</br> Dikai:</br> * Banana ba tshwanetse go rutiwa bodiphatsa jwa morobalo o go sa itshirelediwang. 6w433rz1uuw5fuy7rq43r6d1683dmvv Tlhakole 0 2797 7604 2017-02-07T11:37:11Z Mompati Dikunwane 1037 Created page with "'''Tlhakole'''</br> Noun(class 1a,Bontsi Botlhakole)</br> English : February</br> Dikai</br> * matsalo ame a ka Tlhakole.</br> * My birth day is in February." 7604 wikitext text/x-wiki '''Tlhakole'''</br> Noun(class 1a,Bontsi Botlhakole)</br> English : February</br> Dikai</br> * matsalo ame a ka Tlhakole.</br> * My birth day is in February. ix16du9fwyjifkcaduwoawhlqw3xbfn Mopitlo 0 2798 7671 7605 2017-04-24T19:06:50Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7671 wikitext text/x-wiki Mopitlo</br> Noun(class 1a,bontsi Bomopitlo)</br> English: March</br> Dikai:</br> * Re ya teng Mopitlo a fela.</br> * We are going there at the end of March. 3qf3y2gvfkeza9jihxtdhhfqey6dwuw go inyalanya le sengwe kgotsa go nyala 0 2799 7708 7616 2017-04-24T19:07:11Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7708 wikitext text/x-wiki == go inyalanya le sengwe kgotsa go nyala == '''English'''</br> * Espouse</br> '''Dikai''</br> * The people espoused the idea of equality</br> * Batho ba inyalanya le kakanyo ya tekatekano jjeq0p6gikxyfltisdrplurs20zjgin Ithaopa 0 2800 8178 8176 2022-06-28T10:07:47Z Rebel Agent 2678 /* Setswana */Added content 8178 wikitext text/x-wiki == Setswana == * Ithaopa Ga o '''ithaopa''' o nna '''moithaopi''' ====Sekai==== * Ke '''ithaopa''' go thokomela bana ba gago * Batho ba le mmalwa ba ne ba '''ithaopa''' * Le utlwile gatwe ke '''moithaopi''' 90i2w6pyhpjkoia67x8gxxfhhlqb93y mantšhwe 0 2801 7722 7619 2017-04-24T19:07:19Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7722 wikitext text/x-wiki == mantšhwe == '''Sekgoa/English'''</br> * Ostrich</br> '''Bontsi/Noun'''</br> * Ostriches b1dkltoivtvvxuvx1cyaemaj4fjbh53 nare 0 2802 7734 7620 2017-04-24T19:07:24Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7734 wikitext text/x-wiki == nare == '''Sekgoa/English'''</br> * Buffalo</br> mqmmtp06mdt7ldge3xmdc43bvqnplvh thutlwa 0 2803 7754 7621 2017-04-24T19:07:36Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7754 wikitext text/x-wiki == thutlwa == '''Sekgoa/English'''</br> * Giraffe o9w91uuwwdb23mpfakqz5vkty683kby kwena 0 2804 7713 7622 2017-04-24T19:07:14Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7713 wikitext text/x-wiki == kwena == '''Sekgoa/English'''</br> * Crocodile 6n2n4blrjafepn33tvmjjggqnubs5q3 tlhware 0 2805 7755 7623 2017-04-24T19:07:36Z JAnDbot 470 removing interwiki - replaced by [[mw:Extension:Cognate|cognate]]; cosmetic changes 7755 wikitext text/x-wiki == tlhware == Tlhanolo ya tlhware ka '''Sekgoa/English''' ke:</br> * Python dzgna4ev8hyoelg9yqhqts3osahzhpf Khudu 0 2806 8500 8181 2022-11-22T00:49:04Z Rebel Agent 2678 /* Setswana */Ke tsentse molaetsa 8500 wikitext text/x-wiki == Setswana == * Khudu * Khudu ke setshidi kgotsa phologolo * Go nale batho ba ba jang setshidi se Ga di le dintshi ke '''dikhudu''' ===Sekai=== * Rre yole o ruile '''dikhudu''' ek1lecjpw0z3s5d2fd0z8x6su1hke7i Tempolete:noindex 10 2820 7860 2019-02-27T14:22:57Z Djsasso 563 Redirected page to [[Template:NOINDEX]] 7860 wikitext text/x-wiki #REDIRECT [[Template:NOINDEX]] md6e8hsjqirryh1ltca912v40j3l6y1 Tempolete:NOINDEX 10 2821 7862 7861 2019-02-27T14:23:31Z Djsasso 563 7862 wikitext text/x-wiki <includeonly>__NOINDEX__{{#ifeq:{{{visible|}}}|yes|{{{text|This page has been removed from search engines' indexes.}}}}}</includeonly> 3on5r8f3w0aebu31i9qlfkefsa3zeu1 Tempolete:dipolanete 10 2852 8577 8564 2023-12-15T04:43:36Z Kwamikagami 2578 8577 wikitext text/x-wiki <div align="center"> {| class="toccolours" style="margin: 0 auto;text-align:center;" ! style="background: #ccccff;" | Matshwao a dipolanete |- |[[Image:Sun symbol (fixed width).svg|link=☉]] · [[Image:Mercury symbol (fixed width).svg|link=☿]] · [[Image:Venus symbol (fixed width).svg|link=♀]] · [[Image:Earth symbol (fixed width).svg|link=🜨]]&ndash;[[Image:Globus cruciger (fixed width).svg|link=♁]] · [[Image:Moon crescent symbol (fixed width).svg|link=☽]]&ndash;[[Image:Moon decrescent symbol (fixed width).svg|link=☾]] · [[Image:Mars symbol (fixed width).svg|link=♂]] · [[Image:Ceres symbol (fixed width).svg|link=⚳]] · [[Image:Pallas symbol (fixed width).svg|link=⚴]] · [[Image:Juno symbol (fixed width).svg|link=⚵]] · [[Image:Vesta symbol (fixed width).svg|link=⚶]] · [[Image:Hygiea symbol (fixed width).svg|link=⯚]] · [[Image:Chiron symbol (fixed width).svg|link=⚷]] · [[Image:Jupiter symbol (fixed width).svg|link=♃]] · [[Image:Saturn symbol (fixed width).svg|link=♄]] · [[Image:Uranus symbol (fixed width).svg|link=⛢]]&ndash;[[Image:Uranus monogram (fixed width).svg|link=♅]] · [[Image:Neptune symbol (fixed width).svg|link=♆]] · [[Image:Pluto symbol (large orb, fixed width).svg|link=⯓]]&ndash;[[Image:Pluto monogram (fixed width).svg|link=♇]] · [[Image:Orcus symbol (fixed width).svg|link=🝿]] · [[Image:Haumea symbol (fixed width).svg|link=🝻]] · [[Image:Quaoar symbol (fixed width).svg|link=🝾]] · [[Image:Makemake symbol (fixed width).svg|link=🝼]] · [[Image:Gonggong symbol (fixed width).svg|link=🝽]] · [[Image:Eris symbol (fixed width).svg|link=⯰]] · [[Image:Sedna symbol (fixed width).svg|link=⯲]] · [[Image:Comet symbol (fixed width).svg|link=☄]] |} </div> r5bgwo2d5xvyl7tehzfb80q0ugbjrxg 0 2853 8086 8070 2022-06-14T20:51:39Z Kwamikagami 2578 8086 wikitext text/x-wiki __NOTOC__ {{=mul=}} [[File:Sun symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la [[letsatsi]] # (''alchemy'') [[gouta]], [[gauta]] ===Dikai=== :[1]: [[L☉|''L''<sub>☉</sub>]], [[M☉|''M''<sub>☉</sub>]], [[R☉|''R''<sub>☉</sub>]] ===Bona gape=== {{dipolanete}} kzpqr4fozh1360b3hoyotugfnvvdljo 0 2854 8055 8008 2022-06-08T09:47:22Z Kwamikagami 2578 /* Letshwao */ 8055 wikitext text/x-wiki {{=mul=}} [[File:Mercury symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la polanete ya [[Mercury]] # (''alchemy'') [[mekhuri]] ===Bona gape=== {{dipolanete}} 08c3x9hev1tstm3365694xr80vcbqf5 0 2855 8101 8085 2022-06-14T20:54:03Z Kwamikagami 2578 8101 wikitext text/x-wiki __NOTOC__ {{=mul=}} [[File:Venus symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la polanete ya [[Venus]] # (thutotshelo) letshwao la bong bo [[sesadi]], la [[mosadi]] # (''alchemy'') [[kgotlho]] ([[kopore]]) ====La sele==== :[2]: [[♂]] ===Bona gape=== {{dipolanete}} in57m6ylsto00d28ojgq3fw0isas472 0 2856 8096 8080 2022-06-14T20:53:37Z Kwamikagami 2578 8096 wikitext text/x-wiki __NOTOC__ {{=mul=}} [[File:Mars symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la polanete ya [[Mars]] # (thutotshelo) letshwao la bong bo [[senna]], la [[monna]] # (''alchemy'') [[tshipi]] ([[aene]]) ====La sele==== :[2]: [[♀]] ===Bona gape=== {{dipolanete}} axxhrfiakfcj3icl2wilvub1gkwro4i Tempolete:=mul= 10 2857 8054 8007 2022-06-08T09:46:51Z Kwamikagami 2578 /* Ditšhabatšhaba */ 8054 wikitext text/x-wiki {{#if:1|==Ditšhabatšhaba==}} <noinclude>[[Category:Language templates|mul]]</noinclude> jy1tyls0g8ffz2e6m7t39nnri0f6yof 🜨 0 2858 8100 8084 2022-06-14T20:53:57Z Kwamikagami 2578 8100 wikitext text/x-wiki __NOTOC__ {{=mul=}} [[File:Earth symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # letshwao la [[lefatshe]] # (thutodinaledi, tepodinaledi) letshwao la [[polanete]] ya rona # (''alchemy'') ''[[verdigris]]'' ([[rusa]] le [[jego]] ya [[kgotlho]] le [[boronse]]) ====Tshwana le bokao==== :[1, 2]: [[♁]] ===Dikai=== :[2]: [[M🜨|''M''<sub>🜨</sub>]], [[R🜨|''R''<sub>🜨</sub>]] ===Bona gape=== {{dipolanete}} bgwakbycmdvd27q1wrck36b6mvnadso 0 2859 8099 8083 2022-06-14T20:53:53Z Kwamikagami 2578 8099 wikitext text/x-wiki __NOTOC__ {{=mul=}} [[File:Globus cruciger (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # letshwao la [[lefatshe]] # (thutodinaledi) letshwao la [[polanete]] ya rona # (''alchemy'') [[sekaselefera]] (''[[antimony]]'') ====Tshwana le bokao==== :[1, 2]: [[🜨]] ===Bona gape=== {{dipolanete}} kl61fveaahlxcuh9w0m0t6gt3drrrab 0 2860 8097 8081 2022-06-14T20:53:42Z Kwamikagami 2578 8097 wikitext text/x-wiki __NOTOC__ {{=mul=}} [[File:Moon decrescent symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la [[ngwedi]] # (''alchemy'') [[selefera]] ====Tshwana le bokao==== * [[☽]] ===Bona gape=== {{dipolanete}} jrwfprxg914cpfqxof8jjjwdq01s8s6 0 2861 8098 8082 2022-06-14T20:53:48Z Kwamikagami 2578 8098 wikitext text/x-wiki __NOTOC__ {{=mul=}} [[File:Moon crescent symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la [[ngwedi]] # (''alchemy'') [[selefera]] ====Tshwana le bokao==== * [[☾]] ===Bona gape=== {{dipolanete}} b8a2jqrwwj5om8qrcl6az8w0q0esel2 0 2862 8094 8078 2022-06-14T20:53:25Z Kwamikagami 2578 8094 wikitext text/x-wiki __NOTOC__ {{=mul=}} [[File:Uranus monogram (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la polanete ya [[Uranus]] ====Tshwana le bokao==== * [[⛢]] ===Bona gape=== {{dipolanete}} qrw09i6xmywxtmgtcpol6xdjqycn9yj 0 2863 8578 8088 2023-12-15T05:15:19Z Kwamikagami 2578 8578 wikitext text/x-wiki __NOTOC__ {{=mul=}} [[File:Pluto symbol (large orb, fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la polanete e nyenyane ya [[Pluto]] ====Tshwana le bokao==== * [[♇]], [[⯕]] ===Bona gape=== {{dipolanete}} 3r03ppimqr4fdmyfsdll8x31uaxsiqc 0 2864 8087 8074 2022-06-14T20:52:17Z Kwamikagami 2578 8087 wikitext text/x-wiki __NOTOC__ {{=mul=}} [[File:Pluto monogram (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la polanete e nyenyane ya [[Pluto]] ====Tshwana le bokao==== * [[⯓]] ===Bona gape=== {{dipolanete}} s1vhwxoj6u3qfp6xffo83zjlx2kp62u 0 2865 8092 8072 2022-06-14T20:53:02Z Kwamikagami 2578 8092 wikitext text/x-wiki __NOTOC__ {{=mul=}} [[File:Eris symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la polanete e nyenyane ya [[Eris]] ====Tshwana le bokao==== * [[⯱]] ===Bona gape=== {{dipolanete}} dgidxywuvci6g2116uwp9d43bzfh9od 0 2866 8017 2022-04-18T21:17:47Z Kwamikagami 2578 Created page with "{{=mul=}} [[File:Sedna symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la polanete e nyenyane ya [[Sedna]] ===Bona gape=== {{dipolanete}}" 8017 wikitext text/x-wiki {{=mul=}} [[File:Sedna symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la polanete e nyenyane ya [[Sedna]] ===Bona gape=== {{dipolanete}} oq7tawpsek83nidmf8ejetu8plx4qfk 🝽 0 2867 8018 2022-04-18T21:18:00Z Kwamikagami 2578 Created page with "{{=mul=}} [[File:Gonggong symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la polanete e nyenyane ya [[Gonggong]] ===Bona gape=== {{dipolanete}}" 8018 wikitext text/x-wiki {{=mul=}} [[File:Gonggong symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la polanete e nyenyane ya [[Gonggong]] ===Bona gape=== {{dipolanete}} 11vcif0jwthxc6f2dhoje9bf683r0og 🝼 0 2868 8019 2022-04-18T21:18:19Z Kwamikagami 2578 Created page with "{{=mul=}} [[File:Makemake symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la polanete e nyenyane ya [[Makemake]] ===Bona gape=== {{dipolanete}}" 8019 wikitext text/x-wiki {{=mul=}} [[File:Makemake symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la polanete e nyenyane ya [[Makemake]] ===Bona gape=== {{dipolanete}} 19v8cv5196vuewj7zwo7dx01uy7f1r4 🝾 0 2869 8020 2022-04-18T21:18:52Z Kwamikagami 2578 Created page with "{{=mul=}} [[File:Quaoar symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la polanete e nyenyane ya [[Quaoar]] ===Bona gape=== {{dipolanete}}" 8020 wikitext text/x-wiki {{=mul=}} [[File:Quaoar symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la polanete e nyenyane ya [[Quaoar]] ===Bona gape=== {{dipolanete}} 47jqyzqneakg57p59x3b3ivk308qntw 🝻 0 2870 8021 2022-04-18T21:19:13Z Kwamikagami 2578 Created page with "{{=mul=}} [[File:Haumea symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la polanete e nyenyane ya [[Haumea]] ===Bona gape=== {{dipolanete}}" 8021 wikitext text/x-wiki {{=mul=}} [[File:Haumea symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la polanete e nyenyane ya [[Haumea]] ===Bona gape=== {{dipolanete}} jmkxbm2n794gyrbwoo6m6v3dkwavgbz 🝿 0 2871 8022 2022-04-18T21:19:39Z Kwamikagami 2578 Created page with "{{=mul=}} [[File:Orcus symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la polanete e nyenyane ya [[Orcus]] ===Bona gape=== {{dipolanete}}" 8022 wikitext text/x-wiki {{=mul=}} [[File:Orcus symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la polanete e nyenyane ya [[Orcus]] ===Bona gape=== {{dipolanete}} k4kym7k66r4g17q0nizsjkv3avpq0vv 0 2872 8089 8077 2022-06-14T20:52:26Z Kwamikagami 2578 8089 wikitext text/x-wiki __NOTOC__ {{=mul=}} [[File:Neptune symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la polanete ya [[Neptune]] ====Tshwana le bokao==== * [[⯉]] ===Bona gape=== {{dipolanete}} hux1vg5uvurpfu8axi4xgkev3ej02mn 0 2873 8095 8079 2022-06-14T20:53:32Z Kwamikagami 2578 8095 wikitext text/x-wiki __NOTOC__ {{=mul=}} [[File:Uranus symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la polanete ya [[Uranus]] # (''alchemy'') [[polatinamo]], [[polatina]] ====Tshwana le bokao==== :[1]: [[♅]] ===Bona gape=== {{dipolanete}} sip4zfntb3t2mvsooskdq8gggvhgai8 0 2874 8067 8025 2022-06-08T09:54:43Z Kwamikagami 2578 /* Letshwao */ 8067 wikitext text/x-wiki {{=mul=}} [[File:Saturn symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la polanete ya [[Saturn]] # (''alchemy'') [[lloto]] ===Bona gape=== {{dipolanete}} 35azjshdgcnw0mofbxkfhvhavizroiq 0 2875 8066 8026 2022-06-08T09:54:29Z Kwamikagami 2578 /* Letshwao */ 8066 wikitext text/x-wiki {{=mul=}} [[File:Jupiter symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la polanete ya [[Jupitere]] ([[Jupiter]]) # (''alchemy'') [[thini]] ===Bona gape=== {{dipolanete}} ftbvchs744pmn2u1q9me07km4zajvu1 0 2876 8027 2022-04-18T21:22:16Z Kwamikagami 2578 Created page with "{{=mul=}} [[File:Ceres symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la polanete e nyenyane le asteroid ya (1) [[Ceres]] ===Bona gape=== {{dipolanete}}" 8027 wikitext text/x-wiki {{=mul=}} [[File:Ceres symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la polanete e nyenyane le asteroid ya (1) [[Ceres]] ===Bona gape=== {{dipolanete}} co48v7k351061kh7pvb2x95948plxr7 0 2877 8028 2022-04-18T21:22:45Z Kwamikagami 2578 Created page with "{{=mul=}} [[File:Pallas symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la asteroid ya (2) [[Pallas]] ===Bona gape=== {{dipolanete}}" 8028 wikitext text/x-wiki {{=mul=}} [[File:Pallas symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la asteroid ya (2) [[Pallas]] ===Bona gape=== {{dipolanete}} nic036l75pifockmd78e3l2dufl95pv 0 2878 8029 2022-04-18T21:23:00Z Kwamikagami 2578 Created page with "{{=mul=}} [[File:Juno symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la asteroid ya (3) [[Juno]] ===Bona gape=== {{dipolanete}}" 8029 wikitext text/x-wiki {{=mul=}} [[File:Juno symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la asteroid ya (3) [[Juno]] ===Bona gape=== {{dipolanete}} l2jl6ibhlkrkwq69815pd02irrc5rxt 0 2879 8030 2022-04-18T21:23:16Z Kwamikagami 2578 Created page with "{{=mul=}} [[File:Vesta symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la asteroid ya (4) [[Vesta]] ===Bona gape=== {{dipolanete}}" 8030 wikitext text/x-wiki {{=mul=}} [[File:Vesta symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, tepodinaledi) letshwao la asteroid ya (4) [[Vesta]] ===Bona gape=== {{dipolanete}} fgfmmk9r6t48a3mo4amjx35kdau1r9d 0 2880 8559 8031 2023-03-22T18:23:14Z CommonsDelinker 15 Replacing Hygiea_symbol_(astrological,_fixed_width).svg with [[File:Hygiea_astrological_symbol_(fixed_width).svg]] (by [[:c:User:CommonsDelinker|CommonsDelinker]] because: [[:c:COM:FR|File renamed]]:). 8559 wikitext text/x-wiki {{=mul=}} [[File:Hygiea astrological symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (tepodinaledi) letshwao la asteroid ya (10) [[Hygiea]] ===Bona gape=== {{dipolanete}} gqpuf2h2hlhd815z8msksv7if1x1tup 0 2881 8032 2022-04-18T21:24:49Z Kwamikagami 2578 Created page with "{{=mul=}} [[File:Chiron symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (tepodinaledi) letshwao la asteroid le [[centaur]] ya (2060) [[Chiron]] ===Bona gape=== {{dipolanete}}" 8032 wikitext text/x-wiki {{=mul=}} [[File:Chiron symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (tepodinaledi) letshwao la asteroid le [[centaur]] ya (2060) [[Chiron]] ===Bona gape=== {{dipolanete}} hbdapwd34ydon5fnqy8vukfhjw2u94a 0 2882 8033 2022-04-18T21:25:36Z Kwamikagami 2578 Created page with "{{=mul=}} [[File:comet symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi) letshwao la [[motshotshonono]] ([[comet]]) ===Bona gape=== {{dipolanete}}" 8033 wikitext text/x-wiki {{=mul=}} [[File:comet symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi) letshwao la [[motshotshonono]] ([[comet]]) ===Bona gape=== {{dipolanete}} h4wyyj5eyyrnkapxw6cj1fa834oojms 0 2883 8093 8071 2022-06-14T20:53:19Z Kwamikagami 2578 8093 wikitext text/x-wiki __NOTOC__ {{=mul=}} [[File:Eris arrow symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (tepodinaledi) letshwao la polanete e nyenyane ya [[Eris]] ====Tshwana le bokao==== * [[⯰]] ===Bona gape=== {{dipolanete}} c20yz53bf2ho4aieozo2tgbxkbv8m69 0 2884 8090 8076 2022-06-14T20:52:51Z Kwamikagami 2578 8090 wikitext text/x-wiki __NOTOC__ {{=mul=}} [[File:Neptune monogram (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (thutodinaledi, ''tlhole'') letshwao la polanete ya [[Neptune]] ====Tshwana le bokao==== * [[♆]] ===Bona gape=== {{dipolanete}} ofiogrux9m9k4561xi8dkx76z7ew9cg 0 2885 8091 8073 2022-06-14T20:52:57Z Kwamikagami 2578 8091 wikitext text/x-wiki __NOTOC__ {{=mul=}} [[File:Charon symbol (fixed width).svg|80px|right|frameless|{{PAGENAME}}]] ===Letshwao=== # (tepodinaledi) letshwao la polanete e nyenyane ya [[Pluto]] # (thutodinaledi) letshwao la ngwedi ka [[Kharon]], ngwedi ya Pluto ====Tshwana le bokao==== :[1]: [[⯓]] ===Bona gape=== {{dipolanete}} eivtwfnjwz7yvn8psl8n89ft4ue0jsx Tempolete:Main Page/minerva.css 10 2886 8103 2022-06-26T08:37:45Z Rebel Agent 2678 Created page with "/* This template is loaded on the main page to address T32405 Please feel free to adapt the code, translate this message. Updates can be found in https://gist.github.com/jdlrobson/dbb124296ed2a1fc7242018c7b589059 */ @media screen and ( max-width: 720px ) { body.skin-minerva td, body.skin-minerva tr, body.skin-minerva tbody, body.skin-minerva table { display: block !important; width: 100% !important; box-sizing: border-box; } }" 8103 sanitized-css text/css /* This template is loaded on the main page to address T32405 Please feel free to adapt the code, translate this message. Updates can be found in https://gist.github.com/jdlrobson/dbb124296ed2a1fc7242018c7b589059 */ @media screen and ( max-width: 720px ) { body.skin-minerva td, body.skin-minerva tr, body.skin-minerva tbody, body.skin-minerva table { display: block !important; width: 100% !important; box-sizing: border-box; } } g8nxnixgoi4ug5h5hbnz8bqoengegti nko 0 2888 8125 2022-06-27T14:23:52Z Rebel Agent 2678 Rebel Agent moved page [[nko]] to [[Nko]]: Mafoko a simolola ka dithaka tse ditona 8125 wikitext text/x-wiki #REDIRECT [[Nko]] l93n82hl9ogavn4cqzbw2a9vvlsderz leitlho 0 2889 8130 2022-06-27T14:36:26Z Rebel Agent 2678 Rebel Agent moved page [[leitlho]] to [[Leitlho]]: Mafoko a simolola ka dithaka tse ditona 8130 wikitext text/x-wiki #REDIRECT [[Leitlho]] 1fd0329bp33z4u4bcimjatujb961ps5 Leitho 0 2890 8132 2022-06-27T14:38:42Z Rebel Agent 2678 Same thing 8132 wikitext text/x-wiki #Redirect [[Leitlho]] a2fz4vkult9s6l7w9p4ve3gxfppzsve Tsebe 0 2891 8135 2022-06-27T14:50:47Z Rebel Agent 2678 Added content 8135 wikitext text/x-wiki == Setswana == * Tsebe * Tsebe ke lefoko la Setswana le le kgonang go dirisiwa ga ntse nyana * O kgona go dirisa lefoko '''Tsebe''' o raya karolo ya mo mmeleng * O kgona gape go dirisa lefoko tsebe o raya ditsebe tsa [[Buka|buka]] kana maranyane. === Sekai === * Tsebe ya gago e nnyane jwang * Tsebe ya konokono * Bulang tsebe ya bo masome a mabedi le boratato mo dibukeng tsa lona g68w7l6tk26fw21j58ibnwxgyghep1r Black people 0 2892 8142 2022-06-27T15:01:46Z Rebel Agent 2678 Redirected page to [[Batho bantsho]] 8142 wikitext text/x-wiki #Redirect [[Batho bantsho]] 8bs6tdc1d6czu1f0edwy4bngtb1x2i9 Blacks 0 2893 8143 2022-06-27T15:02:36Z Rebel Agent 2678 Redirected page to [[Batho bantsho]] 8143 wikitext text/x-wiki #Redirect [[Batho bantsho]] 8bs6tdc1d6czu1f0edwy4bngtb1x2i9 Tlou 0 2894 8150 2022-06-27T15:22:12Z Rebel Agent 2678 Ke tsentse Tlou 8150 wikitext text/x-wiki == Setswana == * Tlou * Tlou ke leina la Setswana le le dirisiwang go raya phologolo e tona e nna mo nageng Ga di le dintse ke '''ditlou''' === Sekai === * Bajanala ba etela lefatshe la rona go tla go bona ditlou 99f6tysyyhihlqtgccowecwvkkyul2b molelo 0 2895 8156 2022-06-27T15:29:04Z Rebel Agent 2678 Rebel Agent moved page [[molelo]] to [[Molelo]]: Mafoko a simolola ka dithaka tse ditona 8156 wikitext text/x-wiki #REDIRECT [[Molelo]] 6dqw5v7iaj8qb51riulsxjiv4t08t9t seatla 0 2896 8163 2022-06-27T15:41:12Z Rebel Agent 2678 Rebel Agent moved page [[seatla]] to [[Seatla]]: Mafoko a simolola ka dithaka tse ditona 8163 wikitext text/x-wiki #REDIRECT [[Seatla]] gqjh4ytkh8iwzppvl2s3pttl72atb5j I 0 2897 8174 2022-06-28T09:57:49Z Rebel Agent 2678 Rebel Agent moved page [[I]] to [[Ke]]: Translation 8174 wikitext text/x-wiki #REDIRECT [[Ke]] n5o38s0fm1pmgtl1qcqh8c4ye5hcfuh ithaopa 0 2898 8177 2022-06-28T10:03:13Z Rebel Agent 2678 Rebel Agent moved page [[ithaopa]] to [[Ithaopa]]: Mafoko a simolola ka dithaka tse ditona 8177 wikitext text/x-wiki #REDIRECT [[Ithaopa]] hj053qdinuanyn7cl4eron9r3hh3260 Volunteer 0 2899 8179 2022-06-28T10:09:43Z Rebel Agent 2678 Redirect to [[Ithaopa]] same thing 8179 wikitext text/x-wiki #Redirect [[Ithaopa]] l2o6viz7p14u2ixlrqye7ni5cyjy5xw Itlhaopa 0 2900 8180 2022-06-28T10:10:53Z Rebel Agent 2678 Redirected page to [[Ithaopa]] 8180 wikitext text/x-wiki #Redirect [[Ithaopa]] l2o6viz7p14u2ixlrqye7ni5cyjy5xw Tortoise 0 2901 8182 2022-06-28T10:19:20Z Rebel Agent 2678 Redirected page to [[Khudu]] 8182 wikitext text/x-wiki #Redirect [[Khudu]] k8awgj6p8d9fmkhuhh5rsjdiz9mqsu0 Room 0 2902 8185 2022-06-28T10:27:01Z Rebel Agent 2678 Redirected page to [[Kamore]] 8185 wikitext text/x-wiki #Redirect [[Kamore]] kgv90un0nkdqek8tyvd5p8sdswhk6xl Love 0 2903 8188 2022-06-28T10:34:16Z Rebel Agent 2678 Redirected page to [[Lerato]] 8188 wikitext text/x-wiki #Redirect [[Lerato]] b6bt94yrbzqd74yaz7fin16te7tyxq3 Amogelesega 0 2904 8190 2022-06-28T15:56:21Z Rebel Agent 2678 Created page with "== Setswana == * Amogelesega * O Amogelesegile ===Sekai=== * Amogelesega mo [[:tn:|Wikipedia]] Ya Setswana * O '''amogelesegile''' mo lwapeng la rona." 8190 wikitext text/x-wiki == Setswana == * Amogelesega * O Amogelesegile ===Sekai=== * Amogelesega mo [[:tn:|Wikipedia]] Ya Setswana * O '''amogelesegile''' mo lwapeng la rona. ap0vnrjjfp5wcjvhhijkvy53shf1px8 Welcome 0 2905 8191 2022-06-28T15:57:17Z Rebel Agent 2678 Redirected page to [[Amogelesega]] 8191 wikitext text/x-wiki #Redirect [[Amogelesega]] k8ulp8tkaxb1g1jefaavqh1dhfsu8gc Mo 0 2906 8192 2022-06-28T16:23:35Z Rebel Agent 2678 Created page with "== Setswana == * Mo * Mo ke lefoko le le disiwang go kaya gore '''mo''' ===Sekai=== * Tsenya beke yame '''mo''' koloing" 8192 wikitext text/x-wiki == Setswana == * Mo * Mo ke lefoko le le disiwang go kaya gore '''mo''' ===Sekai=== * Tsenya beke yame '''mo''' koloing qblqcc7ya0j1m1xxfasvpc3kp8mlcq8 In 0 2907 8193 2022-06-28T16:24:33Z Rebel Agent 2678 Redirected page to [[Mo]] 8193 wikitext text/x-wiki #Redirect [[Mo]] ln81zdnw94xuhaykhekhkmgiqzecf8g Tau 0 2908 8196 8194 2022-06-28T16:31:10Z Rebel Agent 2678 /* Setswana */Added content 8196 wikitext text/x-wiki == Setswana == * Tau * Tau ke leina le le dirisiwang go raya phologolo * Mo Botswana '''Tau''' e kgona go nna leina la motho kana lefelo Tau ga di le dintshi ke '''ditau''' ===Sekai=== * Ke tsaba ditau * Tau yele e bono jang nvit58huj73bpusv5d1lr4kqyitdf91 Lion 0 2909 8195 2022-06-28T16:29:59Z Rebel Agent 2678 Redirected page to [[Tau]] 8195 wikitext text/x-wiki #Redirect [[Tau]] rq0evc2n32468rt4rxlmxrfny8qhuey Batho 0 2910 8199 2022-07-03T14:04:56Z Emkay2004 2713 added content 8199 wikitext text/x-wiki ==Setswana== Batho '''Ga a le mongwe''' Motho '''Gape o ka dirisa''' Setho Botho O bua jaana 'batwo' ===English=== '''Alternative forms''' peeps, peops [[W:slang|Slang]] peple [[W:obsolete|obsolete]] '''pronunciation spelling''' piple ppl, ppl. glpnro97x44s2i5a12wi4d3zwv90paj Botshelo 0 2911 8658 8202 2024-10-25T21:15:29Z Таёжный лес 3213 8658 wikitext text/x-wiki ==Setswana== Botshelo ===Thaloso=== Go tshela 'Motho o a tshela' ===Mafoko a a tsamaelanang=== *Setshedi *Tshela *Ditshedi g8x7g3d5dfxl9aetdmigjz9zb8kki28 Naledi 0 2912 8650 8220 2024-10-25T21:05:57Z Таёжный лес 3213 not in Tswana 8650 wikitext text/x-wiki [[File:Cévennes France night sky with stars 01.jpg|thumb]] ==Setswana== [[W:Star|Naledi]] ===Thaloso=== *[[W:Star|Naledi]] e bonwa no legodimong *[[W:Star|Naledi]] ke selo se se galalelang mo legodimong ===Dikai=== *Poko ya motho kana selo"Ke naledi" ===Go nale=== *[[W:Moon|Ngwedi]] ===Okare=== Dineledi le Ngwedi oi9wook2mlyl74gbxjedpz6sqb2hw1h Lela 0 2914 8651 8209 2024-10-25T21:07:08Z Таёжный лес 3213 not in Tswana 8651 wikitext text/x-wiki ==Setswana== Lela ===Thaloso=== *Go lela *Go tsholola dikeledi *Go utlwa bothoko metsi a bo a tswa ka matho ===Dikai=== *Motho o a lela *O utwile bothoko a bo a lela f30ym7fugf98d2fuf1gr42d0sb1wp3h Kua 0 2915 8655 8210 2024-10-25T21:10:38Z Таёжный лес 3213 not in Tswana 8655 wikitext text/x-wiki ==Setswana== Kua ===Thaloso=== *Go thodia *Go tsosa modumo *Go buela ko godimo *Go bua o goa *Go bua ka lentswe le le ko godimo ===Sekai=== *Lesego o a kua/Lesego o buela kwa godimo brbc7hghf70mmro3i3ufyvnjarneo2l Koko 0 2916 8652 8219 2024-10-25T21:07:25Z Таёжный лес 3213 not in Tswana 8652 wikitext text/x-wiki [[File:Gallus gallus domesticus (Parque Quevedo).001 - Leon.jpg|thumb]] ==Setswana== Koko ===Thaloso=== *Ke Setshedi *Nngwe ya dinonyane tse di sa fofeng ===Dikai=== *Koko e nale Bana ===O bua jaana=== Ko/Ko i8hepqk7gy2vc7sk1jgc76r9u1vokm5 Pudi 0 2917 8653 8218 2024-10-25T21:09:58Z Таёжный лес 3213 not in Tswana 8653 wikitext text/x-wiki [[File:Goat mom feeds baby goat.jpg|thumb]] ==Setswana== Pudi ===Thaloso=== *Pudi ke seruiwa sa mo gae *E nale maoto ale mane ===Dikai=== *Pudi di a hula *Pudi di mo lesakeng ===Okare=== -ha di le dintsi okare '''dipudi''' kzbo5ckqkyqg3v74bb0smgp5dh22bdv Notshi 0 2918 8654 8217 2024-10-25T21:10:14Z Таёжный лес 3213 not in Tswana 8654 wikitext text/x-wiki [[File:Busy Bee.jpg|thumb]] ==Setswana== Notshi ===Thaloso=== *Ke setshedinyana se sennyane *Ke ntshi ye mmala wale phutshi ===Sekai=== *Notshi e palame sethunya ===O bua jaana=== *No/ts/ii *Nooo/t/s/ii 4bnqktkw8czy7j6c8brwhx5ka7qz60u apole 0 2919 8223 2022-07-15T03:44:45Z Rebel Agent 2678 Ke dirile tsebe 8223 wikitext text/x-wiki ==Setswana== * Apole * Apole ke leungo le le jewang Bontsi ke diapole ===Sekai=== * Ke rata go ja di apole tjmj4wkzfj3no98flsr2zmz1yhvvbs0 Setswana 0 2921 8649 8313 2024-10-25T21:04:43Z Таёжный лес 3213 not in Tswana 8649 wikitext text/x-wiki ==Setswana== * Setswana * Setswana ke teme ===Sekai=== * Ke bua Setswana * Setswana ke teme e e buiwang ko lefatsheng la [[Botswana]] csyhchabcnbtrrn4rn0rf96r3sv7cro Tempolete:audio 10 2922 8227 2022-07-18T19:32:29Z Rebel Agent 2678 Ke dirile template 8227 wikitext text/x-wiki {{check deprecated lang param usage|lang={{{lang|}}}|1=<!-- --><templatestyles src="audio/styles.css" /><!-- --><table class="audiotable" style="vertical-align: bottom; display:inline-block; list-style:none;line-height: 1em; border-collapse:collapse;"><!-- --><tr><!-- -->{{#ifeq:{{{format|}}}|1<!-- -->|<!-- Do nothing -->|<!-- -->{{#if:{{#if:{{{lang|}}}|{{{2|}}}|{{{3|}}}}}<!-- -->|<td class="unicode audiolink" style="padding-right:5px; padding-left: 0;">{{#if:{{{lang|}}}|{{{2|<noinclude>{{{2}}}</noinclude>}}}|{{{3|<noinclude>{{{3}}}</noinclude>}}}}}</td><!-- -->}}<!-- -->}}<!-- --><td class="audiofile"><!-- -->[[File:{{#if:{{{lang|}}}|{{{1|<noinclude>Example.ogg</noinclude>}}}|{{{2|<noinclude>Example.ogg</noinclude>}}}}}|noicon|175px]]<!-- --></td><!-- --><td class="audiometa" style="font-size: 80%;"><!-- -->([[:File:{{#if:{{{lang|}}}|{{{1|<noinclude>Example.ogg</noinclude>}}}|{{{2|<noinclude>Example.ogg</noinclude>}}}}}|file]])<!-- --></td><!-- --></tr><!-- -->{{#ifeq:{{{format|}}}|1<!-- -->|<!-- --><tr><!-- --><td style="font-size: 90%; width: 25%;">{{#if:{{{lang|}}}|{{#if:{{{2|}}}|{{{2}}}}}|{{#if:{{{3|}}}|{{{3}}}}}}}</td><!-- --></tr><!-- -->}}<!-- --></table><!-- -->}}<!-- (end of {{check deprecated lang param usage}}) --><includeonly><!-- -->{{#if:{{#if:{{{lang|}}}|{{{lang|}}}|{{{1|}}}}}||{{#invoke:debug|error|Missing language code.}}}}<!-- -->{{#ifeq:{{{format|}}}|1<!-- -->|<!-- Do nothing -->|<!-- -->{{#ifeq:{{NAMESPACE}}||<!-- -->{{catlangname|{{#if:{{{lang|}}}|{{{lang|}}}|{{{1|}}}}}|terms with audio links}}<!-- -->}}<!-- -->}}<!-- --></includeonly><!-- --><noinclude>{{documentation}}</noinclude> qykirv4eunaf96ew6lkvf16kr4dz5cn Tempolete:check deprecated lang param usage 10 2923 8228 2022-07-18T19:34:00Z Rebel Agent 2678 Ke dirile template 8228 wikitext text/x-wiki {{deprecated code|active={{#if:{{{lang|}}}|yes|no}}|text=deprecated use of {{para|lang}} parameter|tooltip=This template call uses the deprecated 'lang' parameter. Use '1' instead.|{{{1}}}}}<!-- --><noinclude>{{documentation}}</noinclude> nsym6z8ah5z53122s7pzrubji9ljwx8 Tempolete:deprecated code 10 2924 8229 2022-07-18T19:35:43Z Rebel Agent 2678 Ke dirile tsebe 8229 wikitext text/x-wiki {{#ifeq:{{{active|}}}|no|{{{1}}}|<span class="deprecated" title="{{#if:{{{tooltip|}}}|{{{tooltip}}}|This is a deprecated template usage.}}">''([[:Category:Successfully deprecated templates|{{#if:{{{text|}}}|{{{text}}}|deprecated template usage}}]])'' {{{1}}}</span>{{categorize|und|Pages using deprecated templates}}}}<!-- --><noinclude>{{documentation}}</noinclude> ers2zd6gyubay64tzx1fiso62cz35dn Tempolete:audio/styles.css 10 2925 8230 2022-07-18T19:37:32Z Rebel Agent 2678 Ke dirile css 8230 sanitized-css text/css /* Work-around for [[phab:T25965]] (Kaltura advertisement) */ .k-player .k-attribution { visibility: hidden; } oxfk6r6mqtgkw5nh8ifkuf7jz1mg5x0 Tempolete:catlangname 10 2926 8231 2022-07-18T19:39:08Z Rebel Agent 2678 Ke dirile tsebe 8231 wikitext text/x-wiki {{#invoke:utilities|template_categorize|format=pos}}<!-- --><noinclude>{{documentation}}</noinclude> 87uiyykahaaqya4m4g2bfetrarejfhj Module:utilities 828 2927 8593 8477 2024-04-27T07:43:00Z Rebel Agent 2678 8593 Scribunto text/plain local mw = mw local mw_text = mw.text local package = package local table = table local require = require local concat = table.concat local decode_entities = require("Module:string utilities").decode_entities local get_current_frame = mw.getCurrentFrame local insert = table.insert local ipairs = ipairs local maxn = table.maxn local tonumber = tonumber local trim = mw_text.trim local type = type local unstrip = mw_text.unstrip local unstripNoWiki = mw_text.unstripNoWiki local export = {} do local loaded = package.loaded local loader = package.loaders[2] --[==[ Like require, but return false if a module does not exist instead of throwing an error. Outputs are cached in {package.loaded}, which is faster for all module types, but much faster for nonexistent modules since require will attempt to use the full loader each time (since they don't get cached in {package.loaded}). Note: although nonexistent modules are cached as {false} in {package.loaded}, they still won't work with conventional require, since it uses a falsy check instead of checking the return value is not {nil}. ]==] function export.safe_require(modname) local module = loaded[modname] if module ~= nil then return module end -- The loader returns a function if the module exists, or nil if it doesn't, and checking this is faster than using pcall with require. If found, we still use require instead of loading and caching directly, because require contains safety checks against infinite loading loops (and we do want those to throw an error). module = loader(modname) if module then return require(modname) end loaded[modname] = false return false end end --[==[ Convert decimal to hexadecimal. Note: About three times as fast as the hex library. ]==] function export.dec_to_hex(dec) dec = tonumber(dec) if not dec or dec % 1 ~= 0 then error("Input should be a decimal integer.") end return ("%x"):format(dec):upper() end do local function check_level(lvl) if type(lvl) ~= "number" then error("Heading levels must be numbers.") elseif lvl < 1 or lvl > 6 or lvl % 1 ~= 0 then error("Heading levels must be integers between 1 and 6.") end return lvl end --[==[ A helper function which iterates over the headings in `text`, which should be the content of a page or (main) section. Each iteration returns three values: `sec` (the section title), `lvl` (the section level) and `loc` (the index of the section in the given text, from the first equals sign). The section title will be automatically trimmed, and any HTML entities will be resolved. The optional parameter `a` (which should be an integer between 1 and 6) can be used to ensure that only headings of the specified level are iterated over. If `b` is also given, then they are treated as a range. The optional parameters `a` and `b` can be used to specify a range, so that only headings with levels in that range are returned. If only `a` is given ... ]==] function export.find_headings(text, a, b) a = a and check_level(a) or nil b = b and check_level(b) or a or nil local start, loc, lvl, sec = 1 return function() repeat loc, lvl, sec, start = text:match("()%f[^%z\n](==?=?=?=?=?)([^\n]+)%2[\t ]*%f[%z\n]()", start) lvl = lvl and #lvl until not (sec and a) or (lvl >= a and lvl <= b) return sec and trim(decode_entities(sec)) or nil, lvl, loc end end local function get_section(content, name, level) if not (content and name) then return nil elseif name:find("\n", 1, true) then error("Heading name cannot contain a newline.") end level = level and check_level(level) or nil name = trim(decode_entities(name)) local start for sec, lvl, loc in export.find_headings(content, level and 1 or nil, level) do if start and lvl <= level then return content:sub(start, loc - 1) elseif not start and (not level or lvl == level) and sec == name then start, level = loc, lvl end end return start and content:sub(start) end --[==[ A helper function to return the content of a page section. `content` is raw wikitext, `name` is the requested section, and `level` is an optional parameter that specifies the required section heading level. If `level` is not supplied, then the first section called `name` is returned. `name` can either be a string or table of section names. If a table, each name represents a section that has the next as a subsection. For example, { {"Spanish", "Noun"}} will return the first matching section called "Noun" under a section called "Spanish". These do not have to be at adjacent levels ("Noun" might be L4, while "Spanish" is L2). If `level` is given, it refers to the last name in the table (i.e. the name of the section to be returned). The returned section includes all of its subsections. If no matching section is found, return {nil}. ]==] function export.get_section(content, names, level) if type(names) == "string" then return get_section(content, names, level) end local names_len = maxn(names) if names_len > 6 then error("Not possible specify more than 5 subsections: headings only go up to level 6.") end for i, name in ipairs(names) do content = get_section(content, name, i == names_len and level or nil) end return content end end --[==[ A function which returns the number of the page section which contains the current {#invoke}. ]==] function export.get_current_section() local frame = get_current_frame() -- We determine the section via the heading strip marker count, since they're numbered sequentially, but the only way to do this is to generate a fake heading via frame:preprocess(). The native parser assigns each heading a unique marker, but frame:preprocess() will return copies of older markers if the heading is identical to one further up the page, so the fake heading has to be unique to the page. The best way to do this is to feed it a heading containing a nowiki marker (which we will need later), since those are always unique. local nowiki_marker = frame:extensionTag("nowiki") -- Note: heading strip markers have a different syntax to the ones used for tags. local h = tonumber(frame:preprocess("=" .. nowiki_marker .. "=") :match("\127'\"`UNIQ%-%-h%-(%d+)%-%-QINU`\"'\127")) -- For some reason, [[Special:ExpandTemplates]] doesn't generate a heading strip marker, so if that happens we simply abort early. if not h then return 0 end -- The only way to get the section number is to increment the heading count, so we store the offset in nowiki strip markers which can be retrieved by procedurally unstripping nowiki markers, counting backwards until we find a match. local n, offset = tonumber(nowiki_marker:match("\127'\"`UNIQ%-%-nowiki%-([%dA-F]+)%-QINU`\"'\127"), 16) while not offset and n > 0 do n = n - 1 offset = unstripNoWiki(("\127'\"`UNIQ--nowiki-%08X-QINU`\"'\127"):format(n)) :match("^HEADING\1(%d+)") -- Prefix "HEADING\1" prevents collisions. end offset = offset and (offset + 1) or 0 frame:extensionTag("nowiki", "HEADING\1" .. offset) return h - offset end do local page_L2s --[==[ A function which returns the name of the L2 language section which contains the current {#invoke}. ]==] function export.get_current_L2() local section = export.get_current_section() if section == 0 then return nil end page_L2s = page_L2s or mw.loadData("Module:headword/data").page.page_L2s local L2 = page_L2s[section] while not L2 and section > 0 do section = section - 1 L2 = page_L2s[section] end return L2 end end --[==[ A helper function to strip wiki markup, giving the plaintext of what is displayed on the page. ]==] function export.get_plaintext(text) text = text :gsub("%[%[", "\1") :gsub("%]%]", "\2") -- Remove strip markers and HTML tags. text = unstrip(text):gsub("<[^<>\1\2]+>", "") -- Parse internal links for the display text, and remove categories. text = require("Module:links").remove_links(text) -- Remove files. for _, falsePositive in ipairs({"File", "Image"}) do text = text:gsub("\1" .. falsePositive .. ":[^\1\2]+\2", "") end -- Parse external links for the display text. text = text:gsub("%[(https?://[^%[%]]+)%]", function(capture) return capture:match("https?://[^%s%]]+%s([^%]]+)") or "" end) -- Any remaining square brackets aren't involved in links, but must be escaped to avoid creating new links. :gsub("\1", "&#91;&#91;") :gsub("\2", "&#93;&#93;") :gsub("%[", "&#91;") :gsub("]", "&#93;") -- Strip bold, italics and soft hyphens. :gsub("('*)'''(.-'*)'''", "%1%2") :gsub("('*)''(.-'*)''", "%1%2") :gsub("­", "") -- Get any HTML entities. -- Note: don't decode URL percent encoding, as it shouldn't be used in display text and may cause problems if % is used. text = decode_entities(text) return trim(text) end do local title_obj, category_namespaces, page_data, pagename, pagename_defaultsort --[==[ Format the categories with the appropriate sort key. * `categories` is a list of categories. * `lang` is an object encapsulating a language; if {nil}, the object for language code {"und"} (undetermined) will be used. * `sort_key` is placed in the category invocation, and indicates how the page will sort in the respective category. Normally this should be {nil}, and a default sort key based on the subpage name (the part after the colon) will be used. * `sort_base` lets you override the default sort key used when `sort_key` is {nil}. Normally, this should be {nil}, and a language-specific default sort key is computed from the subpage name. For example, for Russian this converts Cyrillic ё to a string consisting of Cyrillic е followed by U+10FFFF, so that effectively ё sorts after е instead of the default Wikimedia sort, which (I think) is based on Unicode sort order and puts ё after я, the last letter of the Cyrillic alphabet. * `force_output` forces normal output in all namespaces. Normally, nothing is output if the page isn't in the main, Appendix:, Thesaurus:, Reconstruction: or Citations: namespaces. * `sc` is a script object; if nil, the default will be used from the sort base. ]==] function export.format_categories(categories, lang, sort_key, sort_base, force_output, sc) if type(lang) == "table" and not lang.getCode then error("The second argument to format_categories should be a language object.") end title_obj = title_obj or mw.title.getCurrentTitle() category_namespaces = category_namespaces or mw.loadData("Module:utilities/data").category_namespaces if not ( force_output or category_namespaces[title_obj.namespace] or title_obj.prefixedText == "Wiktionary:Sandbox" ) then return "" elseif not page_data then page_data = mw.loadData("Module:headword/data").page pagename = page_data.pagename pagename_defaultsort = page_data.pagename_defaultsort end -- Generate a default sort key. -- If the sort key is "-", bypass the process of generating a sort key altogether. This is desirable when categorising (e.g.) translation requests, as the pages to be categorised are always in English/Translingual. if sort_key == "-" then sort_key = sort_base and sort_base:uupper() or pagename_defaultsort else lang = lang or require("Module:languages").getByCode("und") sort_base = lang:makeSortKey(sort_base or pagename, sc) or pagename_defaultsort if not sort_key or sort_key == "" then sort_key = sort_base elseif lang:getCode() ~= "und" then insert(categories, lang:getFullName() .. " terms with " .. ( sort_key:uupper() == sort_base and "redundant" or "non-redundant non-automated" ) .. " sortkeys") end end local ret = {} for key, cat in ipairs(categories) do ret[key] = "[[Category:" .. cat .. "|" .. sort_key .. "]]" end return concat(ret) end end do local catfix_scripts --[==[ Add a "catfix", which is used on language-specific category pages to add language attributes and often script classes to all entry names. The addition of language attributes and script classes makes the entry names display better (using the language- or script-specific styles specified in [[MediaWiki:Common.css]]), which is particularly important for non-English languages that do not have consistent font support in browsers. Language attributes are added for all languages, but script classes are only added for languages with one script listed in their data file, or for languages that have a default script listed in the {catfix_script} list in [[Module:utilities/data]]. Some languages clearly have a default script, but still have other scripts listed in their data file and therefore need their default script to be specified. Others do not have a default script. * Serbo-Croatian is regularly written in both the Latin and Cyrillic scripts. Because it uses two scripts, Serbo-Croatian cannot have a script class applied to entries in its category pages, as only one script class can be specified at a time. * Russian is usually written in the Cyrillic script ({{cd|Cyrl}}), but Braille ({{cd|Brai}}) is also listed in its data file. So Russian needs an entry in the {catfix_script} list, so that the {{cd|Cyrl}} (Cyrillic) script class will be applied to entries in its category pages. To find the scripts listed for a language, go to [[Module:languages]] and use the search box to find the data file for the language. To find out what a script code means, search the script code in [[Module:scripts/data]]. ]==] function export.catfix(lang, sc) if not lang or not lang.getCanonicalName then error('The first argument to the function "catfix" should be a language object from [[Module:languages]] or [[Module:etymology languages]].') end if sc and not sc.getCode then error('The second argument to the function "catfix" should be a script object from [[Module:scripts]].') end local canonicalName = lang:getCanonicalName() local nonEtymologicalName = lang:getFullName() -- To add script classes to links on pages created by category boilerplate templates. if not sc then catfix_scripts = catfix_scripts or mw.loadData("Module:utilities/data").catfix_scripts sc = catfix_scripts[lang:getCode()] or catfix_scripts[lang:getFullCode()] if sc then sc = require("Module:scripts").getByCode(sc) end end local catfix_class = "CATFIX-" .. mw.uri.anchorEncode(canonicalName) if nonEtymologicalName ~= canonicalName then catfix_class = catfix_class .. " CATFIX-" .. mw.uri.anchorEncode(nonEtymologicalName) end return "<span id=\"catfix\" style=\"display:none;\" class=\"" .. catfix_class .. "\">" .. require("Module:script utilities").tag_text("&nbsp;", lang, sc, nil) .. "</span>" end end --[==[ Implementation of the {{tl|catfix}} template. ]==] function export.catfix_template(frame) local params = { [1] = {}, [2] = { alias_of = "sc" }, ["sc"] = {}, } local args = require("Module:parameters").process(frame:getParent().args, params, nil, "utilities", "catfix_template") local lang = require("Module:languages").getByCode(args[1], 1, "allow etym") local sc = args.sc if sc then sc = require("Module:scripts").getByCode(sc, "sc") end return export.catfix(lang, sc) end --[==[ Given a type (as a string) and an arbitrary number of entities, checks whether all of those entities are language, family, script, writing system or Wikimedia language objects. Useful for error handling in functions that require one of these kinds of object. If `noErr` is set, the function returns false instead of throwing an error, which allows customised error handling to be done in the calling function. ]==] function export.check_object(typ, noErr, ...) local function fail(message) if noErr then return false else error(message, 3) end end local objs = {...} if #objs == 0 then return fail("Must provide at least one object to check.") end for _, obj in ipairs(objs) do if type(obj) ~= "table" or type(obj.hasType) ~= "function" then return fail("Function expected a " .. typ .. " object, but received a " .. type(obj) .. " instead.") elseif not (typ == "object" or obj:hasType(typ)) then for _, wrong_type in ipairs{"family", "language", "script", "Wikimedia language", "writing system"} do if obj:hasType(wrong_type) then return fail("Function expected a " .. typ .. " object, but received a " .. wrong_type .. " object instead.") end end return fail("Function expected a " .. typ .. " object, but received another type of object instead.") end end return true end return export jlqeo99f4vx842qz5aztsfra3zhdxnp Module:utilities/data 828 2928 8478 8235 2022-10-04T03:29:57Z Rebel Agent 2678 Paakanyo 8478 Scribunto text/plain local data = {} data.notneeded = { ["und"] = true, ["cmn"] = true, ["ja"] = true, ["zu"] = true, ["nan"] = true, ["yue"] = true, ["ko"] = true, } data.neededhassubpage = { ["ga"] = true, ["gv"] = true, ["nv"] = true, ["roa-jer"] = true, ["fr"] = true, ["rm"] = true, ["prg"] = true, ["gd"] = true, ["twf"] = true, ["en"] = true, ["ro"] = true, ["egl"] = true, ["roa-tar"] = true, ["gl"] = true, ["ast"] = true, ["br"] = true, } --[[ Script that should be applied to links in categories. ]] data.catfix_scripts = { ["ab"] = "Cyrl", ["ae"] = "Avst", ["ar"] = "Arab", ["ary"] = "Arab", ["be"] = "Cyrl", ["cu"] = "Cyrs", ["el"] = "Grek", ["grc"] = "polytonic", ["he"] = "Hebr", ["ka"] = "Geor", ["orv"] = "Cyrs", ["ru"] = "Cyrl", ["sa"] = "Deva", ["syl"] = "Sylo", ["xfa"] = "Ital", ["zle-ono"] = "Cyrs", ["hi"] = "Deva", ["mr"] = "Deva", --[[ [""] = "", ]] } -- Namespaces in which format_categories will add categories. data.allowedNamespaces = { [""] = true, ["Appendix"] = true, ["Reconstruction"] = true, ["Citations"] = true, } return data hyy03velxfjib38mu8fcm0czkqgbkwy Module:utilities/format categories 828 2929 8236 2022-07-18T19:50:57Z Rebel Agent 2678 Ke dirile module 8236 Scribunto text/plain local data = mw.loadData("Module:utilities/format_categories/data") --[[ Format the categories with the appropriate sort key. CATEGORIES is a list of categories. -- LANG is an object encapsulating a language; if nil, the object for language code 'und' (undetermined) will be used. -- SORT_KEY is placed in the category invocation, and indicates how the page will sort in the respective category. Normally this should be nil, and a default sort key based on the subpage name (the part after the colon) will be used. -- SORT_BASE lets you override the default sort key used when SORT_KEY is nil. Normally, this should be nil, and a language-specific default sort key is computed from the subpage name (e.g. for Russian this converts Cyrillic ё to a string consisting of Cyrillic е followed by U+10FFFF, so that effectively ё sorts after е instead of the default Wikimedia sort, which (I think) is based on Unicode sort order and puts ё after я, the last letter of the Cyrillic alphabet. -- FORCE_OUTPUT forces normal output in all namespaces. Normally, nothing is output if the page isn't in the main, Appendix:, Reconstruction: or Citations: namespaces. ]] return function(categories, lang, sort_key, sort_base, force_output, sc) if type(lang) == "table" and not lang.getCode then error("The second argument to format_categories should be a language object.") end local title_obj = mw.title.getCurrentTitle() if force_output or data.allowedNamespaces[title_obj.nsText] or data.allowedPrefixedPages[title_obj.prefixedText] then local PAGENAME = title_obj.text local SUBPAGENAME = title_obj.subpageText if not lang then lang = require("Module:languages").getByCode("und") end -- Generate a default sort key sort_base = lang:makeSortKey(sort_base or SUBPAGENAME, sc) if sort_key and sort_key ~= "" then -- Gather some statistics regarding sort keys if mw.ustring.upper(sort_key) == sort_base then table.insert(categories, "Sort key tracking/redundant") end else sort_key = sort_base end -- If the sortkey is empty, remove it. -- Leave the sortkey if it is equal to PAGENAME, because it still -- might be different from DEFAULTSORT and therefore have an effect; see -- [[Wiktionary:Grease pit/2020/April#Module:utilities#format categories]]. if sort_key == "" then sort_key = nil end local out_categories = {} for key, cat in ipairs(categories) do out_categories[key] = "[[Category:" .. cat .. (sort_key and "|" .. sort_key or "") .. "]]" end return table.concat(out_categories, "") else return "" end end skyxf0e2f89y239bcdszhxutv4m67d9 Module:utilities/format categories/data 828 2930 8237 2022-07-18T19:53:23Z Rebel Agent 2678 Ke dirile module 8237 Scribunto text/plain local data = {} -- Namespaces in which format_categories will add categories. data.allowedNamespaces = { [""] = true, ["Appendix"] = true, ["Reconstruction"] = true, ["Citations"] = true, } -- Pages not in namespaces in which format_categories normally adds categories, -- but where we make an exception. data.allowedPrefixedPages = { ["Wiktionary:Sandbox"] = true, } return data 568whm3m68zamuspyqop5q1vlxjn0ct Module:languages 828 2931 8479 8238 2022-10-04T03:32:10Z Rebel Agent 2678 Paakanyo 8479 Scribunto text/plain local export = {} --[=[ This function checks for things that could plausibly be a language code: two or three lowercase letters, two or three groups of three lowercase letters with hyphens between them. If such a pattern is not found, it is likely the editor simply forgot to enter a language code. ]=] function export.err(langCode, param, text, template_tag, not_real_lang) local ordinals = { "first", "second", "third", "fourth", "fifth", "sixth", "seventh", "eighth", "ninth", "tenth", "eleventh", "twelfth", "thirteenth", "fourteenth", "fifteenth", "sixteenth", "seventeenth", "eighteenth", "nineteenth", "twentieth" } text = text or "language code" if not template_tag then template_tag = "" else if type(template_tag) ~= "string" then template_tag = template_tag() end template_tag = " (Original template: " .. template_tag .. ")" end local paramType = type(param) if paramType == "number" then ordinal = ordinals[param] param = ordinal .. ' parameter' elseif paramType == "string" then param = 'parameter "' .. param .. '"' else error("The parameter name is " .. (paramType == "table" and "a table" or tostring(param)) .. ", but it should be a number or a string." .. template_tag, 2) end -- Can use string.find because language codes only contain ASCII. if not langCode or langCode == "" then error("The " .. param .. " (" .. text .. ") is missing." .. template_tag, 2) elseif not_real_lang or langCode:find("^%l%l%l?$") or langCode:find("^%l%l%l%-%l%l%l$") or langCode:find("^%l%l%l%-%l%l%l%-%l%l%l$") then error("The " .. text .. " \"" .. langCode .. "\" is not valid." .. template_tag, 2) else error("Please enter a " .. text .. " in the " .. param .. "." .. template_tag, 2) end end local function do_entry_name_or_sort_key_replacements(text, replacements) if replacements.from then for i, from in ipairs(replacements.from) do local to = replacements.to[i] or "" text = mw.ustring.gsub(text, from, to) end end if replacements.remove_diacritics then text = mw.ustring.toNFD(text) text = mw.ustring.gsub(text, '[' .. replacements.remove_diacritics .. ']', '') text = mw.ustring.toNFC(text) end return text end local Language = {} function Language:getCode() return self._code end function Language:getCanonicalName() return self._rawData[1] or self._rawData.canonicalName end function Language:getOtherNames(onlyOtherNames) return require("Module:language-like").getOtherNames(self, onlyOtherNames) end function Language:getAliases() return self._rawData.aliases or {} end function Language:getVarieties(flatten) return require("Module:language-like").getVarieties(self, flatten) end function Language:getType() return self._rawData.type or "regular" end function Language:getWikimediaLanguages() if not self._wikimediaLanguageObjects then local m_wikimedia_languages = require("Module:wikimedia languages") self._wikimediaLanguageObjects = {} local wikimedia_codes = self._rawData.wikimedia_codes or { self._code } for _, wlangcode in ipairs(wikimedia_codes) do table.insert(self._wikimediaLanguageObjects, m_wikimedia_languages.getByCode(wlangcode)) end end return self._wikimediaLanguageObjects end function Language:getWikipediaArticle() if self._rawData.wikipedia_article then return self._rawData.wikipedia_article elseif self._wikipedia_article then return self._wikipedia_article elseif self:getWikidataItem() and mw.wikibase then self._wikipedia_article = mw.wikibase.sitelink(self:getWikidataItem(), 'enwiki') end if not self._wikipedia_article then self._wikipedia_article = mw.ustring.gsub(self:getCategoryName(), "Creole language", "Creole") end return self._wikipedia_article end function Language:makeWikipediaLink() return "[[w:" .. self:getWikipediaArticle() .. "|" .. self:getCanonicalName() .. "]]" end function Language:getWikidataItem() return self._rawData[2] or self._rawData.wikidata_item end function Language:getScripts() if not self._scriptObjects then local m_scripts = require("Module:scripts") self._scriptObjects = {} for _, sc in ipairs(self._rawData.scripts or { "None" }) do table.insert(self._scriptObjects, m_scripts.getByCode(sc)) end end return self._scriptObjects end function Language:getScriptCodes() return self._rawData.scripts or { "None" } end function Language:getFamily() if self._familyObject then return self._familyObject end local family = self._rawData[3] or self._rawData.family if family then self._familyObject = require("Module:families").getByCode(family) end return self._familyObject end function Language:getAncestors() if not self._ancestorObjects then self._ancestorObjects = {} if self._rawData.ancestors then for _, ancestor in ipairs(self._rawData.ancestors) do table.insert(self._ancestorObjects, export.getByCode(ancestor) or require("Module:etymology languages").getByCode(ancestor)) end else local fam = self:getFamily() local protoLang = fam and fam:getProtoLanguage() or nil -- For the case where the current language is the proto-language -- of its family, we need to step up a level higher right from the start. if protoLang and protoLang:getCode() == self:getCode() then fam = fam:getFamily() protoLang = fam and fam:getProtoLanguage() or nil end while not protoLang and not (not fam or fam:getCode() == "qfa-not") do fam = fam:getFamily() protoLang = fam and fam:getProtoLanguage() or nil end table.insert(self._ancestorObjects, protoLang) end end return self._ancestorObjects end local function iterateOverAncestorTree(node, func) for _, ancestor in ipairs(node:getAncestors()) do if ancestor then local ret = func(ancestor) or iterateOverAncestorTree(ancestor, func) if ret then return ret end end end end function Language:getAncestorChain() if not self._ancestorChain then self._ancestorChain = {} local step = #self:getAncestors() == 1 and self:getAncestors()[1] or nil while step do table.insert(self._ancestorChain, 1, step) step = #step:getAncestors() == 1 and step:getAncestors()[1] or nil end end return self._ancestorChain end function Language:hasAncestor(otherlang) local function compare(ancestor) return ancestor:getCode() == otherlang:getCode() end return iterateOverAncestorTree(self, compare) or false end function Language:getCategoryName() local name = self:getCanonicalName() -- If the name already has "language" in it, don't add it. if name:find("[Ll]anguage$") then return name else return name .. " language" end end function Language:makeCategoryLink() return "[[:Category:" .. self:getCategoryName() .. "|" .. self:getCanonicalName() .. "]]" end function Language:getStandardCharacters() return self._rawData.standardChars end function Language:makeEntryName(text) text = mw.ustring.match(text, "^[¿¡]?(.-[^%s%p].-)%s*[؟?!;՛՜ ՞ ՟?!︖︕।॥။၊་།]?$") or text if self:getCode() == "ar" then local U = mw.ustring.char local taTwiil = U(0x640) local waSla = U(0x671) -- diacritics ordinarily removed by entry_name replacements local Arabic_diacritics = U(0x64B, 0x64C, 0x64D, 0x64E, 0x64F, 0x650, 0x651, 0x652, 0x670) if text == waSla or mw.ustring.find(text, "^" .. taTwiil .. "?[" .. Arabic_diacritics .. "]" .. "$") then return text end end if type(self._rawData.entry_name) == "table" then text = do_entry_name_or_sort_key_replacements(text, self._rawData.entry_name) end return text end -- Add to data tables? local has_dotted_undotted_i = { ["az"] = true, ["crh"] = true, ["gag"] = true, ["kaa"] = true, ["tt"] = true, ["tr"] = true, ["zza"] = true, } function Language:makeSortKey(name, sc) if has_dotted_undotted_i[self:getCode()] then name = name:gsub("I", "ı") end name = mw.ustring.lower(name) -- Remove initial hyphens and * local hyphens_regex = "^[-־ـ*]+(.)" name = mw.ustring.gsub(name, hyphens_regex, "%1") -- If there are language-specific rules to generate the key, use those if type(self._rawData.sort_key) == "table" then name = do_entry_name_or_sort_key_replacements(name, self._rawData.sort_key) elseif type(self._rawData.sort_key) == "string" then name = require("Module:" .. self._rawData.sort_key).makeSortKey(name, self:getCode(), sc and sc:getCode()) end -- Remove parentheses, as long as they are either preceded or followed by something name = mw.ustring.gsub(name, "(.)[()]+", "%1") name = mw.ustring.gsub(name, "[()]+(.)", "%1") if has_dotted_undotted_i[self:getCode()] then name = name:gsub("i", "İ") end return mw.ustring.upper(name) end function Language:overrideManualTranslit() if self._rawData.override_translit then return true else return false end end function Language:transliterate(text, sc, module_override) if not ((module_override or self._rawData.translit_module) and text) then return nil end if module_override then require("Module:debug").track("module_override") end return require("Module:" .. (module_override or self._rawData.translit_module)).tr(text, self:getCode(), sc and sc:getCode() or nil) end function Language:hasTranslit() return self._rawData.translit_module and true or false end function Language:link_tr() return self._rawData.link_tr and true or false end function Language:toJSON() local entryNamePatterns = nil local entryNameRemoveDiacritics = nil if self._rawData.entry_name then entryNameRemoveDiacritics = self._rawData.entry_name.remove_diacritics if self._rawData.entry_name.from then entryNamePatterns = {} for i, from in ipairs(self._rawData.entry_name.from) do local to = self._rawData.entry_name.to[i] or "" table.insert(entryNamePatterns, { from = from, to = to }) end end end local ret = { ancestors = self._rawData.ancestors, canonicalName = self:getCanonicalName(), categoryName = self:getCategoryName(), code = self._code, entryNamePatterns = entryNamePatterns, entryNameRemoveDiacritics = entryNameRemoveDiacritics, family = self._rawData[3] or self._rawData.family, otherNames = self:getOtherNames(true), aliases = self:getAliases(), varieties = self:getVarieties(), scripts = self._rawData.scripts, type = self:getType(), wikimediaLanguages = self._rawData.wikimedia_codes, wikidataItem = self:getWikidataItem(), } return require("Module:JSON").toJSON(ret) end -- Do NOT use this method! -- All uses should be pre-approved on the talk page! function Language:getRawData() return self._rawData end Language.__index = Language function export.getDataModuleName(code) if code:find("^%l%l$") then return "languages/data2" elseif code:find("^%l%l%l$") then local prefix = code:sub(1, 1) return "languages/data3/" .. prefix elseif code:find("^[%l-]+$") then return "languages/datax" else return nil end end local function getRawLanguageData(code) local modulename = export.getDataModuleName(code) return modulename and mw.loadData("Module:" .. modulename)[code] or nil end function export.makeObject(code, data) if data and data.deprecated then require("Module:debug").track { "languages/deprecated", "languages/deprecated/" .. code } end return data and setmetatable({ _rawData = data, _code = code }, Language) or nil end function export.getByCode(code, paramForError, allowEtymLang, allowFamily) if type(code) ~= "string" then error("The function getByCode expects a string as its first argument, but received " .. (code == nil and "nil" or "a " .. type(code)) .. ".") end local retval = export.makeObject(code, getRawLanguageData(code)) if not retval and allowEtymLang then retval = require("Module:etymology languages").getByCode(code) end if not retval and allowFamily then retval = require("Module:families").getByCode(code) end if not retval and paramForError then local codetext = nil if allowEtymLang and allowFamily then codetext = "language, etymology language or family code" elseif allowEtymLang then codetext = "language or etymology language code" elseif allowFamily then codetext = "language or family code" else codetext = "language code" end if paramForError == true then error("The " .. codetext .. " \"" .. code .. "\" is not valid.") else export.err(code, paramForError, codetext) end end return retval end function export.getByName(name, errorIfInvalid) local byName = mw.loadData("Module:languages/by name") local code = byName.all and byName.all[name] or byName[name] if not code then if errorIfInvalid then error("The language name \"" .. name .. "\" is not valid.") else return nil end end return export.makeObject(code, getRawLanguageData(code)) end function export.getByCanonicalName(name, errorIfInvalid, allowEtymLang, allowFamily) local byName = mw.loadData("Module:languages/canonical names") local code = byName and byName[name] local retval = code and export.makeObject(code, getRawLanguageData(code)) or nil if not retval and allowEtymLang then retval = require("Module:etymology languages").getByCanonicalName(code) end if not retval and allowFamily then retval = require("Module:families").getByCanonicalName(code) end if not retval and errorIfInvalid then local text if allowEtymLang and allowFamily then text = "language, etymology language or family name" elseif allowEtymLang then text = "language or etymology language name" elseif allowFamily then text = "language or family name" else text = "language name" end error("The " .. text .. " \"" .. name .. "\" is not valid.") end return retval end function export.iterateAll() mw.incrementExpensiveFunctionCount() local m_data = mw.loadData("Module:languages/alldata") local func, t, var = pairs(m_data) return function() local code, data = func(t, var) return export.makeObject(code, data) end end --[[ If language is an etymology language, iterates through parent languages until it finds a non-etymology language. ]] function export.getNonEtymological(lang) while lang:getType() == "etymology language" do local parentCode = lang:getParentCode() lang = export.getByCode(parentCode) or require("Module:etymology languages").getByCode(parentCode) or require("Module:families").getByCode(parentCode) end return lang end return export jf2glk5s7hbmxriu9pm5lhqqv9xg2ce Module:languages/data2 828 2932 8239 2022-07-18T19:59:20Z Rebel Agent 2678 Ke dirile module 8239 Scribunto text/plain local u = mw.ustring.char -- UTF-8 encoded strings for some commonly-used diacritics local GRAVE = u(0x0300) local ACUTE = u(0x0301) local CIRC = u(0x0302) local TILDE = u(0x0303) local MACRON = u(0x0304) local BREVE = u(0x0306) local DOTABOVE = u(0x0307) local DIAER = u(0x0308) local CARON = u(0x030C) local DGRAVE = u(0x030F) local INVBREVE = u(0x0311) local DOTBELOW = u(0x0323) local RINGBELOW = u(0x0325) local CEDILLA = u(0x0327) local OGONEK = u(0x0328) local CGJ = u(0x034F) -- combining grapheme joiner local DOUBLEINVBREVE = u(0x0361) -- Punctuation to be used for standardChars field local PUNCTUATION = ' !#%&*+,-./:;<=>?@^_`|~\'()' local Cyrl = {"Cyrl"} local Latn = {"Latn"} local LatnArab = {"Latn", "Arab"} local m = {} m["aa"] = { "Afar", 27811, "cus-eas", Latn, entry_name = { remove_diacritics = ACUTE}, } m["ab"] = { "Abkhaz", 5111, "cau-abz", {"Cyrl", "Geor", "Latn"}, translit_module = "ab-translit", override_translit = true, entry_name = { from = {GRAVE, ACUTE}, to = {}} , } m["ae"] = { "Avestan", 29572, "ira-cen", {"Avst", "Gujr"}, translit_module = "Avst-translit", wikipedia_article = "Avestan", } m["af"] = { "Afrikaans", 14196, "gmw", LatnArab, ancestors = {"nl"}, sort_key = { from = {"[äáâà]", "[ëéêè]", "[ïíîì]", "[öóôò]", "[üúûù]", "[ÿýŷỳ]", "^-", "'"}, to = {"a" , "e" , "i" , "o" , "u" , "y" }} , } m["ak"] = { "Akan", 28026, "alv-ctn", Latn, } m["am"] = { "Amharic", 28244, "sem-eth", {"Ethi"}, translit_module = "Ethi-translit", } m["an"] = { "Aragonese", 8765, "roa-ibe", Latn, ancestors = {"roa-oan"}, } m["ar"] = { "Arabic", 13955, "sem-arb", {"Arab", "Hebr", "Brai"}, entry_name = "ar-entryname", -- put Judeo-Arabic (Hebrew-script Arabic) under the category header -- U+FB21 HEBREW LETTER WIDE ALEF so that it sorts after Arabic script titles sort_key = { from = {"^%f[" .. u(0x5D0) .. "-" .. u(0x5EA) .. "]"}, to = {u(0xFB21)}, }, translit_module = "ar-translit", } m["as"] = { "Assamese", 29401, "inc-eas", {"as-Beng"}, ancestors = {"inc-mas"}, translit_module = "as-translit", } m["av"] = { "Avar", 29561, "cau-nec", Cyrl, ancestors = {"oav"}, translit_module = "av-translit", override_translit = true, entry_name = { from = {GRAVE, ACUTE}, to = {}} , } m["ay"] = { "Aymara", 4627, "sai-aym", Latn, } m["az"] = { "Azerbaijani", 9292, "trk-ogz", {"Latn", "Cyrl", "fa-Arab"}, ancestors = {"trk-oat"}, dotted_dotless_i = true, } m["ba"] = { "Bashkir", 13389, "trk-kbu", Cyrl, translit_module = "ba-translit", override_translit = true, } m["be"] = { "Belarusian", 9091, "zle", Cyrl, ancestors = {"zle-ort"}, translit_module = "be-translit", sort_key = { from = {"Ё", "ё"}, to = {"Е" , "е"}}, entry_name = { from = {"Ѐ", "ѐ", GRAVE, ACUTE}, to = {"Е", "е"}}, } m["bg"] = { "Bulgarian", 7918, "zls", {"Cyrl"}, ancestors = {"cu"}, translit_module = "bg-translit", entry_name = { from = {"Ѐ", "ѐ", "Ѝ", "ѝ", GRAVE, ACUTE}, to = {"Е", "е", "И", "и"}}, } m["bh"] = { "Bihari", 135305, "inc-eas", {"Deva"}, ancestors = {"inc-mgd"}, } m["bi"] = { "Bislama", 35452, "crp", Latn, ancestors = {"en"}, } m["bm"] = { "Bambara", 33243, "dmn-emn", Latn, } m["bn"] = { "Bengali", 9610, "inc-eas", {"Beng", "Newa"}, ancestors = {"inc-mbn"}, translit_module = "bn-translit", } m["bo"] = { "Tibetan", 34271, "sit-tib", {"Tibt"}, -- sometimes Deva? ancestors = {"xct"}, translit_module = "bo-translit", override_translit = true, } m["br"] = { "Breton", 12107, "cel-bry", Latn, ancestors = {"xbm"}, } m["ca"] = { "Catalan", 7026, "roa", Latn, ancestors = {"roa-oca"}, sort_key = { from = {"à", "[èé]", "[íï]", "[òó]", "[úü]", "ç", "l·l"}, to = {"a", "e" , "i" , "o" , "u" , "c", "ll" }} , } m["ce"] = { "Chechen", 33350, "cau-vay", Cyrl, translit_module = "ce-translit", override_translit = true, entry_name = { from = {MACRON}, to = {}}, } m["ch"] = { "Chamorro", 33262, "poz-sus", Latn, } m["co"] = { "Corsican", 33111, "roa-itd", Latn, } m["cr"] = { "Cree", 33390, "alg", {"Cans", "Latn"}, translit_module = "translit-redirect", } m["cs"] = { "Czech", 9056, "zlw", Latn, ancestors = {"zlw-ocs"}, sort_key = { from = {"á", "é", "í", "ó", "[úů]", "ý"}, to = {"a", "e", "i", "o", "u" , "y"}} , } m["cu"] = { "Old Church Slavonic", 35499, "zls", {"Cyrs", "Glag"}, translit_module = "Cyrs-Glag-translit", entry_name = { from = {u(0x0308), u(0x0300), u(0x0301), u(0x0484), u(0x0485), u(0x0486)}, -- trema, varia, oksia, kamora, dasia, psili to = {}}, sort_key = { from = {"оу", "є"}, to = {"у" , "е"}} , } m["cv"] = { "Chuvash", 33348, "trk-ogr", Cyrl, ancestors = {"xbo"}, translit_module = "cv-translit", override_translit = true, } m["cy"] = { "Welsh", 9309, "cel-bry", Latn, ancestors = {"wlm"}, sort_key = { from = {"[âáàä]", "ch", "dd", "[êéèë]", "ff", "ngh", "[îíìï]", "ll", "[ôóòö]", "ph", "rh", "th", "[ûúùü]", "[ŵẃẁẅ]", "[ŷýỳÿ]", "'"}, to = {"a" , "c~", "d~", "e" , "f~", "g~h", "i" , "l~", "o" , "p~", "r~", "t~", "u" , "w" , "y" }} , standardChars = "A-IL-PR-UWYa-il-pr-uwy0-9ÂâÊêÎîÔôÛûŴŵŶŷ" .. PUNCTUATION, } m["da"] = { "Danish", 9035, "gmq", Latn, ancestors = {"gmq-oda"}, } m["de"] = { "German", 188, "gmw", {"Latn", "Latf"}, ancestors = {"gmh"}, sort_key = { from = {"[äàáâå]", "[ëèéê]", "[ïìíî]", "[öòóô]", "[üùúû]", "ß" }, to = {"a" , "e" , "i" , "o" , "u" , "ss"}} , standardChars = "A-Za-z0-9ÄäÖöÜüß" .. PUNCTUATION, } m["dv"] = { "Dhivehi", 32656, "inc-ins", {"Thaa", "Diak"}, ancestors = {"elu-prk"}, translit_module = "dv-translit", override_translit = true, } m["dz"] = { "Dzongkha", 33081, "sit-tib", {"Tibt"}, ancestors = {"xct"}, translit_module = "bo-translit", override_translit = true, } m["ee"] = { "Ewe", 30005, "alv-gbe", Latn, } m["el"] = { "Greek", 9129, "grk", {"Grek", "Brai"}, ancestors = {"grc"}, translit_module = "el-translit", override_translit = true, entry_name = { from = {u(0x0324), u(0x032E), CARON}, to = {}}, sort_key = { -- Keep this synchronized with grc, cpg, pnt, tsd, grk-mar from = {"[ᾳάᾴὰᾲᾶᾷἀᾀἄᾄἂᾂἆᾆἁᾁἅᾅἃᾃἇᾇα̤ά̤]", "[έὲἐἔἒἑἕἓ]", "[ῃήῄὴῂῆῇἠᾐἤᾔἢᾒἦᾖἡᾑἥᾕἣᾓἧᾗ]", "[ίὶῖἰἴἲἶἱἵἳἷϊΐῒῗι̮]", "[όὸὀὄὂὁὅὃο̤ό̤]", "[ύὺῦὐὔὒὖὑὕὓὗϋΰῢῧ]", "[ῳώῴὼῲῶῷὠᾠὤᾤὢᾢὦᾦὡᾡὥᾥὣᾣὧᾧ]", "ῥ", "ς", "ζ̌", "ξ̌", "σ̌", "χ̌", "ψ̌"}, to = {"α" , "ε" , "η" , "ι" , "ο" , "υ" , "ω" , "ρ", "σ", "ζ", "ξ", "σ", "χ", "ψ"}} , standardChars = "ͺ;΄-ώϜϝ" .. PUNCTUATION, } m["en"] = { "English", 1860, "gmw", {"Latn", "Brai", "Shaw", "Dsrt"}, -- entries in Shaw or Dsrt might require prior discussion ancestors = {"enm"}, sort_key = { from = {"[äàáâåā]", "[ëèéêē]", "[ïìíîī]", "[öòóôō]", "[üùúûū]", "æ" , "œ" , "[çč]", "ñ", "'"}, to = {"a" , "e" , "i" , "o" , "u" , "ae", "oe", "c" , "n"}}, wikimedia_codes = {"en", "simple"}, standardChars = "A-Za-z0-9" .. PUNCTUATION .. u(0x2800) .. "-" .. u(0x28FF), } m["eo"] = { "Esperanto", 143, "art", Latn, sort_key = { from = {"[áà]", "[éè]", "[íì]", "[óò]", "[úù]", "[ĉ]", "[ĝ]", "[ĥ]", "[ĵ]", "[ŝ]", "[ŭ]"}, to = {"a" , "e" , "i" , "o" , "u", "cĉ", "gĉ", "hĉ", "jĉ", "sĉ", "uĉ"}} , standardChars = "A-PRSTUVZa-prstuvzĉĈĝĜĵĴŝŜŭŬ0-9" .. PUNCTUATION, } m["es"] = { "Spanish", 1321, "roa-ibe", {"Latn", "Brai"}, ancestors = {"osp"}, sort_key = { from = {"á", "é", "í", "ó", "[úü]", "ç", "ñ"}, to = {"a", "e", "i", "o", "u" , "c", "n~"}}, standardChars = "A-VXYZa-vxyz0-9ÁáÉéÍíÓóÚúÑñ¿¡" .. PUNCTUATION, } m["et"] = { "Estonian", 9072, "fiu-fin", Latn, } m["eu"] = { "Basque", 8752, "euq", Latn, } m["fa"] = { "Persian", 9168, "ira-swi", {"fa-Arab"}, ancestors = {"pal"}, -- "ira-mid" entry_name = { from = {u(0x064E), u(0x0640), u(0x064F), u(0x0650), u(0x0651), u(0x0652)}, to = {}} , } m["ff"] = { "Fula", 33454, "alv-fwo", {"Latn", "Adlm"}, } m["fi"] = { "Finnish", 1412, "fiu-fin", Latn, entry_name = { from = {"ˣ"}, -- Used to indicate gemination of the next consonant to = {}}, sort_key = { from = {"[áàâã]", "[éèêẽ]", "[íìîĩ]", "[óòôõ]", "[úùûũ]", "[ýỳŷüű]", "[øõő]", "æ" , "œ" , "[čç]", "š", "ž", "ß" , "[':]"}, to = {"a" , "e" , "i" , "o" , "u" , "y" , "ö" , "ae", "oe", "c" , "s", "z", "ss"}} , } m["fj"] = { "Fijian", 33295, "poz-occ", Latn, } m["fo"] = { "Faroese", 25258, "gmq", Latn, ancestors = {"non"}, } m["fr"] = { "French", 150, "roa-oil", {"Latn", "Brai"}, ancestors = {"frm"}, sort_key = { from = {"[áàâä]", "[éèêë]", "[íìîï]", "[óòôö]", "[úùûü]", "[ýỳŷÿ]", "ç", "æ" , "œ" , "'"}, to = {"a" , "e" , "i" , "o" , "u" , "y" , "c", "ae", "oe"}}, standardChars = "A-Za-z0-9ÀÂÇÉÈÊËÎÏÔŒÛÙÜàâçéèêëîïôœûùü«»" .. PUNCTUATION, } m["fy"] = { "West Frisian", 27175, "gmw-fri", Latn, ancestors = {"ofs"}, sort_key = { from = {"[àáâä]", "[èéêë]", "[ìíîïyỳýŷÿ]", "[òóôö]", "[ùúûü]", "æ", "[ /.-]"}, to = {"a" , "e" , "i" , "o" , "u", "ae"}} , standardChars = "A-PR-WYZa-pr-wyz0-9Ææâäàéêëèïìôöòúûüùỳ" .. PUNCTUATION, } m["ga"] = { "Irish", 9142, "cel-gae", Latn, ancestors = {"mga"}, sort_key = { from = {"á", "é", "í", "ó", "ú", "ý", "ḃ" , "ċ" , "ḋ" , "ḟ" , "ġ" , "ṁ" , "ṗ" , "ṡ" , "ṫ" }, to = {"a", "e", "i", "o", "u", "y", "bh", "ch", "dh", "fh", "gh", "mh", "ph", "sh", "th"}} , standardChars = "A-IL-PR-Ua-il-pr-u0-9ÁáÉéÍíÓóÚú" .. PUNCTUATION, } m["gd"] = { "Scottish Gaelic", 9314, "cel-gae", Latn, ancestors = {"mga"}, sort_key = { from = {"[áà]", "[éè]", "[íì]", "[óò]", "[úù]", "[ýỳ]"}, to = {"a" , "e" , "i" , "o" , "u" , "y" }} , standardChars = "A-IL-PR-Ua-il-pr-u0-9ÀàÈèÌìÒòÙù" .. PUNCTUATION, } m["gl"] = { "Galician", 9307, "roa-ibe", Latn, ancestors = {"roa-opt"}, sort_key = { from = {"á", "é", "í", "ó", "ú"}, to = {"a", "e", "i", "o", "u"}} , } m["gn"] = { "Guaraní", 35876, "tup-gua", Latn, } m["gu"] = { "Gujarati", 5137, "inc-wes", {"Gujr"}, ancestors = {"inc-mgu"}, translit_module = "gu-translit", } m["gv"] = { "Manx", 12175, "cel-gae", Latn, ancestors = {"mga"}, sort_key = { from = {"ç", "-"}, to = {"c"}} , standardChars = "A-WYÇa-wyç0-9" .. PUNCTUATION, } m["ha"] = { "Hausa", 56475, "cdc-wst", LatnArab, sort_key = { from = {"ɓ", "ɗ", "ƙ", "'y", "ƴ", "'" }, to = {"b~" , "d~" , "k~", "y~", "y~", "" }}, entry_name = { from = {"R̃", "r̃", "À", "à", "È", "è", "Ì", "ì", "Ò", "ò", "Ù", "ù", "Â", "â", "Ê", "ê", "Î", "î", "Ô", "ô", "Û", "û", "Ā", "ā", "Ē", "ē", "Ī", "ī", "Ō", "ō", "Ū", "ū", "Á", "á", "É", "é", "Í", "í", "Ó", "ó", "Ú", "ú", "Ā̀", "ā̀", "Ḕ", "ḕ", "Ī̀", "ī̀", "Ṑ", "ṑ", "Ū̀", "ū̀", GRAVE, ACUTE}, to = {"R", "r", "A", "a", "E", "e", "I", "i", "O", "o", "U", "u", "A", "a", "E", "e", "I", "i", "O", "o", "U", "u", "A", "a", "E", "e", "I", "i", "O", "o", "U", "u", "A", "a", "E", "e", "I", "i", "O", "o", "U", "u", "A", "a", "E", "e", "I", "i", "O", "o", "U", "u"}}, } m["he"] = { "Hebrew", 9288, "sem-can", {"Hebr", "Phnx", "Brai"}, entry_name = { from = {"[" .. u(0x0591) .. "-" .. u(0x05BD) .. u(0x05BF) .. "-" .. u(0x05C5) .. u(0x05C7) .. CGJ .. "]"}, to = {}} , } m["hi"] = { "Hindi", 1568, "inc-hnd", {"Deva", "Kthi", "Newa"}, ancestors = {"inc-ohi"}, translit_module = "hi-translit", standardChars = "ँंअ-ऊएऐओ-घच-झट-नप-रलवशसहा-ूेैो-◌्।-॰ड़ढ़" .. PUNCTUATION, } m["ho"] = { "Hiri Motu", 33617, "crp", Latn, ancestors = {"meu"}, } m["ht"] = { "Haitian Creole", 33491, "crp", Latn, ancestors = {"fr"}, } m["hu"] = { "Hungarian", 9067, "urj-ugr", {"Latn", "Hung"}, ancestors = {"ohu"}, sort_key = { from = {"á", "é", "í", "ó", "ú", "[öő]", "[üű]", "cs", "dzs", "gy", "ly", "ny", "zs"}, to = {"a", "e", "i", "o", "u", "o~", "u~", "c~", "dz~", "g~", "l~", "n~", "z~"}, }, } m["hy"] = { "Armenian", 8785, "hyx", {"Armn", "Brai"}, ancestors = {"axm"}, translit_module = "Armn-translit", override_translit = true, sort_key = { from = {"ու", "և", "եւ"}, to = {"ւ", "եվ", "եվ"}}, entry_name = { from = {"՞", "՜", "՛", "՟", "և", "<sup>յ</sup>", "<sup>ի</sup>", "<sup>է</sup>"}, to = {"", "", "", "", "եւ", "յ", "ի", "է"}} , } m["hz"] = { "Herero", 33315, "bnt-swb", Latn, } m["ia"] = { "Interlingua", 35934, "art", Latn, } m["id"] = { "Indonesian", 9240, "poz-mly", Latn, ancestors = {"ms"}, } m["ie"] = { "Interlingue", 35850, "art", Latn, type = "appendix-constructed", } m["ig"] = { "Igbo", 33578, "alv-igb", Latn, sort_key = { from = {"ụ", "ị", "ọ", "gb", "gh", "gw", "kp", "kw", "ṅ", "nw", "ny", "sh"}, to = {"u~" , "i~", "o~", "gy", "gz", "g~", "kz", "k~", "ny", "nz", "n~", "s~"}}, entry_name = { remove_diacritics = ACUTE .. GRAVE .. MACRON }, } m["ii"] = { "Sichuan Yi", 34235, "tbq-lol", {"Yiii"}, translit_module = "ii-translit", } m["ik"] = { "Inupiaq", 27183, "esx-inu", Latn, } m["io"] = { "Ido", 35224, "art", Latn, } m["is"] = { "Icelandic", 294, "gmq", Latn, ancestors = {"non"}, } m["it"] = { "Italian", 652, "roa-itd", Latn, sort_key = { from = {"[àáâäå]", "[èéêë]", "[ìíîï]", "[òóôö]", "[ùúûü]"}, to = {"a" , "e" , "i" , "o" , "u" }} , standardChars = "A-IL-VZa-il-vz0-9ÀàÈèÌìÒòÙùÉé" .. PUNCTUATION, } m["iu"] = { "Inuktitut", 29921, "esx-inu", {"Cans", "Latn"}, translit_module = "translit-redirect", override_translit = true, } m["ja"] = { "Japanese", 5287, "jpx", {"Jpan", "Brai"}, ancestors = {"ojp"}, --[=[ -- Handled by jsort function in [[Module:ja]]. sort_key = { from = {"[ぁァア]", "[ぃィイ]", "[ぅゔゥウヴ]", "[ぇェエ]", "[ぉォオ]", "[がゕカガヵ]", "[ぎキギ]", "[ぐクグㇰ]", "[げゖケゲヶ]", "[ごコゴ]", "[ざサザ]", "[じシジㇱ]", "[ずスズㇲ]", "[ぜセゼ]", "[ぞソゾ]", "[だタダ]", "[ぢチヂ]", "[っづッツヅ]", "[でテデ]", "[どトドㇳ]", "ナ", "ニ", "[ヌㇴ]", "ネ", "ノ", "[ばぱハバパㇵ]", "[びぴヒビピㇶ]", "[ぶぷフブプㇷ]", "[べぺヘベペㇸ]", "[ぼぽホボポㇹ]", "マ", "ミ", "[ムㇺ]", "メ", "モ", "[ゃャヤ]", "[ゅュユ]", "[ょョヨ]", "[ラㇻ]", "[リㇼ]", "[ルㇽ]", "[レㇾ]", "[ロㇿ]", "[ゎヮワヷ]", "[ヰヸ]", "[ヱヹ]", "[ヲヺ]", "ン", "[゙゚゛゜ゝゞ・ヽヾ]", "𛀀"}, to = {"あ", "い", "う", "え", "お", "か", "き", "く", "け", "こ", "さ", "し", "す", "せ", "そ", "た", "ち", "つ", "て", "と", "な", "に", "ぬ", "ね", "の", "は", "ひ", "ふ", "へ", "ほ", "ま", "み", "む", "め", "も", "や", "ゆ", "よ", "ら", "り", "る", "れ", "ろ", "わ", "ゐ", "ゑ", "を", "ん", "", "え"}}, --]=] } m["jv"] = { "Javanese", 33549, "poz-sus", {"Latn", "Java"}, translit_module = "jv-translit", ancestors = {"kaw"}, link_tr = true, } m["ka"] = { "Georgian", 8108, "ccs-gzn", {"Geor", "Geok", "Hebr"}, -- Hebr is used to write Judeo-Georgian ancestors = {"oge"}, translit_module = "Geor-translit", override_translit = true, entry_name = { from = {"̂"}, to = {""}}, } m["kg"] = { "Kongo", 33702, "bnt-kng", Latn, } m["ki"] = { "Kikuyu", 33587, "bnt-kka", Latn, } m["kj"] = { "Kwanyama", 1405077, "bnt-ova", Latn, } m["kk"] = { "Kazakh", 9252, "trk-kno", {"Cyrl", "Latn", "kk-Arab"}, translit_module = "kk-translit", override_translit = true, } m["kl"] = { "Greenlandic", 25355, "esx-inu", Latn, } m["km"] = { "Khmer", 9205, "mkh-kmr", {"Khmr"}, ancestors = {"xhm"}, translit_module = "km-translit", } m["kn"] = { "Kannada", 33673, "dra", {"Knda"}, ancestors = {"dra-mkn"}, translit_module = "kn-translit", } m["ko"] = { "Korean", 9176, "qfa-kor", {"Kore", "Brai"}, ancestors = {"ko-ear"}, -- Hani regex is a reasonable subset of Hani from [[Module:scripts/data]], -- last checked on 20220221 entry_name = { from = { "%([一-鿿㐀-䶿𠀀-𮯯𰀀-𱍏]+%)", "([一-鿿㐀-䶿𠀀-𮯯𰀀-𱍏])%(.-%)", "^%-", "%-$", "%-", "#PREF#", "#SUF#", }, to = { "", "%1", "#PREF#", "#SUF#", "", "-", "-", }}, translit_module = "ko-translit", } m["kr"] = { "Kanuri", 36094, "ssa-sah", LatnArab, sort_key = { from = {"ny", "ǝ", "sh"}, to = {"n~", "e~", "s~"}} , -- the sortkey and entry_name are only for standard Kanuri; when dialectal entries get added, someone will have to work out how the dialects should be represented orthographically entry_name = { from = {"À", "à", "È", "è", "Ǝ̀", "ǝ̀", "Ì", "ì", "Ò", "ò", "Ù", "ù", "Â", "â", "Ê", "ê", "Ǝ̂", "ǝ̂", "Î", "î", "Ô", "ô", "Û", "û", "Ă", "ă", "Ĕ", "ĕ", "Ǝ̆", "ǝ̆", "Ĭ", "ĭ", "Ŏ", "ŏ", "Ŭ", "ŭ", "Á", "á", "É", "é", "Ǝ́", "ǝ́", "Í", "í", "Ó", "ó", "Ú", "ú", GRAVE, ACUTE}, to = {"A", "a", "E", "e", "Ǝ", "ǝ", "I", "i", "O", "o", "U", "u", "A", "a", "E", "e", "Ǝ", "ǝ", "I", "i", "O", "o", "U", "u", "A", "a", "E", "e", "Ǝ", "ǝ", "I", "i", "O", "o", "U", "u", "A", "a", "E", "e", "Ǝ", "ǝ", "I", "i", "O", "o", "U", "u"}}, } m["ks"] = { "Kashmiri", 33552, "inc-dar", {"ks-Arab", "Deva", "Shrd", "Latn"}, translit_module = "translit-redirect", ancestors = {"sa"}, } -- "kv" IS TREATED AS "koi", "kpv", SEE WT:LT m["kw"] = { "Cornish", 25289, "cel-bry", Latn, ancestors = {"cnx"}, } m["ky"] = { "Kyrgyz", 9255, "trk-kip", {"Cyrl", "Latn", "Arab"}, translit_module = "ky-translit", override_translit = true, } m["la"] = { "Latin", 397, "itc", {"Latn", "Ital"}, entry_name = {remove_diacritics = MACRON .. BREVE .. DIAER .. DOUBLEINVBREVE}, sort_key = { from = {"æ", "œ"}, to = {"ae", "oe"}}, standardChars = "A-Za-z0-9ÆæŒœĀ-ăĒ-ĕĪ-ĭŌ-ŏŪ-ŭȲȳ" .. MACRON .. BREVE .. PUNCTUATION, } m["lb"] = { "Luxembourgish", 9051, "gmw", Latn, ancestors = {"gmw-cfr"}, } m["lg"] = { "Luganda", 33368, "bnt-nyg", Latn, entry_name = { from = {"á", "Á", "é", "É", "í", "Í", "ó", "Ó", "ú", "Ú", "ń", "Ń", "ḿ", "Ḿ", "â", "Â", "ê", "Ê", "î", "Î", "ô", "Ô", "û", "Û" }, to = {"a", "A", "e", "E", "i", "I", "o", "O", "u", "U", "n", "N", "m", "M", "a", "A", "e", "E", "i", "I", "o", "O", "u", "U",}}, sort_key = { from = {"ŋ"}, to = {"n"}} , } m["li"] = { "Limburgish", 102172, "gmw", Latn, ancestors = {"dum"}, } m["ln"] = { "Lingala", 36217, "bnt-bmo", Latn, } m["lo"] = { "Lao", 9211, "tai-swe", {"Laoo"}, translit_module = "lo-translit", sort_key = { from = {"[%pໆ]", "[່-ໍ]", "ຼ", "ຽ", "ໜ", "ໝ", "([ເແໂໃໄ])([ກ-ຮ])"}, to = {"", "", "ລ~", "ຍ~", "ຫນ", "ຫມ", "%2%1"}}, standardChars = "0-9ກຂຄງຈຊຍດຕຖທນບປຜຝພຟມຢຣລວສຫອຮຯ-ໝ" .. PUNCTUATION, } m["lt"] = { "Lithuanian", 9083, "bat", Latn, ancestors = {"olt"}, entry_name = { from = {"[áãà]", "[ÁÃÀ]", "[éẽè]", "[ÉẼÈ]", "[íĩì]", "[ÍĨÌ]", "[ýỹ]", "[ÝỸ]", "ñ", "[óõò]", "[ÓÕÒ]", "[úũù]", "[ÚŨÙ]", ACUTE, GRAVE, TILDE}, to = {"a", "A", "e", "E", "i", "I", "y", "Y", "n", "o", "O", "u", "U"}} , } m["lu"] = { "Luba-Katanga", 36157, "bnt-lub", Latn, } m["lv"] = { "Latvian", 9078, "bat", Latn, entry_name = { -- This attempts to convert vowels with tone marks to vowels either with -- or without macrons. Specifically, there should be no macrons if the -- vowel is part of a diphthong (including resonant diphthongs such -- pìrksts -> pirksts not #pīrksts). What we do is first convert the -- vowel + tone mark to a vowel + tilde in a decomposed fashion, -- then remove the tilde in diphthongs, then convert the remaining -- vowel + tilde sequences to macroned vowels, then delete any other -- tilde. We leave already-macroned vowels alone: Both e.g. ar and ār -- occur before consonants. FIXME: This still might not be sufficient. from = {"Ȩ", "ȩ", "[ÂÃÀ]", "[âãà]", "[ÊẼÈ]", "[êẽè]", "[ÎĨÌ]", "[îĩì]", "[ÔÕÒ]", "[ôõò]", "[ÛŨÙ]", "[ûũù]", "[ÑǸ]", "[ñǹ]", "[" .. CIRC .. TILDE ..GRAVE .."]", "([aAeEiIoOuU])" .. TILDE .."?([lrnmuiLRNMUI])" .. TILDE .. "?([^aAeEiIoOuUāĀēĒīĪūŪ])", "([aAeEiIoOuU])" .. TILDE .."?([lrnmuiLRNMUI])" .. TILDE .."?$", "([iI])" .. TILDE .. "?([eE])" .. TILDE .. "?", "A" .. TILDE, "a" .. TILDE, "E" .. TILDE, "e" .. TILDE, "I" .. TILDE, "i" .. TILDE, "U" .. TILDE, "u" .. TILDE, TILDE}, to = {"E", "e", "A" .. TILDE, "a" .. TILDE, "E" .. TILDE, "e" .. TILDE, "I" .. TILDE, "i" .. TILDE, "O", "o", "U" .. TILDE, "u" .. TILDE, "N", "n", TILDE, "%1%2%3", "%1%2", "%1%2", "Ā", "ā", "Ē", "ē", "Ī", "ī", "Ū", "ū", ""}}, } m["mg"] = { "Malagasy", 7930, "poz-bre", Latn, } m["mh"] = { "Marshallese", 36280, "poz-mic", Latn, sort_key = { from = {"ā" , "ļ" , "m̧" , "ņ" , "n̄" , "o̧" , "ō" , "ū" }, to = {"a~", "l~", "m~", "n~", "n~~", "o~", "o~~", "u~"}} , } m["mi"] = { "Maori", 36451, "poz-pep", Latn, } m["mk"] = { "Macedonian", 9296, "zls", Cyrl, translit_module = "mk-translit", entry_name = { from = {ACUTE}, to = {}}, } m["ml"] = { "Malayalam", 36236, "dra", {"Mlym"}, translit_module = "ml-translit", override_translit = true, } m["mn"] = { "Mongolian", 9246, "xgn", {"Cyrl", "Mong", "Soyo", "Zanb"}, -- entries in Soyo or Zanb might require prior discussion ancestors = {"cmg"}, translit_module = "mn-translit", override_translit = true, } -- "mo" IS TREATED AS "ro", SEE WT:LT m["mr"] = { "Marathi", 1571, "inc-sou", {"Deva", "Modi"}, ancestors = {"omr"}, translit_module = "translit-redirect", entry_name = { from = {"च़", "ज़", "झ़"}, to = {"च", "ज", "झ"}} , } m["ms"] = { "Malay", 9237, "poz-mly", {"Latn", "ms-Arab"}, } m["mt"] = { "Maltese", 9166, "sem-arb", Latn, ancestors = {"sqr"}, sort_key = { from = {"ċ", "ġ", "ħ"}, to = {"c", "g", "h"} } } m["my"] = { "Burmese", 9228, "tbq-brm", {"Mymr"}, ancestors = {"obr"}, translit_module = "my-translit", override_translit = true, sort_key = { from = {"ျ", "ြ", "ွ", "ှ", "ဿ"}, to = {"္ယ", "္ရ", "္ဝ", "္ဟ", "သ္သ"}}, } m["na"] = { "Nauruan", 13307, "poz-mic", Latn, } m["nb"] = { "Norwegian Bokmål", 25167, "gmq", Latn, ancestors = {"gmq-mno"}, wikimedia_codes = {"no"}, } m["nd"] = { "Northern Ndebele", 35613, "bnt-ngu", Latn, entry_name = { from = {"[āàáâǎ]", "[ēèéêě]", "[īìíîǐ]", "[ōòóôǒ]", "[ūùúûǔ]", "ḿ", "[ǹńň]", MACRON, ACUTE, GRAVE, CIRC, CARON}, to = {"a" , "e" , "i" , "o" , "u" , "m", "n" }}, } m["ne"] = { "Nepali", 33823, "inc-pah", {"Deva", "Newa"}, translit_module = "ne-translit", } m["ng"] = { "Ndonga", 33900, "bnt-ova", Latn, } m["nl"] = { "Dutch", 7411, "gmw", Latn, ancestors = {"dum"}, sort_key = { from = {"[äáâå]", "[ëéê]", "[ïíî]", "[öóô]", "[üúû]", "ç", "ñ", "^-"}, to = {"a" , "e" , "i" , "o" , "u" , "c", "n"}} , standardChars = "A-Za-z0-9" .. PUNCTUATION .. u(0x2800) .. "-" .. u(0x28FF), } m["nn"] = { "Norwegian Nynorsk", 25164, "gmq", Latn, ancestors = {"gmq-mno"}, } m["no"] = { "Norwegian", 9043, "gmq", Latn, ancestors = {"gmq-mno"}, } m["nr"] = { "Southern Ndebele", 36785, "bnt-ngu", Latn, entry_name = { from = {"[āàáâǎ]", "[ēèéêě]", "[īìíîǐ]", "[ōòóôǒ]", "[ūùúûǔ]", "ḿ", "[ǹńň]", MACRON, ACUTE, GRAVE, CIRC, CARON}, to = {"a" , "e" , "i" , "o" , "u" , "m", "n" }}, } m["nv"] = { "Navajo", 13310, "apa", Latn, sort_key = { from = {"[áą]", "[éę]", "[íį]", "[óǫ]", "ń", "^n([djlt])", "ł" , "[ʼ’']", ACUTE}, to = {"a" , "e" , "i" , "o" , "n", "ni%1" , "l~"}}, -- the tilde is used to guarantee that ł will always be sorted after all other words with l } m["ny"] = { "Chichewa", 33273, "bnt-nys", Latn, entry_name = { from = {"ŵ", "Ŵ", "á", "Á", "é", "É", "í", "Í", "ó", "Ó", "ú", "Ú", "ń", "Ń", "ḿ", "Ḿ" }, to = {"w", "W", "a", "A", "e", "E", "i", "I", "o", "O", "u", "U", "n", "N", "m", "M"}}, sort_key = { from = {"ng'"}, to = {"ng"}} , } m["oc"] = { "Occitan", 14185, "roa", {"Latn", "Hebr"}, ancestors = {"pro"}, sort_key = { from = {"[àá]", "[èé]", "[íï]", "[òó]", "[úü]", "ç", "([lns])·h"}, to = {"a" , "e" , "i" , "o" , "u" , "c", "%1h" }} , } m["oj"] = { "Ojibwe", 33875, "alg", {"Cans", "Latn"}, sort_key = { from = {"aa", "ʼ", "ii", "oo", "sh", "zh"}, to = {"a~", "h~", "i~", "o~", "s~", "z~"}} , } m["om"] = { "Oromo", 33864, "cus-eas", {"Latn", "Ethi"}, } m["or"] = { "Oriya", 33810, "inc-eas", {"Orya"}, ancestors = {"inc-mor"}, translit_module = "or-translit", } m["os"] = { "Ossetian", 33968, "xsc", {"Cyrl", "Geor", "Latn"}, ancestors = {"oos"}, translit_module = "os-translit", override_translit = true, entry_name = { from = {GRAVE, ACUTE}, to = {}} , } m["pa"] = { "Punjabi", 58635, "inc-pan", {"Guru", "pa-Arab"}, ancestors = {"inc-opa"}, translit_module = "translit-redirect", entry_name = { from = {u(0x064B), u(0x064C), u(0x064D), u(0x064E), u(0x064F), u(0x0650), u(0x0651), u(0x0652), u(0x0658), u(0x08C7), u(0x0768)}, to = {"", "", "", "", "", "", "", "", "", "ل", "ن"}} , } m["pi"] = { "Pali", 36727, "inc-mid", {"Latn", "Brah", "Deva", "Beng", "Sinh", "Mymr", "Thai", "Lana", "Laoo", "Khmr"}, ancestors = {"sa"}, translit_module = "translit-redirect", sort_key = { from = {"ā", "ī", "ū", "ḍ", "ḷ", "[ṁṃ]", "ṅ", "ñ", "ṇ", "ṭ", "([เโ])([ก-ฮ])", "([ເໂ])([ກ-ຮ])", "ᩔ", "ᩕ", "ᩖ", "ᩘ", "([ᨭ-ᨱ])ᩛ", "([ᨷ-ᨾ])ᩛ", "ᩤ", u(0xFE00), u(0x200D)}, to = {"a~", "i~", "u~", "d~", "l~", "m~", "n~", "n~~", "n~~~", "t~", "%2%1", "%2%1", "ᩈ᩠ᩈ", "᩠ᩁ", "᩠ᩃ", "ᨦ᩠", "%1᩠ᨮ", "%1᩠ᨻ", "ᩣ"}} , entry_name = { from = {u(0xFE00)}, to = {}}, } m["pl"] = { "Polish", 809, "zlw-lch", Latn, ancestors = {"zlw-opl"}, sort_key = { from = {"[Ąą]", "[Ćć]", "[Ęę]", "[Łł]", "[Ńń]", "[Óó]", "[Śś]", "[Żż]", "[Źź]"}, to = { "a" .. u(0x10FFFF), "c" .. u(0x10FFFF), "e" .. u(0x10FFFF), "l" .. u(0x10FFFF), "n" .. u(0x10FFFF), "o" .. u(0x10FFFF), "s" .. u(0x10FFFF), "z" .. u(0x10FFFF), "z" .. u(0x10FFFE)}} , } m["ps"] = { "Pashto", 58680, "ira-pat", {"ps-Arab"}, ancestors = {"ira-pat-pro"}, } m["pt"] = { "Portuguese", 5146, "roa-ibe", {"Latn", "Brai"}, ancestors = {"roa-opt"}, sort_key = { from = {"[àãáâä]", "[èẽéêë]", "[ìĩíï]", "[òóôõö]", "[üúùũ]", "ç", "ñ"}, to = {"a" , "e" , "i" , "o" , "u" , "c", "n"}} , } m["qu"] = { "Quechua", 5218, "qwe", Latn, } m["rm"] = { "Romansch", 13199, "roa-rhe", Latn, } m["ro"] = { "Romanian", 7913, "roa-eas", {"Latn", "Cyrl"}, sort_key = { from = {"ă" , "â" , "î" , "ș" , "ț" }, to = {"a~", "a~~", "i~", "s~", "t~"}}, } m["ru"] = { "Russian", 7737, "zle", {"Cyrl", "Brai"}, translit_module = "ru-translit", sort_key = { from = {"ё"}, to = {"е" .. mw.ustring.char(0x10FFFF)}}, entry_name = { from = {"Ѐ", "ѐ", "Ѝ", "ѝ", GRAVE, ACUTE, DIAER}, to = {"Е", "е", "И", "и"}}, standardChars = "ЁА-яё0-9—" .. PUNCTUATION, } m["rw"] = { "Rwanda-Rundi", 3217514, "bnt-glb", Latn, entry_name = { from = {"[áāâǎā́]", "[éēêěḗ]", "[íīîǐī́]", "[óōôǒṓ]", "[úūûǔū́]"}, to = {"a", "e" , "i", "o" , "u"} }, } m["sa"] = { "Sanskrit", 11059, "inc-old", {"Deva", "Bali", "as-Beng", "Beng", "Bhks", "Brah", "Gran", "Gujr", "Guru", "Java", "Khar", "Khmr", "Knda", "Lana", "Laoo", "Mlym", "Modi", "Mymr", "Nand", "Newa", "Orya", "Saur", "Shrd", "Sidd", "Sinh", "Taml", "Telu", "Thai", "Tibt", "Tirh"}, sort_key = { from = {"ā", "ī", "ū", "ḍ", "ḷ", "ḹ", "[ṁṃ]", "ṅ", "ñ", "ṇ", "ṛ", "ṝ", "ś", "ṣ", "ṭ", "([เโไ])([ก-ฮ])", "([ເໂໄ])([ກ-ຮ])", "ᩔ", "ᩕ", "ᩖ", "ᩘ", "([ᨭ-ᨱ])ᩛ", "([ᨷ-ᨾ])ᩛ", "ᩤ", u(0xFE00), u(0x200D)}, to = {"a~", "i~", "u~", "d~", "l~", "l~~", "m~", "n~", "n~~", "n~~~", "r~", "r~~", "s~", "s~~", "t~", "%2%1", "%2%1", "ᩈ᩠ᩈ", "᩠ᩁ", "᩠ᩃ", "ᨦ᩠", "%1᩠ᨮ", "%1᩠ᨻ", "ᩣ"}} , entry_name = { from = {u(0xFE00)}, to = {}}, translit_module = "translit-redirect", } m["sc"] = { "Sardinian", 33976, "roa", Latn, } m["sd"] = { "Sindhi", 33997, "inc-snd", {"sd-Arab", "Deva", "Sind", "Khoj"}, entry_name = { from = {u(0x0671), u(0x064B), u(0x064C), u(0x064D), u(0x064E), u(0x064F), u(0x0650), u(0x0651), u(0x0652), u(0x0670), u(0x0640)}, to = {u(0x0627)}}, ancestors = {"inc-vra"}, translit_module = "translit-redirect", } m["se"] = { "Northern Sami", 33947, "smi", Latn, entry_name = { from = {"ạ", "[ēẹ]", "ī", "[ōọ]", "ū", "ˈ"}, to = {"a", "e" , "i", "o" , "u"} }, sort_key = { from = {"á" , "č" , "đ" , "ŋ" , "š" , "ŧ" , "ž" }, to = {"a²", "c²", "d²", "n²", "s²", "t²", "z²"} }, standardChars = "A-PR-VZa-pr-vz0-9ÁáČčĐđŊŋŠšŦŧŽž" .. PUNCTUATION, } m["sg"] = { "Sango", 33954, "crp", Latn, ancestors = {"ngb"}, } m["sh"] = { "Serbo-Croatian", 9301, "zls", {"Latn", "Cyrl", "Glag"}, entry_name = { from = {"[ȀÀȂÁĀÃ]", "[ȁàȃáāã]", "[ȄÈȆÉĒẼ]", "[ȅèȇéēẽ]", "[ȈÌȊÍĪĨ]", "[ȉìȋíīĩ]", "[ȌÒȎÓŌÕ]", "[ȍòȏóōõ]", "[ȐȒŔ]", "[ȑȓŕ]", "[ȔÙȖÚŪŨ]", "[ȕùȗúūũ]", "Ѐ", "ѐ", "[ӢЍ]", "[ӣѝ]", "[Ӯ]", "[ӯ]", GRAVE, ACUTE, DGRAVE, INVBREVE, MACRON, TILDE}, to = {"A" , "a" , "E" , "e" , "I" , "i" , "O" , "o" , "R" , "r" , "U" , "u" , "Е", "е", "И" , "и", "У", "у" }}, wikimedia_codes = {"sh", "bs", "hr", "sr"}, } m["si"] = { "Sinhalese", 13267, "inc-ins", {"Sinh"}, ancestors = {"elu-prk"}, translit_module = "si-translit", override_translit = true, } m["sk"] = { "Slovak", 9058, "zlw", Latn, sort_key = { from = {"[áä]", "é", "í", "[óô]", "ú", "ý", "ŕ", "ĺ", "[" .. DIAER .. ACUTE .. CIRC .. "]"}, to = {"a" , "e", "i", "o" , "u", "y", "r", "l", ""}} , } m["sl"] = { "Slovene", 9063, "zls", Latn, entry_name = { from = {"[ÁÀÂĀȂȀ]", "[áàâāȃȁ]", "[ÉÈÊĒȆȄỆẸ]", "[éèêēȇȅệẹə]", "[ÍÌÎĪȊȈ]", "[íìîīȋȉ]", "[ÓÒÔŌȎȌỘỌ]", "[óòôōȏȍộọ]", "[ŔȒȐ]", "[ŕȓȑ]", "[ÚÙÛŪȖȔ]", "[úùûūȗȕ]", "ł", GRAVE, ACUTE, CIRC, MACRON, DGRAVE, INVBREVE, DOTBELOW}, to = {"A" , "a" , "E" , "e" , "I" , "i" , "O" , "o" , "R" , "r" , "U" , "u" , "l"}, }, sort_key = { from = {"č" , "š" , "ž" }, to = {"c²", "s²", "z²"}, }, } m["sm"] = { "Samoan", 34011, "poz-pnp", Latn, } m["sn"] = { "Shona", 34004, "bnt-sho", Latn, entry_name = {remove_diacritics = ACUTE}, } m["so"] = { "Somali", 13275, "cus-eas", {"Latn", "Arab", "Osma"}, entry_name = { from = {"[ÁÀÂ]", "[áàâ]", "[ÉÈÊ]", "[éèê]", "[ÍÌÎ]", "[íìî]", "[ÓÒÔ]", "[óòô]", "[ÚÙÛ]", "[úùû]", "[ÝỲ]", "[ýỳ]"}, to = {"A" , "a" , "E" , "e" , "I" , "i" , "O" , "o" , "U" , "u", "Y", "y"}} , } m["sq"] = { "Albanian", 8748, "sqj", {"Latn", "Grek", "Elba"}, entry_name = {remove_diacritics = ACUTE}, sort_key = { from = { '[âãä]', '[ÂÃÄ]', '[êẽë]', '[ÊẼË]', 'ĩ', 'Ĩ', 'õ', 'Õ', 'ũ', 'Ũ', 'ỹ', 'Ỹ', 'ç', 'Ç' }, to = { 'a', 'A', 'e', 'E', 'i', 'I', 'o', 'O', 'u', 'U', 'y', 'Y', 'c', 'C' } } , } m["ss"] = { "Swazi", 34014, "bnt-ngu", Latn, entry_name = { from = {"[āàáâǎ]", "[ēèéêě]", "[īìíîǐ]", "[ōòóôǒ]", "[ūùúûǔ]", "ḿ", "[ǹńň]", MACRON, ACUTE, GRAVE, CIRC, CARON}, to = {"a" , "e" , "i" , "o" , "u" , "m", "n" }}, } m["st"] = { "Sotho", 34340, "bnt-sts", Latn, entry_name = { from = {"[āàáâǎ]", "[ēèéêě]", "[īìíîǐ]", "[ōòóôǒ]", "[ūùúûǔ]", "ḿ", "[ǹńň]", MACRON, ACUTE, GRAVE, CIRC, CARON}, to = {"a" , "e" , "i" , "o" , "u" , "m", "n" }}, } m["su"] = { "Sundanese", 34002, "poz-msa", {"Latn", "Sund"}, ancestors = {"osn"}, translit_module = "su-translit", } m["sv"] = { "Swedish", 9027, "gmq", Latn, ancestors = {"gmq-osw"}, } m["sw"] = { "Swahili", 7838, "bnt-swh", LatnArab, sort_key = { from = {"ng'", "^-"}, to = {"ngz"}} , } m["ta"] = { "Tamil", 5885, "dra", {"Taml"}, ancestors = {"oty"}, translit_module = "ta-translit", override_translit = true, } m["te"] = { "Telugu", 8097, "dra", {"Telu"}, translit_module = "te-translit", override_translit = true, } m["tg"] = { "Tajik", 9260, "ira-swi", {"Cyrl", "fa-Arab", "Latn"}, ancestors = {"pal"}, -- same as "fa", see WT:T:AFA translit_module = "tg-translit", override_translit = true, sort_key = { from = {"Ё", "ё"}, to = {"Е" , "е"}} , entry_name = { from = {ACUTE}, to = {}} , } m["th"] = { "Thai", 9217, "tai-swe", {"Thai", "Brai"}, translit_module = "th-translit", sort_key = { from = {"[%pๆ]", "[็-๎]", "([เแโใไ])([ก-ฮ])"}, to = {"", "", "%2%1"}}, } m["ti"] = { "Tigrinya", 34124, "sem-eth", {"Ethi"}, translit_module = "Ethi-translit", } m["tk"] = { "Turkmen", 9267, "trk-ogz", {"Latn", "Cyrl", "Arab"}, entry_name = { from = {"ā", "ē", "ī", "ō", "ū", "ȳ", "ȫ", "ǖ", MACRON}, to = {"a", "e", "i", "o", "u", "y", "ö", "ü", ""}}, ancestors = {"trk-ogz-pro"}, } m["tl"] = { "Tagalog", 34057, "phi", {"Latn", "Tglg"}, entry_name = { from = {"[áàâ]", "[éèê]", "[íìî]", "[óòô]", "[úùû]", ACUTE, GRAVE, CIRC}, to = {"a" , "e" , "i" , "o" , "u" }}, translit_module = "tl-translit", override_translit = true } m["tn"] = { "Tswana", 34137, "bnt-sts", Latn, } m["to"] = { "Tongan", 34094, "poz-pol", Latn, sort_key = { from = {"ā", "ē", "ī", "ō", "ū", MACRON}, to = {"a", "e", "i", "o", "u", ""}}, entry_name = { from = {"á", "é", "í", "ó", "ú", ACUTE}, to = {"a", "e", "i", "o", "u", ""}}, } m["tr"] = { "Turkish", 256, "trk-ogz", Latn, ancestors = {"ota"}, dotted_dotless_i = true, } m["ts"] = { "Tsonga", 34327, "bnt-tsr", Latn, } m["tt"] = { "Tatar", 25285, "trk-kbu", {"Cyrl", "Latn", "tt-Arab"}, translit_module = "tt-translit", override_translit = true, dotted_dotless_i = true, } -- "tw" IS TREATED AS "ak", SEE WT:LT m["ty"] = { "Tahitian", 34128, "poz-pep", Latn, } m["ug"] = { "Uyghur", 13263, "trk-kar", {"ug-Arab", "Latn", "Cyrl"}, ancestors = {"chg"}, translit_module = "ug-translit", override_translit = true, } m["uk"] = { "Ukrainian", 8798, "zle", Cyrl, ancestors = {"zle-ort"}, translit_module = "uk-translit", entry_name = { from = {"Ѐ", "ѐ", "Ѝ", "ѝ", GRAVE, ACUTE}, to = {"Е", "е", "И", "и"}}, standardChars = "ЄІЇА-ЩЬЮ-щьюяєії" .. PUNCTUATION, } m["ur"] = { "Urdu", 1617, "inc-hnd", {"ur-Arab"}, ancestors = {"inc-ohi"}, entry_name = { from = {u(0x0640), u(0x064B), u(0x064C), u(0x064D), u(0x064E), u(0x064F), u(0x0650), u(0x0651), u(0x0652), u(0x0658)}, to = {}} , } m["uz"] = { "Uzbek", 9264, "trk-kar", {"Latn", "Cyrl", "fa-Arab"}, ancestors = {"chg"}, translit_module = "uz-translit" } m["ve"] = { "Venda", 32704, "bnt-bso", Latn, } m["vi"] = { "Vietnamese", 9199, "mkh-vie", {"Latn", "Hani"}, ancestors = {"mkh-mvi"}, sort_key = "vi-sortkey", } m["vo"] = { "Volapük", 36986, "art", Latn, } m["wa"] = { "Walloon", 34219, "roa-oil", Latn, ancestors = {"fro"}, sort_key = { from = {"[áàâäå]", "[éèêë]", "[íìîï]", "[óòôö]", "[úùûü]", "[ýỳŷÿ]", "ç", "'"}, to = {"a" , "e" , "i" , "o" , "u" , "y" , "c"}} , } m["wo"] = { "Wolof", 34257, "alv-fwo", LatnArab, } m["xh"] = { "Xhosa", 13218, "bnt-ngu", Latn, entry_name = { from = {"[āàáâǎ]", "[ēèéêě]", "[īìíîǐ]", "[ōòóôǒ]", "[ūùúûǔ]", "ḿ", "[ǹńň]", MACRON, ACUTE, GRAVE, CIRC, CARON}, to = {"a" , "e" , "i" , "o" , "u" , "m", "n" }}, } m["yi"] = { "Yiddish", 8641, "gmw", {"Hebr"}, ancestors = {"gmh"}, sort_key = { from = {"[אַאָ]", "בּ", "[וֹוּ]", "יִ", "ײַ", "פֿ"}, to = {"א", "ב", "ו", "י", "יי", "פ"}} , translit_module = "yi-translit", } m["yo"] = { "Yoruba", 34311, "alv-yor", Latn, sort_key = { from = {"ẹ", "ọ", "gb", "ṣ"}, to = {"e~" , "o~", "g~", "s~"}}, entry_name = { remove_diacritics = ACUTE .. GRAVE .. MACRON }, } m["za"] = { "Zhuang", 13216, "tai", {"Latn", "Hani"}, sort_key = { from = {"%p"}, to = {""}}, } m["zh"] = { "Chinese", 7850, "zhx", {"Hani", "Brai", "Nshu"}, ancestors = {"ltc"}, sort_key = "zh-sortkey", } m["zu"] = { "Zulu", 10179, "bnt-ngu", Latn, entry_name = { from = {"[āàáâǎ]", "[ēèéêě]", "[īìíîǐ]", "[ōòóôǒ]", "[ūùúûǔ]", "ḿ", "[ǹńň]", MACRON, ACUTE, GRAVE, CIRC, CARON}, to = {"a" , "e" , "i" , "o" , "u" , "m", "n" }}, } return m km52vawrl9546nvln0axm16fx81xbq7 Karolo:English terms with audio links 14 2933 8240 2022-07-18T20:00:16Z Rebel Agent 2678 Ke dirile tsebe 8240 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 Tempolete:wikipedia 10 2934 8241 2022-07-18T20:04:59Z Rebel Agent 2678 Ke dirile tsebe 8241 wikitext text/x-wiki {{#invoke:interproject|wikipedia_box}}<noinclude>{{documentation}}</noinclude> dzdi9sako2qrftzzgyx4tz1f2bxrhuy buka 0 2935 8242 2022-07-21T16:09:36Z Rebel Agent 2678 Ke dirile tsebe 8242 wikitext text/x-wiki == Setswana == * Buka * Buka ke sedirisiwa se se dirisiwang go kwalelwa mafoko '''bontsi''' ke “dibuka" j8csach96ro74jq6ydhqacfz72prqyq Module:interproject 828 2936 8244 2022-07-21T16:15:45Z Rebel Agent 2678 Ke dirile module 8244 Scribunto text/plain local export = {} local function track(page) require("Module:debug/track")("interproject/" .. page) return true end local function process_links(linkdata, prefix, name, wmlang, sc) prefix = prefix .. ":" .. (wmlang:getCode() == "en" and "" or wmlang:getCode() .. ":") local links = {} local iplinks = {} local m_links = require("Module:links") local lang = wmlang:getWiktionaryLanguage() local ipalt = name .. " " .. (wmlang:getCode() == "en" and "" or "<sup>" .. wmlang:getCode() .. "</sup>") for i, link in ipairs(linkdata) do link.lang = lang link.sc = sc link.term = prefix .. link.term link.tr = "-" table.insert(iplinks, "<span class=\"interProject\">[[" .. link.term .. "|" .. ipalt .. "]]</span>") table.insert(links, m_links.full_link(link, "bold")) end return links, iplinks end function export.wikipedia_box(frame) local params = { [1] = {}, [2] = {}, ["cat"] = {}, ["category"] = {alias_of = "cat"}, ["i"] = {type = "boolean"}, ["lang"] = {default = "en"}, ["mul"] = {}, ["mullabel"] = {}, ["mulcat"] = {}, ["mulcatlabel"] = {}, ["portal"] = {}, ["sc"] = {}, } local args = require("Module:parameters").process(frame:getParent().args, params) if args.mul or args.mullabel or args.mulcat or args.mulcatlabel then track("wikipedia-box-mul") end local wmlang = require("Module:wikimedia languages").getByCodeWithFallback(args["lang"]) or error("The Wikimedia language code \"" .. args["lang"] .. "\" is not valid.") local sc = args["sc"] and require("Module:scripts").getByCode(args["sc"], "sc") or nil local linkdata = {} if args["cat"] then table.insert(linkdata, {term = "Category:" .. args["cat"], alt = args[1] or args["cat"]}) elseif args["portal"] then table.insert(linkdata, {term = "Portal:" .. args["portal"], alt = args[1] or args["portal"]}) else local term = args[1] or mw.title.getCurrentTitle().text table.insert(linkdata, {term = term, alt = args[2] or term}) end if args["mul"] or args["mulcat"] then if args["mulcat"] then table.insert(linkdata, {term = "Category:" .. args["mulcat"], alt = args["mulcatlabel"] or args["mulcat"]}) else table.insert(linkdata, {term = args["mul"], alt = args["mullabel"] or args["mul"]}) end end local links, iplinks = process_links(linkdata, "w", "Wikipedia", wmlang, sc) if frame.args["slim"] then return "<div class=\"sister-wikipedia sister-project noprint floatright\" style=\"border: solid #aaa 1px; font-size: 90%; background: #f9f9f9; width: 250px; padding: 4px; text-align: left;\">" .. "<div style=\"float: left;\">[[File:Wikipedia-logo.png|14px|none| ]]</div>" .. "<div style=\"margin-left: 15px;\">" .. " &nbsp;" .. table.concat(links, " and ") .. " on " .. (wmlang:getCode() == "en" and "" or wmlang:getCanonicalName() .. "&nbsp;") .. "Wikipedia" .. "</div>" .. "</div>" else local linktype if args["cat"] then linktype = "a category" elseif args["mul"] then linktype = "articles" elseif args["mulcat"] then linktype = "categories" elseif args["portal"] then linktype = "a portal" else linktype = "an article" end return "<div class=\"sister-wikipedia sister-project noprint floatright\" style=\"border: 1px solid #aaa; font-size: 90%; background: #f9f9f9; width: 250px; padding: 4px; text-align: left;\">" .. "<div style=\"float: left;\">[[File:Wikipedia-logo-v2.svg|44px|none|link=|alt=]]</div>" .. "<div style=\"margin-left: 60px;\">" .. wmlang:getCanonicalName() .. " [[Wikipedia]] has " .. linktype .. " on:" .. "<div style=\"margin-left: 10px;\">" .. table.concat(links, " and ") .. "</div>" .. "</div>" .. table.concat(iplinks) .. ((args[1] == mw.title.getCurrentTitle().text and not args[2]) and "[[Category:wikipedia with redundant first parameter]]" or "") .. "</div>" end end function export.projectlink(frame, compat) local m_params = require("Module:parameters") local iparams = { ["prefix"] = {required = true}, ["name"] = {required = true}, ["image"] = {required = true}, ["compat"] = {type = "boolean"}, } iargs = m_params.process(frame.args, iparams) compat = compat or iargs.compat local lang_param = compat and "lang" or 1 local term_param = compat and 1 or 2 local alt_param = compat and 2 or 3 local params = { [lang_param] = {}, [term_param] = {}, [alt_param] = {}, ["i"] = {type = "boolean"}, ["nodot"] = {}, ["sc"] = {}, } local args = m_params.process(frame:getParent().args, params) local wmlang = args[lang_param] or "en" wmlang = require("Module:wikimedia languages").getByCodeWithFallback(wmlang) or error("The Wikimedia language code \"" .. wmlang .. "\" is not valid.") local sc = args["sc"] and require("Module:scripts").getByCode(args["sc"], "sc") or nil local term = args[term_param] or mw.title.getCurrentTitle().text local linkdata = {term = term, alt = args[alt_param] or term} if args["i"] then linkdata.alt = "''" .. linkdata.alt .. "''" end local links, iplinks = process_links({linkdata}, iargs["prefix"], iargs["name"], wmlang, sc) return "[[Image:" .. iargs["image"] .. "|15px|link=" .. linkdata.term .. "]] " .. table.concat(links, " and ") .. " on " .. (wmlang:getCode() == "en" and "" or "the " .. wmlang:getCanonicalName() .. " ") .. " " .. iargs["name"] .. (args["nodot"] and "" or ".") .. table.concat(iplinks) end return export iqfi2fi38bam1z1ski9ljdunohbs1v9 Module:parameters 828 2937 8594 8480 2024-04-27T07:45:14Z Rebel Agent 2678 8594 Scribunto text/plain local m_str_utils = require("Module:string utilities") local require_when_needed = require("Module:utilities/require when needed") local dump = mw.dumpObject local floor = math.floor local gsplit = mw.text.gsplit local gsub = string.gsub local huge = math.huge local insert = table.insert local list_to_set = require("Module:table").listToSet local list_to_text = mw.text.listToText local match = string.match local max = math.max local pairs = pairs local pattern_escape = m_str_utils.pattern_escape local remove_holes = require_when_needed("Module:parameters/remove holes") local scribunto_param_key = m_str_utils.scribunto_param_key local sort = table.sort local trim = mw.text.trim local type = type local yesno = require_when_needed("Module:yesno") local export = {} local function track(page) require("Module:debug/track")("parameters/" .. page) end local function save_pattern(name, list_name, patterns) name = type(name) == "string" and gsub(name, "\1", "") or name if match(list_name, "\1") then patterns["^" .. gsub(pattern_escape(list_name), "\1", "([1-9]%%d*)") .. "$"] = name else patterns["^" .. pattern_escape(list_name) .. "([1-9]%d*)$"] = name end end local function concat_list(list, conjunction, dump_vals) if dump_vals then for i = 1, #list do list[i] = dump(list[i]) end end return list_to_text(list, nil, conjunction) end local function check_set(val, name, param) if not param.set[val] then local list = {} for k in pairs(param.set) do insert(list, dump(k)) end sort(list) -- If the parameter is not required then put "or empty" at the end of the list, to avoid implying the parameter is actually required. if not param.required then insert(list, "empty") end error("Parameter " .. dump(name) .. " must be " .. (#param.set > 1 and "either " or "") .. concat_list(list, " or ") .. "; the value " .. dump(val) .. " is not valid.") end end local get_val = setmetatable({ ["boolean"] = function(val) -- Set makes no sense with booleans, so don't bother checking for it. return yesno(val, true) end, ["family"] = function(val, name, param) if param.set then check_set(val, name, param) end return require("Module:families")[param.method == "name" and "getByCanonicalName" or "getByCode"](val) or error("Parameter " .. dump(name) .. " should be a valid family " .. (param.method == "name" and "name" or "code") .. "; the value " .. dump(val) .. " is not valid. See [[WT:LOF]].") end, ["language"] = function(val, name, param) if param.set then check_set(val, name, param) end local lang = require("Module:languages")[param.method == "name" and "getByCanonicalName" or "getByCode"](val, nil, param.etym_lang, param.family) if lang then return lang end local list = {"language"} local links = {"[[WT:LOL]]"} if param.etym_lang then insert(list, "etymology language") insert(links, "[[WT:LOL/E]]") end if param.family then insert(list, "family") insert(links, "[[WT:LOF]]") end error("Parameter " .. dump(name) .. " should be a valid " .. concat_list(list, " or ") .. " " .. (param.method == "name" and "name" or "code") .. "; the value " .. dump(val) .. " is not valid. See " .. concat_list(links, " and ") .. ".") end, ["number"] = function(val, name, param) if type(val) == "number" then return val end -- Avoid converting inputs like "nan" or "inf". val = tonumber(val:match("^[+%-]?%d+%.?%d*")) or error("Parameter " .. dump(name) .. " should be a valid number; the value " .. dump(val) .. " is not valid.") if param.set then check_set(val, name, param) end return val end, ["script"] = function(val, name, param) if param.set then check_set(val, name, param) end return require("Module:scripts")[param.method == "name" and "getByCanonicalName" or "getByCode"](val) or error("Parameter " .. dump(name) .. " should be a valid script " .. (param.method == "name" and "name" or "code") .. "; the value " .. dump(val) .. " is not valid. See [[WT:LOS]].") end, ["string"] = function(val, name, param) if param.set then check_set(val, name, param) end return val end, ["wikimedia language"] = function(val, name, param) if param.set then check_set(val, name, param) end return require("Module:wikimedia languages").getByCode(val) or error("Parameter " .. dump(name) .. " should be a valid wikimedia language code; the value " .. dump(val) .. " is not valid.") end, }, { __call = function(self, val, name, param) local func, sublist = self[param.type or "string"], param.sublist if not func then error(dump(param.type) .. " is not a recognized parameter type.") elseif sublist then local ret_val = {} for v in gsplit(val, sublist == true and "%s*,%s*" or sublist) do insert(ret_val, func(v, name, param)) end return ret_val else return func(val, name, param) end end }) function export.process(args, params, return_unknown) -- Process parameters for specific properties local args_new = {} local required = {} local seen = {} local patterns = {} local names_with_equal_sign = {} local list_from_index for name, param in pairs(params) do -- Populate required table, and make sure aliases aren't set to required. if param.required then if param.alias_of then error("`params` table error: parameter " .. dump(name) .. " is an alias of " .. dump(param.alias_of) .. ", but is also set as a required parameter. Only " .. dump(name) .. " should be set as required.") end required[name] = true end -- Convert param.set from a list into a set. -- `seen` prevents double-conversion if multiple parameter keys share the same param table. local set = param.set if set and not seen[param] then param.set = list_to_set(set) seen[param] = true end local alias = param.alias_of if alias then -- Check that the alias_of is set to a valid parameter. if not params[alias] then error("`params` table error: parameter " .. dump(name) .. " is an alias of an invalid parameter.") end -- Check that all the parameters in params are in the form Scribunto normalizes input argument keys into (e.g. 1 not "1", "foo" not " foo "). Otherwise, this function won't be able to normalize the input arguments in the expected way. local normalized = scribunto_param_key(alias) if alias ~= normalized then error("`params` table error: parameter " .. dump(alias) .. " (a " .. type(alias) .. ") given in the alias_of field of parameter " .. dump(name) .. " is not a normalized Scribunto parameter. Should be " .. dump(normalized) .. " (a " .. type(normalized) .. ").") -- Aliases can't be lists unless the canonical parameter is also a list. elseif param.list and not params[alias].list then error("`params` table error: the list parameter " .. dump(name) .. " is set as an alias of " .. dump(alias) .. ", which is not a list parameter.") -- Aliases can't be aliases of other aliases. elseif params[alias].alias_of then error("`params` table error: alias_of cannot be set to another alias: parameter " .. dump(name) .. " is set as an alias of " .. dump(alias) .. ", which is in turn an alias of " .. dump(params[alias].alias_of) .. ". Set alias_of for " .. dump(name) .. " to " .. dump(params[alias].alias_of) .. ".") end end local normalized = scribunto_param_key(name) if name ~= normalized then error("`params` table error: parameter " .. dump(name) .. " (a " .. type(name) .. ") is not a normalized Scribunto parameter. Should be " .. dump(normalized) .. " (a " .. type(normalized) .. ").") end if param.list then if not param.alias_of then local key = name if type(name) == "string" then key = gsub(name, "\1", "") end -- _list is used as a temporary flag. args_new[key] = {maxindex = 0, _list = true} end if type(param.list) == "string" then -- If the list property is a string, then it represents the name -- to be used as the prefix for list items. This is for use with lists -- where the first item is a numbered parameter and the -- subsequent ones are named, such as 1, pl2, pl3. save_pattern(name, param.list, patterns) elseif type(name) == "number" then if list_from_index then error("`params` table error: only one numeric parameter can be a list, unless the list property is a string.") end -- If the name is a number, then all indexed parameters from -- this number onwards go in the list. list_from_index = name else save_pattern(name, name, patterns) end if match(name, "\1") then insert(names_with_equal_sign, name) end end end --Process required changes to `params`. for i = 1, #names_with_equal_sign do local name = names_with_equal_sign[i] params[gsub(name, "\1", "")] = params[name] params[name] = nil end -- Process the arguments local args_unknown = {} local max_index for name, val in pairs(args) do local orig_name, raw_type, index, normalized = name, type(name) if raw_type == "number" then if list_from_index ~= nil and name >= list_from_index then index = name - list_from_index + 1 name = list_from_index end else -- Does this argument name match a pattern? for pattern, pname in pairs(patterns) do index = match(name, pattern) -- It matches, so store the parameter name and the -- numeric index extracted from the argument name. if index then index = tonumber(index) name = pname break end end end local param = params[name] if param and param.require_index then -- Disallow require_index for numeric parameter names, as this doesn't make sense. if raw_type == "number" then error("`params` table error: cannot set require_index for numeric parameter " .. dump(name) .. ".") -- If a parameter without the trailing index was found, and -- require_index is set on the param, set the param to nil to treat it -- as if it isn't recognized. elseif not index then param = nil end end -- If the argument is not in the list of parameters, trigger an error. -- return_unknown suppresses the error, and stores it in a separate list instead. if not param then if return_unknown then args_unknown[name] = val else error("Parameter " .. dump(name) .. " is not used by this template.", 2) end else -- Check that separate_no_index is not being used with a numeric parameter. if param.separate_no_index then if raw_type == "number" then error("`params` table error: cannot set separate_no_index for numeric parameter " .. dump(name) .. ".") elseif type(param.alias_of) == "number" then error("`params` table error: cannot set separate_no_index for parameter " .. dump(name) .. ", as it is an alias of numeric parameter " .. dump(param.alias_of) .. ".") end end -- If no index was found, use 1 as the default index. -- This makes list parameters like g, g2, g3 put g at index 1. -- If `separate_no_index` is set, then use 0 as the default instead. if param.list then index = index or param.separate_no_index and 0 or 1 end -- Normalize to the canonical parameter name. If it's a list, but the alias is not, then determine the index. local raw_name = param.alias_of if param.alias_of then raw_type = type(raw_name) if raw_type == "number" then if params[raw_name].list then index = index or param.separate_no_index and 0 or 1 normalized = raw_name + index - 1 else normalized = raw_name end name = raw_name else name = gsub(raw_name, "\1", "") if params[name].list then index = index or param.separate_no_index and 0 or 1 end if not index or index == 0 then normalized = name elseif name == raw_name then normalized = name .. index else normalized = gsub(raw_name, "\1", index) end end else normalized = orig_name end -- Remove leading and trailing whitespace unless allow_whitespace is true. if not param.allow_whitespace then val = trim(val) end -- Empty string is equivalent to nil unless allow_empty is true. if val == "" and not param.allow_empty then val = nil -- Track empty parameters, unless (1) allow_empty is set or (2) they're numbered parameters where a higher numbered parameter is also in use (e.g. track {{l|en|term|}}, but not {{l|en||term}}). if raw_type == "number" and not max_index then -- Find the highest numbered parameter that's in use/an empty string, as we don't want parameters like 500= to mean we can't track any empty parameters with a lower index than 500. local n = 0 while args[n + 1] do n = n + 1 end max_index = 0 for n = n, 1, -1 do if args[n] ~= "" then max_index = n break end end end if raw_type ~= "number" or name > max_index then -- Disable this for now as it causes slowdowns on large pages like [[a]]. -- track("empty parameter") end end -- Can't use "if val" alone, because val may be a boolean false. if val ~= nil then -- Convert to proper type if necessary. val = get_val(val, orig_name, params[raw_name] or param) -- Mark it as no longer required, as it is present. required[name] = nil -- Store the argument value. if index then -- If the parameter is duplicated, throw an error. if args_new[name][index] ~= nil then error("Parameter " .. dump(normalized) .. " has been entered more than once. This is probably because a list parameter has been entered without an index and with index 1 at the same time, or because a parameter alias has been used.") end args_new[name][index] = val -- Store the highest index we find. args_new[name].maxindex = max(index, args_new[name].maxindex) if args_new[name][0] ~= nil then args_new[name].default = args_new[name][0] if args_new[name].maxindex == 0 then args_new[name].maxindex = 1 end args_new[name][0] = nil end if params[name].list then -- Don't store index 0, as it's a proxy for the default. if index > 0 then args_new[name][index] = val -- Store the highest index we find. args_new[name].maxindex = max(index, args_new[name].maxindex) end else args_new[name] = val end else -- If the parameter is duplicated, throw an error. if args_new[name] ~= nil then error("Parameter " .. dump(normalized) .. " has been entered more than once. This is probably because a parameter alias has been used.") end if not param.alias_of then args_new[name] = val else if params[param.alias_of].list then args_new[param.alias_of][1] = val -- Store the highest index we find. args_new[param.alias_of].maxindex = max(1, args_new[param.alias_of].maxindex) else args_new[param.alias_of] = val end end end end end end -- Remove holes in any list parameters if needed. for name, val in pairs(args_new) do if type(val) == "table" and val._list then if params[name].disallow_holes then local highest = 0 for num, _ in pairs(val) do if type(num) == "number" and num > 0 and num < huge and floor(num) == num then highest = max(highest, num) end end for i = 1, highest do if val[i] == nil then error(("For %s=, saw hole at index %s; disallowed because `disallow_holes` specified"):format(name, i)) end end -- Some code depends on only numeric params being present when no holes are allowed (e.g. by checking for the -- presence of arguments using next()), so remove `maxindex`. val.maxindex = nil elseif not params[name].allow_holes then args_new[name] = remove_holes(val) end end end -- Handle defaults. for name, param in pairs(params) do if param.default ~= nil then local arg_new = args_new[name] if type(arg_new) == "table" and arg_new._list then if arg_new[1] == nil then arg_new[1] = get_val(param.default, name, param) end if arg_new.maxindex == 0 then arg_new.maxindex = 1 end arg_new._list = nil elseif arg_new == nil then args_new[name] = get_val(param.default, name, param) end end end -- The required table should now be empty. -- If any entry remains, trigger an error, unless we're in the template namespace. if mw.title.getCurrentTitle().namespace ~= 10 then local list = {} for name in pairs(required) do insert(list, dump(name)) end local n = #list if n > 0 then error("Parameter" .. ( n == 1 and (" " .. list[1] .. " is") or ("s " .. concat_list(list, " and ", true) .. " are") ) .. " required.", 2) end end -- Remove the temporary _list flag. for _, arg_new in pairs(args_new) do if type(arg_new) == "table" then arg_new._list = nil end end if return_unknown then return args_new, args_unknown else return args_new end end return export dck8lrrxz6l5vkusj0nkx7o4gwx5g9r Module:string/pattern escape 828 2938 8246 2022-07-21T16:24:41Z Rebel Agent 2678 Ke dirile module 8246 Scribunto text/plain return function (str) return mw.ustring.gsub(str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1") end b97lzgihya1ilvmrqr6a3ng2jjomdnw Module:wikimedia languages 828 2939 8247 2022-07-21T16:29:00Z Rebel Agent 2678 Ke dirile module 8247 Scribunto text/plain local export = {} local WikimediaLanguage = {} function WikimediaLanguage:getCode() return self._code end function WikimediaLanguage:getCanonicalName() return self._rawData.canonicalName end --function WikimediaLanguage:getAllNames() -- return self._rawData.names --end function WikimediaLanguage:getType() return "Wikimedia" end function WikimediaLanguage:getWiktionaryLanguage() if not self._wiktionaryLanguageObject then self._wiktionaryLanguageObject = require("Module:languages").getByCode(self._rawData.wiktionary_code) end return self._wiktionaryLanguageObject end -- Do NOT use this method! -- All uses should be pre-approved on the talk page! function WikimediaLanguage:getRawData() return self._rawData end WikimediaLanguage.__index = WikimediaLanguage function export.getByCode(code) -- Only accept codes the software recognises if not mw.language.isKnownLanguageTag(code) then return nil end local rawData = mw.loadData("Module:wikimedia languages/data")[code] -- If there is no specific Wikimedia code, then "borrow" the information -- from the general Wiktionary language code if not rawData then local lang = require("Module:languages").getByCode(code) if not lang then return nil end rawData = {canonicalName = lang:getCanonicalName(), wiktionary_code = code} elseif not rawData.canonicalName then rawData = {canonicalName = require("Module:languages").getByCode(rawData.wiktionary_code):getCanonicalName(), wiktionary_code = rawData.wiktionary_code} end return setmetatable({ _rawData = rawData, _code = code }, WikimediaLanguage) end function export.getByCodeWithFallback(code) local object = export.getByCode(code) if object then return object end local lang = require("Module:languages").getByCode(code) if not lang then return nil end return lang:getWikimediaLanguages()[1] end return export 8aqgh0h89a1ndi0gs8h7gojtvnwa8lb Module:wikimedia languages/data 828 2940 8248 2022-07-21T16:44:19Z Rebel Agent 2678 Ke dirile module 8248 Scribunto text/plain local m = {} m["als"] = { wiktionary_code = "gsw", } m["bat-smg"] = { wiktionary_code = "sgs", } m["bs"] = { canonicalName = "Bosnian", wiktionary_code = "sh", } m["bxr"] = { wiktionary_code = "bua", } m["diq"] = { wiktionary_code = "zza", } m["eml"] = { canonicalName = "Emiliano-Romagnolo", wiktionary_code = "egl", } m["fiu-vro"] = { wiktionary_code = "vro", } m["hr"] = { canonicalName = "Croatian", wiktionary_code = "sh", } m["ksh"] = { wiktionary_code = "gmw-cfr", } m["ku"] = { canonicalName = "Kurdish", wiktionary_code = "kmr", } m["kv"] = { canonicalName = "Komi", wiktionary_code = "kpv", } m["mhr"] = { wiktionary_code = "chm", } m["nrm"] = { wiktionary_code = "nrf", } m["roa-rup"] = { wiktionary_code = "rup", } m["roa-tara"] = { wiktionary_code = "roa-tar", } m["simple"] = { canonicalName = "Simple English", wiktionary_code = "en", } m["sr"] = { canonicalName = "Serbian", wiktionary_code = "sh", } m["zh-classical"] = { wiktionary_code = "ltc", } m["zh-min-nan"] = { wiktionary_code = "nan", } m["zh-yue"] = { wiktionary_code = "yue", } return m 9iotoc6wxyrnnh9zao3h6hxl2p4qe6j Module:links 828 2941 8249 2022-07-21T16:47:28Z Rebel Agent 2678 Ke dirile module 8249 Scribunto text/plain local export = {} --[=[ [[Unsupported titles]], pages with high memory usage, extraction modules and part-of-speech names are listed at [[Module:links/data]]. Other modules used: [[Module:script utilities]] [[Module:scripts]] [[Module:languages]] and its submodules [[Module:gender and number]] [[Module:debug]] ]=] -- These are prefixed with u to avoid confusion with the default string methods -- of the same name. local usub = mw.ustring.sub local table_insert = table.insert local table_concat = table.concat local ignore_cap local phonetic_extraction local pos_tags local unsupported_titles function export.getLinkPage(target, lang) unsupported_titles = unsupported_titles or mw.loadData("Module:links/data").unsupported_titles if unsupported_titles[target] then return "Unsupported titles/" .. unsupported_titles[target] end -- If the link contains unexpanded template parameters, then don't create a link. if target:find("{{{") then return nil end if target:sub(1, 1) == ":" or target:sub(1, 2) == "w:" or target:sub(1, 10) == "wikipedia:" then return target end -- Remove diacritics from the page name target = lang:makeEntryName(target) if target:sub(1, 1) == "/" then return ":" .. target -- Link to appendix for reconstructed terms and terms in appendix-only languages elseif target:sub(1, 1) == "*" and #target > 1 then if lang:getCode() == "und" then return nil end target = "Reconstruction:" .. lang:getCanonicalName() .. "/" .. usub(target, 2) elseif lang:getType() == "reconstructed" then error("The specified language " .. lang:getCanonicalName() .. " is unattested, while the given word is not marked with '*' to indicate that it is reconstructed") elseif lang:getType() == "appendix-constructed" then target = "Appendix:" .. lang:getCanonicalName() .. "/" .. target end return target end -- Make a language-specific link from given link's parts local function makeLangLink(link, lang, id, allow_self_link) -- Temporary tracking code local langCode = lang:getCode() if langCode == "se" or langCode == "sia" or langCode:find("^sm[ajns]$") or langCode:find("^sj[dektu]$") then if link.display and link.display:find("'") then require("Module:debug/track")("links/Sami apostrophe display") elseif link.target and link.target:find("'") then require("Module:debug/track")("links/Sami apostrophe target") end end -- Find fragments (when link didn't come from parseLink). -- Prevents {{l|en|word#Etymology 2|word}} from linking to [[word#Etymology 2#English]]. if link.fragment == nil then -- Replace numeric character references with the corresponding character (&#29; → '), -- as they contain #, which causes the numeric character reference to be -- misparsed (wa'a → wa&#29;a → pagename wa&, fragment 29;a). link.target = link.target:gsub("&#(%d+);", function(number) return mw.ustring.char(tonumber(number)) end) local first, second = link.target:match("^([^#]+)#(.+)$") if first then link.target, link.fragment = first, second end end -- If there is no display form, then create a default one if not link.display then link.display = link.target -- Strip the prefix from the displayed form -- TODO: other interwiki links? if link.display:sub(1, 1) == ":" and not mw.loadData("Module:links/data").unsupported_titles[link.display] then link.display = link.display:sub(2) -- remove colon from beginning else local prefix = link.display:match("^([^:]+):") local prefixes = { w = true, wikipedia = true, } if prefixes[prefix] then link.display = link.display:sub(#prefix + 2) -- remove prefix plus colon end end end -- Process the target link.target = export.getLinkPage(link.target, lang) if not link.target then return link.display end -- If the target is the same as the current page and there is no sense id -- and linking to the same page hasn't been turned on, then return a "self-link" -- like the software does. if not (allow_self_link or id) and link.target:gsub("^:", "") == mw.title.getCurrentTitle().prefixedText then return "<strong class=\"selflink\">" .. link.display .. "</strong>" end --[[ Add fragment Do not add a section link to "Undetermined", as such sections do not exist and are invalid. TabbedLanguages handles links without a section by linking to the "last visited" section, but adding "Undetermined" would break that feature. For localized prefixes that make syntax error, please use the format: ["xyz"] = true, ]] local prefix = link.target:match("^:?([^:]+):") local prefixes = { w = true, wikipedia = true, Category = true, } if not prefixes[prefix] then if link.fragment or link.target:find("#$") then require("Module:debug/track") { "links/fragment", "links/fragment/" .. lang:getCode() } end if not link.fragment and lang:getCode() ~= "und" then if id then link.fragment = require("Module:senseid").anchor(lang, id) elseif not mw.ustring.find(link.target, "^Appendix:") and not mw.ustring.find(link.target, "^Reconstruction:") then link.fragment = lang:getCanonicalName() end end -- This allows linking to pages like [[sms:a]] without it being treated weirdly. link.target = link.target:gsub(":", "&#x3a;") end return "[[" .. link.target .. (link.fragment and "#" .. link.fragment or "") .. "|" .. link.display .. "]]" end -- Split a link into its parts local function parseLink(linktext) local link = { target = linktext } local first, second = link.target:match("^([^|]+)|(.+)$") if first then link.target = first link.display = second else link.display = link.target end first, second = link.target:match("^(.+)#(.+)$") if first then link.target = first link.fragment = second else -- So that makeLangLink does not look for a fragment again link.fragment = false end return link end -- Creates a basic wikilink to the given term. If the text already contains -- links, these are replaced with links to the correct section. function export.language_link(data, allow_self_link) if type(data) ~= "table" then error("The first argument to the function language_link must be a table. See Module:links/documentation for more information.") end local text = data.term ignore_cap = ignore_cap or mw.loadData("Module:links/data").ignore_cap if ignore_cap[data.lang:getCode()] and text then text = text:gsub("%^", "") end -- If the text begins with * and another character, -- then act as if each link begins with * local allReconstructed = false if text:find("^*.") then allReconstructed = true end -- Do we have embedded wikilinks? if text:find("[[", nil, true) then --[=[ [[Special:WhatLinksHere/Template:tracking/links/alt-ignored]] [[Special:WhatLinksHere/Template:tracking/links/id-ignored]] ]=] if data.alt then require("Module:debug/track")("links/alt-ignored") mw.log("(from Module:links)", "text with embedded wikilinks:", text, "ignored alt:", data.alt, "lang:", data.lang:getCode()) end if data.id then require("Module:debug/track")("links/id-ignored") mw.log("(from Module:links)", "text with embedded wikilinks:", text, "ignored id:", data.id, "lang:", data.lang:getCode()) end -- Begins and ends with a wikilink tag if text:find("^%[%[(.+)%]%]$") then -- There are no [ ] in between. -- This makes the wikilink tag redundant. if text:find("^%[%[[^%[%]]+%]%]$") then require("Module:debug/track")("links/redundant wikilink") else local temp = text:gsub("^%[%[(.+)%]%]$", "%1") temp = temp:gsub("%]%], %[%[", "|") if not temp:find("[%[%]]") then require("Module:debug/track")("links/list") end end end text = text:gsub("%[%[([^%]]+)%]%]", function(linktext) local link = parseLink(linktext) if allReconstructed then link.target = "*" .. link.target end return makeLangLink(link, data.lang, data.id, allow_self_link) end) -- Remove the extra * at the beginning if it's immediately followed -- by a link whose display begins with * too if allReconstructed then text = text:gsub("^%*%[%[([^|%]]+)|%*", "[[%1|*") end else -- There is no embedded wikilink, make a link using the parameters. text = makeLangLink({ target = text, display = data.alt }, data.lang, data.id, allow_self_link) end return text end function export.mark(text, itemType, face, lang) local tag = { "", "" } if itemType == "gloss" then tag = { '<span class="mention-gloss-double-quote">“</span><span class="mention-gloss">', '</span><span class="mention-gloss-double-quote">”</span>' } elseif itemType == "tr" then if face == "term" then tag = { '<span lang="' .. lang:getCode() .. '" class="tr mention-tr Latn">', '</span>' } else tag = { '<span lang="' .. lang:getCode() .. '" class="tr Latn">', '</span>' } end elseif itemType == "ts" then tag = { '<span class="ts mention-ts Latn">/', '/</span>' } elseif itemType == "pos" then tag = { '<span class="ann-pos">', '</span>' } elseif itemType == "annotations" then tag = { '<span class="mention-gloss-paren annotation-paren">(</span>', '<span class="mention-gloss-paren annotation-paren">)</span>' } end if type(text) == "string" then return tag[1] .. text .. tag[2] else return "" end end -- Format the annotations (things following the linked term) function export.format_link_annotations(data, face) local output = {} -- Interwiki link if data.interwiki then table_insert(output, data.interwiki) end -- Genders if type(data.genders) ~= "table" then data.genders = { data.genders } end if data.genders and #data.genders > 0 then local m_gen = require("Module:gender and number") table_insert(output, "&nbsp;" .. m_gen.format_list(data.genders, data.lang)) end local annotations = {} -- Transliteration and transcription if data.tr or data.ts then local kind if face == "term" then kind = face else kind = "default" end if data.tr and data.ts then table_insert(annotations, require("Module:script utilities").tag_translit(data.tr, data.lang, kind) .. " " .. export.mark(data.ts, "ts")) elseif data.ts then table_insert(annotations, export.mark(data.ts, "ts")) else table_insert(annotations, require("Module:script utilities").tag_translit(data.tr, data.lang, kind)) end end -- Gloss/translation if data.gloss then table_insert(annotations, export.mark(data.gloss, "gloss")) end -- Part of speech if data.pos then -- debug category for pos= containing transcriptions if data.pos:find("/[^><]*/") then data.pos = data.pos .. "[[Category:links likely containing transcriptions in pos]]" end pos_tags = pos_tags or mw.loadData("Module:links/data").pos_tags table_insert(annotations, export.mark(pos_tags[data.pos] or data.pos, "pos")) end -- Literal/sum-of-parts meaning if data.lit then table_insert(annotations, "literally " .. export.mark(data.lit, "gloss")) end if #annotations > 0 then table_insert(output, " " .. export.mark(table_concat(annotations, ", "), "annotations")) end return table_concat(output) end -- A version of {{l}} or {{m}} that can be called from other modules too function export.full_link(data, face, allow_self_link, no_check_redundant_translit) if type(data) ~= "table" then error("The first argument to the function full_link must be a table. " .. "See Module:links/documentation for more information.") end -- Create the link local output = {} local categories = {} local link = "" local annotations phonetic_extraction = phonetic_extraction or mw.loadData("Module:links/data").phonetic_extraction -- Is there any text to show? if (data.term or data.alt) then -- Try to detect the script if it was not provided if not data.sc then data.sc = require("Module:scripts").findBestScript(data.alt or data.term, data.lang) else -- Track uses of sc parameter local best = require("Module:scripts").findBestScript(data.alt or data.term, data.lang) require("Module:debug/track")("links/sc") if data.sc:getCode() == best:getCode() then require("Module:debug/track")("links/sc/redundant") require("Module:debug/track")("links/sc/redundant/" .. data.sc:getCode()) else require("Module:debug/track")("links/sc/needed") require("Module:debug/track")("links/sc/needed/" .. data.sc:getCode()) end end local class = "" local function encode_accel_param_chars(param) local retval = param:gsub("%%", "."):gsub(" ", "_") -- discard second return v laue return retval end local function encode_accel_param(prefix, param) if not param then return "" end if type(param) == "table" then local filled_params = {} -- There may be gaps in the sequence, especially for translit params. local maxindex = 0 for k, v in pairs(param) do if type(k) == "number" and k > maxindex then maxindex = k end end for i=1,maxindex do filled_params[i] = param[i] or "" end -- [[Module:accel]] splits these up again. param = table.concat(filled_params, "*~!") end -- This is decoded again by [[WT:ACCEL]]. return prefix .. encode_accel_param_chars(param) end if data.accel then local form = data.accel.form and encode_accel_param_chars(data.accel.form) .. "-form-of" or "" local gender = encode_accel_param("gender-", data.accel.gender) local pos = encode_accel_param("pos-", data.accel.pos) local translit = encode_accel_param("transliteration-", data.accel.translit or (data.tr ~= "-" and data.tr or nil)) local target = encode_accel_param("target-", data.accel.target) local lemma = encode_accel_param("origin-", data.accel.lemma) local lemma_translit = encode_accel_param("origin_transliteration-", data.accel.lemma_translit) local no_store = data.accel.no_store and "form-of-nostore" or "" local accel = form .. " " .. gender .. " " .. pos .. " " .. translit .. " " .. target .. " " .. lemma .. " " .. lemma_translit .. " " .. no_store .. " " class = "form-of lang-" .. data.lang:getCode() .. " " .. accel end -- Only make a link if the term has been given, otherwise just show the alt text without a link link = require("Module:script utilities").tag_text( data.term and export.language_link(data, allow_self_link) or data.alt, data.lang, data.sc, face, class) else --[[ No term to show. Is there at least a transliteration we can work from? ]] link = require("Module:script utilities").request_script(data.lang, data.sc) if link == "" or not data.tr or data.tr == "-" then -- No link to show, and no transliteration either. Show a term request. local category = "" if mw.title.getCurrentTitle().nsText ~= "Template" then table_insert(categories, "[[Category:" .. data.lang:getCanonicalName() .. " term requests]]") end link = "<small>[Term?]</small>" end end table_insert(output, link) if data.tr == "" or data.tr == "-" then data.tr = nil elseif phonetic_extraction[data.lang:getCode()] then local m_phonetic = require(phonetic_extraction[data.lang:getCode()]) data.tr = data.tr or m_phonetic.getTranslit(export.remove_links(data.term)) elseif (data.term or data.alt) and not data.sc:getCode():find("Lati?n") then -- Try to generate a transliteration, unless transliteration has been supplied and either -- no_check_redundant_translit is given or we are in a high-memory entry. (Checking for redundant -- transliteration can use up significant amounts of memory so we don't want to do it if memory -- is tight. `no_check_redundant_translit` is currently set when called ultimately from -- {{multitrans|...|no-check-redundant-translit=1}}.) if not (data.tr and ( no_check_redundant_translit or mw.loadData("Module:links/data").high_memory_entries[mw.title.getCurrentTitle().text] )) then local automated_tr = data.lang:transliterate(export.remove_links(data.alt or data.term), data.sc) if automated_tr then local manual_tr = data.tr if manual_tr then if manual_tr == automated_tr then table_insert(categories, "[[Category:Terms with redundant transliterations]]" .. "[[Category:Terms with redundant transliterations/" .. data.lang:getCode() .. "]]") else -- Prevents Arabic root categories from flooding the tracking categories. if mw.title.getCurrentTitle().nsText ~= "Category" then table_insert(categories, "[[Category:Terms with manual transliterations different from the automated ones]]" .. "[[Category:Terms with manual transliterations different from the automated ones/" .. data.lang:getCode() .. "]]") end end end if (not manual_tr) or data.lang:overrideManualTranslit() then data.tr = automated_tr end end end end -- Link to the transliteration entry for languages that require this if data.tr and data.lang:link_tr() then data.tr = export.language_link { lang = data.lang, term = data.tr } end table_insert(output, export.format_link_annotations(data, face)) return table_concat(output) .. table_concat(categories) end --[[ Strips links: deletes category links, the targets of piped links, and all double square brackets. ]] function export.remove_links(text) if type(text) == "table" then text = text.args[1] end if not text or text == "" then return "" end text = mw.ustring.gsub(text, "%[%[Category:[^|%]]-|?[^|%]]-%]%]", "") text = text:gsub("%[%[[^|%]]-|", "") text = text:gsub("%[%[", "") text = text:gsub("%]%]", "") return text end function export.english_links(text) local lang = require("Module:languages").getByCode("en") -- Parentheses around function call to remove second return value, the -- number of replacements. return (text:gsub("%[%[([^%]]+)%]%]", function(linktext) local link = parseLink(linktext) return makeLangLink(link, lang, nil, true, false) end)) end --[=[ This decodes old section encodings. For example, Norwegian_Bokm.C3.A5l → Norwegian_Bokmål. It isn't picky about whether the section encodings represent the UTF-8 encoding of a real Unicode character, so it will mangle section names that contain a period followed by two uppercase hex characters. At least such section names are probably pretty rare. Wiktionary adds an additional id="" attribute for sections using a legacy encoding, if it is different from the modern minimally modified attribute. It is like percent encoding (URI or URL encoding) except with "." instead of "%". See [[mw:Manual:$wgFragmentMode]] and the code that does the encoding at https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/core/+/7bf779524ab1fd8e1d74f79ea4840564d48eea4d/includes/parser/Sanitizer.php#893 ]=] -- The character class %x should not be used, as it includes the characters a-f, -- which do not occur in these anchor encodings. local capitalHex = "[0-9A-F]" local function decodeAnchor(anchor) return (anchor:gsub("%.(" .. capitalHex .. capitalHex .. ")", function(hexByte) return string.char(tonumber(hexByte, 16)) end)) end function export.section_link(link) if type(link) ~= "string" then error("The first argument to section_link was a " .. type(link) .. ", but it should be a string.") end link = link:gsub("_", " ") local numberSigns = select(2, mw.ustring.gsub(link, "#", "")) if numberSigns > 1 then error("The section link should only contain one number sign (#).") end link = mw.uri.decode(link, "WIKI") local page, section = link:match("^([^#]*)#(.+)$") if page == "" then page = nil end if section then section = decodeAnchor(section) -- URI-encode (percent-encode) section to allow square brackets and -- other dodgy characters in section name. -- If not percent-encoded, they prevent the parser from creating a link. -- Decode percent-encoding in the displayed text if page then return "[[" .. page .. "#" .. mw.uri.encode(section, "WIKI") .. "|" .. page .. " §&nbsp;" .. section .. "]]" else return "[[#" .. mw.uri.encode(section, "WIKI") .. "|§&nbsp;" .. section .. "]]" end else error("The function “section_link” could not find a number sign marking a section name.") end end return export qlkvbve4fbcj7vwfswne2sccn4a95uq Module:links/data 828 2942 8250 2022-07-21T16:49:47Z Rebel Agent 2678 Ke dirile module 8250 Scribunto text/plain local data = {} data.ignore_cap = { ["ko"] = true, } data.phonetic_extraction = { ["th"] = "Module:th", ["km"] = "Module:km", } data.pos_tags = { ["a"] = "adjective", ["adv"] = "adverb", ["int"] = "interjection", ["n"] = "noun", ["pron"] = "pronoun", ["v"] = "verb", ["vi"] = "intransitive verb", ["vt"] = "transitive verb", ["vti"] = "transitive and intransitive verb", } data.high_memory_entries = { "a", "animal", "book", "coffee", "do", "e", "language", "night", "o", "smoke", "son", "sun", "water", "wind", } local U = mw.ustring.char local soft_hyphen = U(0xAD) --[[ The "actual title" is the page name with the prefix "Unsupported titles/" removed. ["displayed_title"] = "actual title" ]] data.unsupported_titles = { [" "] = "Space", ["{"] = "Left curly bracket", ["}"] = "Right curly bracket", ["["] = "Left square bracket", ["]"] = "Right square bracket", ["<"] = "Less than", [">"] = "Greater than", ["=<"] = "Equal less than", ["=>"] = "Equal greater than", [">="] = "Greater than equal", ["<="] = "Less than equal", ["->"] = "Hyphen greater than", ["<-"] = "Less than hyphen", [">_<"] = "Greater than low line less than", ["::"] = "Double colon", [": :"] = "Enclosing colons", [":/"] = "Colon slash", [":="] = "Colon equals", [":Þ"] = "Colon capital thorn", [":þ"] = "Colon lowercase thorn", [":("] = "Colon left paren", [":)"] = "Colon right paren", [":3"] = "Colon three", ["<>"] = "Less than greater than", ["<3"] = "Less than three", ["</3"] = "Less than slash three", ["< >"] = "Enclosing less than greater than", ["< />"] = "Less than trailing slash greater than", ["< > </ >"] = "HTML start tag end tag", ["<!-- -->"] = "HTML comment", ["<g>"] = "g tag", [":-("] = "Colon hyphen left paren", [":-)"] = "Colon hyphen right paren", ["|"] = "Vertical line", ["||"] = "Vertical line vertical line", ["| |"] = "Enclosing vertical lines", ["C#"] = "C sharp", ["#"] = "Number sign", ["# #"] = "Enclosing number signs", ["&amp;"] = "Amp", [":"] = "Colon", [".."] = "Double period", ["."] = "Full stop", ["_"] = "Low line", ["-_-"] = "Low line interfix", [U(0xFFFD)] = "Replacement character", [U(0x1680)] = "Ogham space", ["[ ]"] = "Square brackets", ["{ }"] = "Curly brackets", ["[…]"] = "Square bracketed ellipsis", ["_ _"] = "Enclosing low lines", ["C|N>K"] = "C through N to K", ["#MeToo"] = "MeToo", ["о/."] = "о slash dot", ["กรุงเทพมหานคร อมรรัตนโกสินทร์ มหินทรายุธยา มหาดิลกภพ นพรัตนราชธานีบูรีรมย์ อุดมราชนิเวศน์มหาสถาน อมรพิมานอวตารสถิต สักกะทัตติยวิษณุกรรมประสิทธิ์"] = "Thai name of Bangkok", ["λοπαδοτεμαχοσελαχογαλεοκρανιολειψανοδριμυποτριμματοσιλφιοκαραβομελιτοκατακεχυμενοκιχλ" .. soft_hyphen .. "επικοσσυφοφαττοπεριστεραλεκτρυονοπτοκεφαλλιοκιγκλοπελειολαγῳοσιραιοβαφητραγανοπτερύγων"] = "Ancient Greek dish", [":≠"] = ":≠", ["S:t"] = "S:t", ["S:ta"] = "S:ta", ["c:a"] = "c:a", ["eq #"] = "eq number sign", ["hr #"] = "hr number sign", ["n:a"] = "n:a", ["n:o"] = "n:o", ["n:r"] = "n:r", ["s:a"] = "s:a", ["st:a"] = "st:a", ["v:a"] = "v:a", } for i, item in ipairs(data.high_memory_entries) do data.high_memory_entries[i] = nil data.high_memory_entries[item] = true end return data g64o5nvanq972b581i1wf6a1ntbxmt4 Module:scripts 828 2943 8251 2022-07-21T16:52:46Z Rebel Agent 2678 Ke dirile module 8251 Scribunto text/plain local export = {} local Script = {} function Script:getCode() return self._code end function Script:getCanonicalName() return self._rawData.canonicalName end function Script:getDisplayForm() return self:getCategoryName("nocap") end function Script:getOtherNames(onlyOtherNames) return require("Module:language-like").getOtherNames(self, onlyOtherNames) end function Script:getAliases() return self._rawData.aliases or {} end function Script:getVarieties(flatten) return require("Module:language-like").getVarieties(self, flatten) end function Script:getParent() return self._rawData.parent end function Script:getSystems() if not self._systemObjects then local m_systems = require("Module:writing systems") self._systemObjects = {} for _, sys in ipairs(self._rawData.systems or {}) do table.insert(self._systemObjects, m_systems.getByCode(sys)) end end return self._systemObjects end --function Script:getAllNames() -- return self._rawData.names --end function Script:getType() return "script" end function Script:getCategoryName(nocap) local name = self._rawData.canonicalName -- If the name already has "code" or "semaphore" in it, don't add it. -- No names contain "script". if not name:find("[Cc]ode$") and not name:find("[Ss]emaphore$") then name = name .. " script" end if not nocap then name = mw.getContentLanguage():ucfirst(name) end return name end function Script:makeCategoryLink() return "[[:Category:" .. self:getCategoryName() .. "|" .. self:getDisplayForm() .. "]]" end function Script:getWikipediaArticle() return self._rawData.wikipedia_article or self:getCategoryName() end function Script:getCharacters() if self._rawData.characters then return self._rawData.characters else return nil end end function Script:countCharacters(text) if not self._rawData.characters then return 0 else local _, num = mw.ustring.gsub(text, "[" .. self._rawData.characters .. "]", "") return num end end function Script:getDirection() local direction = self._rawData.direction if not direction then return nil else return direction end end function Script:getRawData() return self._rawData end function Script:toJSON() local ret = { canonicalName = self:getCanonicalName(), categoryName = self:getCategoryName("nocap"), code = self._code, otherNames = self:getOtherNames(true), aliases = self:getAliases(), varieties = self:getVarieties(), type = self:getType(), direction = self:getDirection(), characters = self:getCharacters(), parent = self:getParent(), systems = self._rawData.systems or {}, wikipediaArticle = self._rawData.wikipedia_article, } return require("Module:JSON").toJSON(ret) end Script.__index = Script function export.makeObject(code, data) return data and setmetatable({ _rawData = data, _code = code }, Script) or nil end function export.getByCode(code, paramForError, disallowNil) if code == nil and not disallowNil then return nil end if code == "IPAchar" then require("Module:debug/track")("IPAchar") end local retval = export.makeObject(code, mw.loadData("Module:scripts/data")[code]) if not retval and paramForError then require("Module:languages").err(code, paramForError, "script code", nil, "not real lang") end return retval end function export.getByCanonicalName(name) local code = mw.loadData("Module:scripts/by name")[name] if not code then return nil end return export.makeObject(code, mw.loadData("Module:scripts/data")[code]) end -- Find the best script to use, based on the characters of a string. -- If forceDetect is set, run the detection algorithm even if there's only one -- possible script; in that case, if the text isn't in the script, the return -- value will be None. function export.findBestScript(text, lang, forceDetect) if not text or not lang or not lang.getScripts then return export.getByCode("None") end local scripts = lang:getScripts() if not scripts[2] and not forceDetect then return scripts[1] end return require("Module:scripts/findBestScript")(export, text, lang, scripts, forceDetect) end --[=[ Takes a codepoint or a character and finds the script code (if any) that is appropriate for it based on the codepoint, using the data module [[Module:scripts/recognition data]]. The data module was generated from the patterns in [[Module:scripts/data]] using [[Module:User:Erutuon/script recognition]]. Converts the character to a codepoint. Returns a script code if the codepoint is in the list of individual characters, or if it is in one of the defined ranges in the 4096-character block that it belongs to, else returns "None". ]=] function export.charToScript(char) return require("Module:scripts/charToScript").charToScript(char) end function export.findBestScriptWithoutLang(text) return require("Module:scripts/charToScript").findBestScriptWithoutLang(text) end return export 2hz8vrw8h1kwohcji8xdwyxty49ftzr Module:scripts/data 828 2944 8252 2022-07-21T16:55:19Z Rebel Agent 2678 Ke dirile module 8252 Scribunto text/plain --[=[ When adding new scripts to this file, please don't forget to add style definitons for the script in [[MediaWiki:Common.css]]. ]=] local u = mw.ustring.char local m = {} m["Adlm"] = { canonicalName = "Adlam", characters = "𞤀-𞥟", direction = "rtl", } m["Afak"] = { canonicalName = "Afaka", } m["Aghb"] = { canonicalName = "Caucasian Albanian", characters = "𐔰-𐕣𐕯", } m["Ahom"] = { canonicalName = "Ahom", characters = "𑜀-𑝆", systems = {"abugida"}, } m["Arab"] = { canonicalName = "Arabic", varieties = {"Jawi", {"Nastaliq", "Nastaleeq"}}, characters = "؀-ۿݐ-ݿࢠ-ࣿﭐ-﷽ﹰ-ﻼ", direction = "rtl", systems = {"abjad"}, -- more precisely, impure abjad } m["fa-Arab"] = { canonicalName = "Arabic", otherNames = {"Perso-Arabic"}, characters = m["Arab"].characters, direction = "rtl", parent = "Arab", } m["kk-Arab"] = { canonicalName = "Arabic", characters = m["Arab"].characters, direction = "rtl", parent = "Arab", } m["ks-Arab"] = { canonicalName = "Arabic", characters = m["Arab"].characters, direction = "rtl", parent = "Arab", } m["ku-Arab"] = { canonicalName = "Arabic", characters = m["Arab"].characters, direction = "rtl", parent = "Arab", } m["ms-Arab"] = { canonicalName = "Arabic", characters = m["Arab"].characters, direction = "rtl", parent = "Arab", } m["mzn-Arab"] = { canonicalName = "Arabic", characters = m["Arab"].characters, direction = "rtl", parent = "Arab", } m["ota-Arab"] = { canonicalName = "Arabic", characters = m["Arab"].characters, direction = "rtl", parent = "Arab", } m["pa-Arab"] = { canonicalName = "Shahmukhi", otherNames = {"Arabic"}, characters = m["Arab"].characters, direction = "rtl", parent = "Arab", } m["ps-Arab"] = { canonicalName = "Arabic", characters = m["Arab"].characters, direction = "rtl", parent = "Arab", } m["sd-Arab"] = { canonicalName = "Arabic", characters = m["Arab"].characters, direction = "rtl", parent = "Arab", } m["tt-Arab"] = { canonicalName = "Arabic", characters = m["Arab"].characters, direction = "rtl", parent = "Arab", } m["ug-Arab"] = { canonicalName = "Arabic", characters = m["Arab"].characters, direction = "rtl", parent = "Arab", } m["ur-Arab"] = { canonicalName = "Arabic", characters = m["Arab"].characters, direction = "rtl", parent = "Arab", } m["xka-Arab"] = { canonicalName = "Arabic", characters = m["Arab"].characters, direction = "rtl", parent = "Arab", } -- Aran (Nastaliq) is subsumed into Arab m["Armi"] = { canonicalName = "Imperial Aramaic", characters = "𐡀-𐡟", direction = "rtl", systems = {"abjad"}, } m["Armn"] = { canonicalName = "Armenian", characters = "Ա-֏ﬓ-ﬗ", } m["Avst"] = { canonicalName = "Avestan", characters = "𐬀-𐬿", direction = "rtl", } m["pal-Avst"] = { canonicalName = "Pazend", characters = m["Avst"].characters, direction = "rtl", parent = "Avst", } m["Bali"] = { canonicalName = "Balinese", characters = "ᬀ-᭼", systems = {"abugida"}, } m["Bamu"] = { canonicalName = "Bamum", characters = "ꚠ-꛷𖠀-𖨸", } m["Bass"] = { canonicalName = "Bassa", aliases = {"Bassa Vah", "Vah"}, characters = "𖫐-𖫵", } m["Batk"] = { canonicalName = "Batak", characters = "ᯀ-᯿", systems = {"abugida"}, } m["Beng"] = { canonicalName = "Bengali", characters = "ঀ-ঃঅ-ঌএঐও-নপ-রললশ-হ়-ৄেৈো-ৎৗড়ঢ়য়়ৠ-ৣ০-৯", systems = {"abugida"}, } m["as-Beng"] = { canonicalName = "Assamese", otherNames = {"Bengali-Assamese", "Eastern Nagari"}, characters = "ঁ-ঃঅ-ঌএঐও-নপ-যশ-হ়-ৄেৈো-ৎৗড়ঢ়য়়ৠ-ৣ০-ৱ", systems = {"abugida"}, } m["Bhks"] = { canonicalName = "Bhaiksuki", characters = "𑰀-𑱬", systems = {"abugida"}, } m["Bopo"] = { canonicalName = "Zhuyin", aliases = {"Zhuyin Fuhao", "Bopomofo"}, characters = "ㄅ-ㄯㆠ-ㆿ", } m["Brah"] = { canonicalName = "Brahmi", characters = "𑀀-𑁿", systems = {"abugida"}, } m["Brai"] = { canonicalName = "Braille", characters = "⠀-⣿", } m["Bugi"] = { canonicalName = "Buginese", aliases = {"Lontara"}, characters = "ᨀ-᨟", systems = {"abugida"}, } m["Buhd"] = { canonicalName = "Buhid", characters = "ᝀ-ᝓ", systems = {"abugida"}, } m["Cakm"] = { canonicalName = "Chakma", characters = "𑄀-𑅇", systems = {"abugida"}, } m["Cans"] = { canonicalName = "Canadian syllabics", characters = "᐀-ᙿᢰ-ᣵ", systems = {"abugida"}, } m["Cari"] = { canonicalName = "Carian", characters = "𐊠-𐋐", systems = {"alphabet"}, } m["Cham"] = { canonicalName = "Cham", characters = "ꨀ-꩟", systems = {"abugida"}, } m["Chrs"] = { canonicalName = "Chorasmian", characters = "𐾰-𐿋", direction = "rtl", systems = {"abjad"}, } m["Cher"] = { canonicalName = "Cherokee", characters = "Ꭰ-ᏽꭰ-ꮿ", systems = {"syllabary"}, } m["Copt"] = { canonicalName = "Coptic", characters = "Ϣ-ϯⲀ-⳿𐋠-𐋻", -- this is mostly "Coptic", not unified "Greek and Coptic" systems = {"alphabet"}, } m["Cpmn"] = { canonicalName = "Cypro-Minoan", aliases = {"Cypro Minoan"}, characters = "𒾐-𒿲", systems = {"syllabary"}, } m["Cprt"] = { canonicalName = "Cypriot", characters = "𐠀-𐠿", direction = "rtl", systems = {"syllabary"}, } m["Cyrl"] = { canonicalName = "Cyrillic", characters = "Ѐ-џѢѣѪѫѬѭѲѳѴѵҊ-ԧꚀ-ꚗ", systems = {"alphabet"}, } m["Cyrs"] = { canonicalName = "Old Cyrillic", aliases = {"Early Cyrillic"}, characters = "Ѐ-ԧꙀ-ꚗ", wikipedia_article = "Early Cyrillic alphabet", systems = {"alphabet"}, } m["Deva"] = { canonicalName = "Devanagari", characters = "ऀ-ॿ꣠-ꣿ", systems = {"abugida"}, } m["Diak"] = { canonicalName = "Dhives Akuru", characters = "𑤀-𑥙", systems = {"abugida"}, } m["Dogr"] = { canonicalName = "Dogra", characters = "𑠀-𑠻", systems = {"abugida"}, } m["Dsrt"] = { canonicalName = "Deseret", characters = "𐐀-𐑏", systems = {"alphabet"}, } m["Dupl"] = { canonicalName = "Duployan", characters = "𛰀-𛲟", } m["Egyd"] = { canonicalName = "Demotic", systems = {"abjad", "logography"}, } m["Egyh"] = { canonicalName = "Hieratic", systems = {"abjad", "logography"}, } m["Egyp"] = { canonicalName = "Egyptian hieroglyphic", varieties = {"Hieratic"}, characters = "𓀀-𓐮"..u(0x13430).."-"..u(0x13438), wikipedia_article = "Egyptian hieroglyphs", systems = {"abjad", "logography"}, } m["Elba"] = { canonicalName = "Elbasan", characters = "𐔀-𐔧", systems = {"alphabet"}, } m["Ethi"] = { canonicalName = "Ethiopic", aliases = {"Ge'ez"}, characters = "ሀ-᎙ⶀ-ⷞꬁ-ꬮ", systems = {"abugida"}, } m["Geok"] = { canonicalName = "Khutsuri", varieties = {"Nuskhuri", "Asomtavruli"}, characters = "Ⴀ-Ⴭⴀ-ⴭ", -- Ⴀ-Ⴭ is Asomtavruli, ⴀ-ⴭ is Nuskhuri systems = {"alphabet"}, } m["Geor"] = { canonicalName = "Georgian", varieties = {"Mkhedruli", "Mtavruli"}, characters = "ა-ჿᲐ-Ჿ", -- ა-ჿ is lowercase Mkhedruli; Ა-Ჿ is uppercase Mkhedruli (Mtavruli) systems = {"alphabet"}, } m["Glag"] = { canonicalName = "Glagolitic", characters = "Ⰰ-ⱞ𞀀-𞀪", systems = {"alphabet"}, } m["Gong"] = { canonicalName = "Gunjala Gondi", characters = "𑵠-𑶩", systems = {"abugida"}, } m["Gonm"] = { canonicalName = "Masaram Gondi", characters = "𑴀-𑵙", systems = {"abugida"}, } m["Goth"] = { canonicalName = "Gothic", characters = "𐌰-𐍊", systems = {"alphabet"}, } m["Gran"] = { canonicalName = "Grantha", characters = "𑌀-𑍴", systems = {"abugida"}, } m["Grek"] = { canonicalName = "Greek", characters = "Ͱ-ϡϰ-Ͽ", systems = {"alphabet"}, } m["polytonic"] = { canonicalName = "Greek", characters = "ἀ-῾" .. m["Grek"].characters, parent = "Grek", systems = {"alphabet"}, } m["Gujr"] = { canonicalName = "Gujarati", characters = "ઁ-૿", systems = {"abugida"}, } m["Guru"] = { canonicalName = "Gurmukhi", characters = "ਁ-੶", systems = {"abugida"}, } m["Hang"] = { canonicalName = "Hangul", aliases = {"Hangeul"}, characters = ( "가-힣".. -- Syllables "ᄀ-ᇿ".. -- Jamo "ꥠ-ꥼ".. -- Jamo Ext-A "ힰ-ퟻ".. -- Jamo Ext-B "ㄱ-ㆎ".. -- Compat Jamo "ᅠ-ᅵ" -- Halfwidth ), systems = {"syllabary"}, } m["Hani"] = { canonicalName = "Han", varieties = {"Hanzi", "Kanji", "Hanja", "Chu Nom"}, characters = ( "一-鿿".. "㐀-䶿".. -- ExtA "𠀀-𮯯".. -- SIP "𰀀-𱍏".. -- ExtG "﨎﨏﨑﨓﨔﨟﨡﨣﨤﨧﨨﨩".. "⺀-⻿".. -- Radicals Supplement " -〿".. -- CJK Symbols and Punctuation "𖿢𖿣𖿰𖿱".. -- Ideographic Symbols and Punctuation "㇀-㇯".. -- Strokes "㍻-㍿㋿" -- 組文字 ), systems = {"logography"}, } m["Hans"] = { canonicalName = "Simplified Han", characters = m["Hani"].characters, systems = {"logography"}, } m["Hant"] = { canonicalName = "Traditional Han", characters = m["Hani"].characters, systems = {"logography"}, } m["Hatr"] = { canonicalName = "Hatran", characters = "𐣠-𐣿", direction = "rtl", systems = {"abjad"}, } m["Hira"] = { canonicalName = "Hiragana", varieties = {"Hentaigana"}, characters = "ぁ-ゟ𛀁-𛄞𛅐𛅑𛅒🈀", systems = {"syllabary"}, } m["Hluw"] = { canonicalName = "Anatolian Hieroglyphs", characters = "𔐀-𔙆", wikipedia_article = "Anatolian hieroglyphs", } m["Hung"] = { canonicalName = "Old Hungarian", aliases = {"Hungarian runic"}, characters = "𐲀-𐲲", direction = "rtl", } m["Kana"] = { canonicalName = "Katakana", characters = "゠-ヿㇰ-ㇿ㌀-㍗ヲ-゚𛀀𛅤𛅥𛅦𛅧", systems = {"syllabary"}, } -- These should be defined after the scripts they are composed of m["Kore"] = { canonicalName = "Korean", characters = m["Hang"].characters .. m["Hani"].characters, systems = {"syllabary", "logography"}, } m["Hano"] = { canonicalName = "Hanunoo", characters = "ᜠ-᜴", systems = {"abugida"}, } m["Hebr"] = { canonicalName = "Hebrew", characters = u(0x0590) .. "-" .. u(0x05FF) .. u(0xFB1D) .. "-" .. u(0xFB4F), direction = "rtl", systems = {"abjad"}, -- more precisely, impure abjad } m["Hmng"] = { canonicalName = "Hmong", aliases = {"Pahawh Hmong"}, characters = "𖬀-𖮏", } m["Ibrn"] = { canonicalName = "Iberian", } m["Imag"] = { -- To be used to avoid any formatting or link processing canonicalName = "Image-rendered", -- This should not have any characters listed character_category = false, } m["Inds"] = { canonicalName = "Indus", aliases = {"Harappan", "Indus Valley"}, } m["IPAchar"] = { canonicalName = "International Phonetic Alphabet", aliases = {"IPA"}, } m["Ital"] = { canonicalName = "Old Italic", characters = "𐌀-𐌯", systems = {"alphabet"}, } m["Java"] = { canonicalName = "Javanese", characters = "ꦀ-꧟", systems = {"abugida"}, } m["Jurc"] = { canonicalName = "Jurchen", } m["Kali"] = { canonicalName = "Kayah Li", characters = "꤀-꤯", systems = {"abugida"}, } m["Khar"] = { canonicalName = "Kharoshthi", characters = "𐨀-𐩘", systems = {"abugida"}, direction = "rtl", } m["Khmr"] = { canonicalName = "Khmer", characters = "ក-៹᧠-᧿", systems = {"abugida"}, } m["Khoj"] = { canonicalName = "Khojki", characters = "𑈀-𑈾", systems = {"abugida"}, } m["Kitl"] = { canonicalName = "Khitan Large", systems = {"logography", "syllabary"}, } m["Kits"] = { canonicalName = "Khitan Small", characters = "𘬀-𘳕"..u(0x16FE4), systems = {"logography", "syllabary"}, } m["Knda"] = { canonicalName = "Kannada", characters = "ಀ-ೲ", systems = {"abugida"}, } m["Kthi"] = { canonicalName = "Kaithi", characters = "𑂀-𑃍", systems = {"abugida"}, } m["Lana"] = { canonicalName = "Tai Tham", aliases = {"Tham", "Tua Mueang", "Lanna"}, characters = "ᨠ-᪭", systems = {"abugida"}, } m["Laoo"] = { canonicalName = "Lao", characters = "ກ-ໟ", systems = {"abugida"}, } m["Latn"] = { canonicalName = "Latin", aliases = {"Roman"}, varieties = {"Rumi", "Romaji", "Rōmaji", "Romaja"}, characters = "A-Za-zÀ-ÖØ-öø-ɏḀ-ỿ", systems = {"alphabet"}, } m["Latf"] = { canonicalName = "Fraktur", otherNames = {"Blackletter"}, -- Blackletter is actually the parent "script" characters = m["Latn"].characters, } m["Latinx"] = { canonicalName = "Latin", characters = m["Latn"].characters .. "Ⱡ-Ɀ꜠-ꟿꬰ-ꭥ", parent = "Latn", } m["pjt-Latn"] = { canonicalName = "Latin", characters = m["Latn"].characters, parent = "Latn", } m["Jpan"] = { canonicalName = "Japanese", characters = m["Hira"].characters .. m["Kana"].characters .. m["Hani"].characters .. m["Latn"].characters, systems = {"syllabary", "logography"}, } m["Leke"] = { canonicalName = "Leke", systems = {"abugida"}, } m["Lepc"] = { canonicalName = "Lepcha", characters = "ᰀ-ᱏ", systems = {"abugida"}, } m["Limb"] = { canonicalName = "Limbu", characters = "ᤀ-᥏", systems = {"abugida"}, } m["Lina"] = { canonicalName = "Linear A", characters = "𐘀-𐝧", } m["Linb"] = { canonicalName = "Linear B", characters = "𐀀-𐃺", } m["Lisu"] = { canonicalName = "Lisu", aliases = {"Fraser"}, characters = "ꓐ-꓿𑾰", systems = {"alphabet"}, } m["Lyci"] = { canonicalName = "Lycian", characters = "𐊀-𐊜", systems = {"alphabet"}, } m["Lydi"] = { canonicalName = "Lydian", characters = "𐤠-𐤿", direction = "rtl", systems = {"alphabet"}, } m["Mahj"] = { canonicalName = "Mahajani", characters = "𑅐-𑅶", systems = {"abugida"}, } m["Maka"] = { canonicalName = "Lontara", aliases = {"Makasar"}, characters = "𑻠-𑻸", systems = {"abugida"}, } m["Mand"] = { canonicalName = "Mandaic", aliases = {"Mandaean"}, characters = "ࡀ-࡞", direction = "rtl", } m["Mani"] = { canonicalName = "Manichaean", characters = "𐫀-𐫶", direction = "rtl", systems = {"abjad"}, } m["Maya"] = { canonicalName = "Maya", aliases = {"Maya hieroglyphic", "Mayan", "Mayan hieroglyphic"}, characters = "𝋠-𝋳", } m["Medf"] = { canonicalName = "Medefaidrin", aliases = {"Oberi Okaime", "Oberi Ɔkaimɛ"}, characters = "𖹀-𖺚", } m["Mend"] = { canonicalName = "Mende", aliases = {"Mende Kikakui"}, characters = "𞠀-𞣖", direction = "rtl", } m["Merc"] = { canonicalName = "Meroitic cursive", characters = "𐦠-𐦿", direction = "rtl", systems = {"abugida"}, } m["Mero"] = { canonicalName = "Meroitic hieroglyphic", characters = "𐦀-𐦟", direction = "rtl", systems = {"abugida"}, } m["Mlym"] = { canonicalName = "Malayalam", characters = "ഀ-ൿ", systems = {"abugida"}, } m["Modi"] = { canonicalName = "Modi", characters = "𑘀-𑙙", systems = {"abugida"}, } m["Mong"] = { canonicalName = "Mongolian", aliases = {"Uyghurjin"}, characters = "᠀-ᢪ𑙠-𑙬", direction = "down", } m["Morse"] = { canonicalName = "Morse code", } m["Mroo"] = { canonicalName = "Mro", characters = "𖩀-𖩯", } m["Mtei"] = { canonicalName = "Meitei Mayek", aliases = {"Meetei Mayek", "Manipuri"}, characters = "ꯀ-꯹ꫠ-꫶", systems = {"abugida"}, } m["Mult"] = { canonicalName = "Multani", characters = "𑊀-𑊩", systems = {"abugida"}, } m["musical"] = { canonicalName = "Musical notation", characters = "𝄀-𝇨", systems = {"pictography"}, } m["Mymr"] = { canonicalName = "Burmese", aliases = {"Myanmar"}, characters = "က-႟ꩠ-ꩿꧠ-ꧾ", systems = {"abugida"}, } m["Nand"] = { canonicalName = "Nandinagari", characters = "𑦠-𑧤", systems = {"abugida"}, } m["Narb"] = { canonicalName = "Old North Arabian", characters = "𐪀-𐪟", direction = "rtl", systems = {"abjad"}, } m["Nbat"] = { canonicalName = "Nabataean", aliases = {"Nabatean"}, characters = "𐢀-𐢯", direction = "rtl", systems = {"abjad"}, } m["Newa"] = { canonicalName = "Newa", aliases = {"Newar", "Newari", "Prachalit Nepal"}, -- and Ranjana? characters = "𑐀-𑑡", systems = {"abugida"}, } m["Nkoo"] = { canonicalName = "N'Ko", characters = "߀-߿", direction = "rtl", systems = {"alphabet"}, } m["None"] = { canonicalName = "Unspecified", -- renders as 'unspecified script' -- This should not have any characters listed character_category = false, -- none } m["Nshu"] = { canonicalName = "Nushu", aliases = {"Nüshu"}, characters = "𖿡𛅰-𛋻", systems = {"syllabary"}, } m["Ogam"] = { canonicalName = "Ogham", characters = " -᚜", } m["Olck"] = { canonicalName = "Ol Chiki", characters = "᱐-᱿", } m["Orkh"] = { canonicalName = "Orkhon runes", characters = "𐰀-𐱈", direction = "rtl", } m["Orya"] = { canonicalName = "Oriya", aliases = {"Odia"}, characters = "ଁ-୷", systems = {"abugida"}, } m["Osge"] = { canonicalName = "Osage", characters = "𐒰-𐓻", } m["Osma"] = { canonicalName = "Osmanya", characters = "𐒀-𐒩", } m["Ougr"] = { canonicalName = "Old Uyghur", characters = "𐽰-𐾉", direction = "down", systems = {"abjad", "alphabet"}, } m["Palm"] = { canonicalName = "Palmyrene", characters = "𐡠-𐡿", direction = "rtl", } m["Pauc"] = { canonicalName = "Pau Cin Hau", characters = "𑫀-𑫸", } m["Perm"] = { canonicalName = "Old Permic", characters = "𐍐-𐍺", } m["Phag"] = { canonicalName = "Phags-pa", characters = "ꡀ-꡷", direction = "down", systems = {"abugida"}, } m["Marc"] = { canonicalName = "Marchen", characters = "𑱰-𑲶", systems = {"abugida"}, } m["Phli"] = { canonicalName = "Inscriptional Pahlavi", characters = "𐭠-𐭿", direction = "rtl", systems = {"abjad"}, } m["Phlp"] = { canonicalName = "Psalter Pahlavi", characters = "𐮀-𐮯", direction = "rtl", systems = {"abjad"}, } m["Phlv"] = { canonicalName = "Book Pahlavi", direction = "rtl", systems = {"abjad"}, -- Not in Unicode } m["Phnx"] = { canonicalName = "Phoenician", characters = "𐤀-𐤟", direction = "rtl", systems = {"abjad"}, } m["Plrd"] = { canonicalName = "Pollard", characters = "𖼀-𖾟", systems = {"abugida"}, } m["Prti"] = { canonicalName = "Inscriptional Parthian", characters = "𐭀-𐭟", direction = "rtl", } m["Rjng"] = { canonicalName = "Rejang", characters = "ꤰ-꥟", systems = {"abugida"}, } m["Rohg"] = { canonicalName = "Hanifi Rohingya", characters = "𐴀-𐴹", direction = "rtl", systems = {"alphabet"}, } m["Ruminumerals"] = { canonicalName = "Rumi numerals", characters = "𐹠-𐹾", character_category = "Rumi numerals", } m["Runr"] = { canonicalName = "Runic", characters = "ᚠ-ᛰ", systems = {"alphabet"}, } m["Samr"] = { canonicalName = "Samaritan", characters = "ࠀ-࠾", direction = "rtl", systems = {"abjad"}, } m["Sarb"] = { canonicalName = "Old South Arabian", characters = "𐩠-𐩿", direction = "rtl", systems = {"abjad"}, } m["Saur"] = { canonicalName = "Saurashtra", characters = "ꢀ-꣙", systems = {"abugida"}, } m["Semap"] = { canonicalName = "flag semaphore", systems = {"pictography"}, } m["Sgnw"] = { canonicalName = "SignWriting", characters = "𝠀-𝪯", systems = {"pictography"}, } m["Shaw"] = { canonicalName = "Shavian", characters = "𐑐-𐑿", } m["Shrd"] = { canonicalName = "Sharada", characters = "𑆀-𑇙", systems = {"abugida"}, } m["Sidd"] = { canonicalName = "Siddham", characters = "𑖀-𑗝", systems = {"abugida"}, } m["Sind"] = { canonicalName = "Khudawadi", characters = "𑊰-𑋹", systems = {"abugida"}, } m["Sinh"] = { canonicalName = "Sinhalese", characters = "ං-෴", systems = {"abugida"}, } m["Sogd"] = { canonicalName = "Sogdian", characters = "𐼰-𐽙", direction = "rtl", systems = {"abjad"}, } m["Sogo"] = { canonicalName = "Old Sogdian", characters = "𐼀-𐼧", direction = "rtl", systems = {"abjad"}, } m["Sora"] = { canonicalName = "Sorang Sompeng", aliases = {"Sora Sompeng"}, characters = "𑃐-𑃹", } m["Soyo"] = { canonicalName = "Soyombo", characters = "𑩐-𑪢", systems = {"abugida"}, } m["Sund"] = { canonicalName = "Sundanese", characters = "ᮀ-ᮿ", systems = {"abugida"}, } m["Sylo"] = { canonicalName = "Syloti Nagri", aliases = {"Sylheti Nagari"}, characters = "ꠀ-꠫", systems = {"abugida"}, } m["Syrc"] = { canonicalName = "Syriac", characters = "܀-ݏ"..u(0x0860).."-"..u(0x086A), direction = "rtl", systems = {"abjad"}, -- more precisely, impure abjad } -- Syre, Syrj, Syrn are apparently subsumed into Syrc; discuss if this causes issues m["Tagb"] = { canonicalName = "Tagbanwa", characters = "ᝠ-ᝳ", systems = {"abugida"}, } m["Takr"] = { canonicalName = "Takri", characters = "𑚀-𑛉", systems = {"abugida"}, } m["Tale"] = { canonicalName = "Tai Nüa", aliases = {"Tai Nuea", "New Tai Nüa", "New Tai Nuea", "Dehong Dai", "Tai Dehong", "Tai Le"}, characters = "ᥐ-ᥴ", systems = {"abugida"}, } m["Talu"] = { canonicalName = "New Tai Lue", characters = "ᦀ-᧟", systems = {"abugida"}, } m["Taml"] = { canonicalName = "Tamil", characters = "ஂ-௺𑿀-𑿿", systems = {"abugida"}, } m["Tang"] = { canonicalName = "Tangut", characters = "𖿠𗀀-𘫿𘴀-𘴈", systems = {"logography", "syllabary"}, } m["Tavt"] = { canonicalName = "Tai Viet", characters = "ꪀ-꫟", systems = {"abugida"}, } m["Telu"] = { canonicalName = "Telugu", characters = "ఀ-౿", systems = {"abugida"}, } m["Teng"] = { canonicalName = "Tengwar", } m["Tfng"] = { canonicalName = "Tifinagh", otherNames = {"Libyco-Berber", "Berber"}, -- per Wikipedia, Libyco-Berber is the parent characters = "ⴰ-⵿", systems = {"abjad", "alphabet"}, } m["Tglg"] = { canonicalName = "Baybayin", aliases = {"Tagalog"}, characters = "ᜀ-᜔", systems = {"abugida"}, } m["Thaa"] = { canonicalName = "Thaana", characters = "ހ-ޱ", systems = {"abugida"}, direction = "rtl", } m["Thai"] = { canonicalName = "Thai", characters = "ก-๛", systems = {"abugida"}, } m["Tibt"] = { canonicalName = "Tibetan", characters = "ༀ-࿚", systems = {"abugida"}, } m["Tirh"] = { canonicalName = "Tirhuta", characters = "𑒀-𑓙", systems = {"abugida"}, } m["xzh-Tibt"] = { canonicalName = "Zhang-Zhung", systems = {"abugida"}, } m["Tnsa"] = { canonicalName = "Tangsa", characters = "𖩰-𖫉", systems = {"alphabet"}, } m["Toto"] = { canonicalName = "Toto", characters = "𞊐-𞊮", systems = {"abugida"}, } m["Ugar"] = { canonicalName = "Ugaritic", characters = "𐎀-𐎟", systems = {"abjad"}, } m["Vaii"] = { canonicalName = "Vai", characters = "ꔀ-ꘫ", systems = {"syllabary"}, } m["Vith"] = { canonicalName = "Vithkuqi", characters = "𐕰-𐖼", systems = {"alphabet"}, } m["Wara"] = { canonicalName = "Varang Kshiti", characters = "𑢠-𑣿", } m["Xpeo"] = { canonicalName = "Old Persian", characters = "𐎠-𐏕", } m["Xsux"] = { canonicalName = "Cuneiform", aliases = {"Sumero-Akkadian Cuneiform"}, characters = "𒀀-𒎙𒐀-𒑳", } m["Yiii"] = { canonicalName = "Yi", characters = "ꀀ-꓆", systems = {"syllabary"}, } m["Zanb"] = { canonicalName = "Zanabazar Square", characters = u(0x11A00).."-"..u(0x11A47), } m["Zmth"] = { canonicalName = "mathematical notation", characters = "ℵ∀-⋿⟀-⟯⦀-⫿𝐀-𝟿", character_category = "Mathematical notation symbols", -- ? } m["Zsym"] = { canonicalName = "symbol", characters = "─-➿←-⇿⌀-⏿⬀-⯾🀀-🃵🌀-🩭", character_category = false, -- none systems = {"pictography"}, } m["Zyyy"] = { canonicalName = "undetermined", -- This should not have any characters listed, probably character_category = false, -- none characters = m["Latn"].characters, } m["Zzzz"] = { canonicalName = "uncoded", -- This should not have any characters listed character_category = false, -- none } return m tm69ywxw1p65kbf625cw3xds4jrp1uq Module:scripts/findBestScript 828 2945 8253 2022-07-21T16:58:14Z Rebel Agent 2678 Ke dirile module 8253 Scribunto text/plain return function (export, text, lang, scripts, forceDetect) --[=[ Remove any HTML entities; catfix function in [[Module:utilities]] adds tagging to a no-break space (&nbsp;), which contains Latin characters; hence Latin was returned as the script if "Latn" is one of the language's scripts. ]=] text = string.gsub(text, "&[a-zA-Z0-9]+;", "") -- Try to match every script against the text, -- and return the one with the most matching characters. local bestcount = 0 local bestscript = nil -- Get length of text minus any spacing or punctuation characters. -- Counting instances of UTF-8 character pattern is faster than mw.ustring.len. local _, length = string.gsub(mw.ustring.gsub(text, "[%s%p]+", ""), "[\1-\127\194-\244][\128-\191]*", "") if length == 0 then return export.getByCode("None") end for i, script in ipairs(scripts) do local count = script:countCharacters(text) if count >= length then return script end if count > bestcount then bestcount = count bestscript = script end end if bestscript then return bestscript end -- No matching script was found. Return "None". return export.getByCode("None") end 2k718fyv9gb6qdxf079j9elt4xfrl9m Module:script utilities 828 2946 8474 8254 2022-10-04T03:18:35Z Rebel Agent 2678 Paakanyo 8474 Scribunto text/plain local export = {} --[=[ Modules used: [[Module:script utilities/data]] [[Module:scripts]] [[Module:languages]] [[Module:parameters]] [[Module:utilities]] [[Module:debug]] ]=] function export.is_Latin_script(sc) -- Latn, Latf, Latinx, nv-Latn, pjt-Latn return sc:getCode():find("Lat") and true or false end -- Used by [[Template:lang]] function export.lang_t(frame) params = { [1] = {}, [2] = { allow_empty = true, default = "" }, ["sc"] = {}, ["face"] = {}, ["class"] = {}, } local args = require("Module:parameters").process(frame:getParent().args, params) local NAMESPACE = mw.title.getCurrentTitle().nsText local lang = args[1] or (NAMESPACE == "Template" and "und") or error("Language code has not been specified. Please pass parameter 1 to the template.") lang = require("Module:languages").getByCode(lang) or require("Module:languages").err(lang, 1) local text = args[2] local sc = args["sc"] sc = (sc and (require("Module:scripts").getByCode(sc) or error("The script code \"" .. sc .. "\" is not valid.")) or nil) local face = args["face"] return export.tag_text(text, lang, sc, face, class) end -- Ustring turns on the codepoint-aware string matching. The basic string function -- should be used for simple sequences of characters, Ustring function for -- sets – []. local function trackPattern(text, pattern, tracking, ustring) local find = ustring and mw.ustring.find or string.find if pattern and find(text, pattern) then require("Module:debug").track("script/" .. tracking) end end local function track(text, lang, sc) local U = mw.ustring.char if lang and text then local langCode = lang:getCode() -- [[Special:WhatLinksHere/Template:tracking/script/ang/acute]] if langCode == "ang" then local decomposed = mw.ustring.toNFD(text) local acute = U(0x301) trackPattern(decomposed, acute, "ang/acute") --[=[ [[Special:WhatLinksHere/Template:tracking/script/Greek/wrong-phi]] [[Special:WhatLinksHere/Template:tracking/script/Greek/wrong-theta]] [[Special:WhatLinksHere/Template:tracking/script/Greek/wrong-kappa]] [[Special:WhatLinksHere/Template:tracking/script/Greek/wrong-rho]] ϑ, ϰ, ϱ, ϕ should generally be replaced with θ, κ, ρ, φ. ]=] elseif langCode == "el" or langCode == "grc" then trackPattern(text, "ϑ", "Greek/wrong-theta") trackPattern(text, "ϰ", "Greek/wrong-kappa") trackPattern(text, "ϱ", "Greek/wrong-rho") trackPattern(text, "ϕ", "Greek/wrong-phi") --[=[ [[Special:WhatLinksHere/Template:tracking/script/Ancient Greek/spacing-coronis]] [[Special:WhatLinksHere/Template:tracking/script/Ancient Greek/spacing-smooth-breathing]] [[Special:WhatLinksHere/Template:tracking/script/Ancient Greek/wrong-apostrophe]] When spacing coronis and spacing smooth breathing are used as apostrophes, they should be replaced with right single quotation marks (’). ]=] if langCode == "grc" then trackPattern(text, U(0x1FBD), "Ancient Greek/spacing-coronis") trackPattern(text, U(0x1FBF), "Ancient Greek/spacing-smooth-breathing") trackPattern(text, "[" .. U(0x1FBD) .. U(0x1FBF) .. "]", "Ancient Greek/wrong-apostrophe", true) end -- [[Special:WhatLinksHere/Template:tracking/script/Russian/grave-accent]] elseif langCode == "ru" then local decomposed = mw.ustring.toNFD(text) trackPattern(decomposed, U(0x300), "Russian/grave-accent") -- [[Special:WhatLinksHere/Template:tracking/script/Tibetan/trailing-punctuation]] elseif langCode == "bo" then trackPattern(text, "[་།]$", "Tibetan/trailing-punctuation", true) trackPattern(text, "[་།]%]%]$", "Tibetan/trailing-punctuation", true) --[=[ [[Special:WhatLinksHere/Template:tracking/script/Thai/broken-ae]] [[Special:WhatLinksHere/Template:tracking/script/Thai/broken-am]] [[Special:WhatLinksHere/Template:tracking/script/Thai/wrong-rue-lue]] ]=] elseif langCode == "th" then trackPattern(text, "เ".."เ", "Thai/broken-ae") trackPattern(text, "ํ[่้๊๋]?า", "Thai/broken-am", true) trackPattern(text, "[ฤฦ]า", "Thai/wrong-rue-lue", true) --[=[ [[Special:WhatLinksHere/Template:tracking/script/Lao/broken-ae]] [[Special:WhatLinksHere/Template:tracking/script/Lao/broken-am]] [[Special:WhatLinksHere/Template:tracking/script/Lao/possible-broken-ho-no]] [[Special:WhatLinksHere/Template:tracking/script/Lao/possible-broken-ho-mo]] [[Special:WhatLinksHere/Template:tracking/script/Lao/possible-broken-ho-lo]] ]=] elseif langCode == "lo" then trackPattern(text, "ເ".."ເ", "Lao/broken-ae") trackPattern(text, "ໍ[່້໊໋]?າ", "Lao/broken-am", true) trackPattern(text, "ຫນ", "Lao/possible-broken-ho-no") trackPattern(text, "ຫມ", "Lao/possible-broken-ho-mo") trackPattern(text, "ຫລ", "Lao/possible-broken-ho-lo") --[=[ [[Special:WhatLinksHere/Template:tracking/script/Lü/broken-ae]] [[Special:WhatLinksHere/Template:tracking/script/Lü/possible-wrong-sequence]] ]=] elseif langCode == "khb" then trackPattern(text, "ᦵ".."ᦵ", "Lü/broken-ae") trackPattern(text, "[ᦀ-ᦫ][ᦵᦶᦷᦺ]", "Lü/possible-wrong-sequence", true) end end end -- Wrap text in the appropriate HTML tags with language and script class. function export.tag_text(text, lang, sc, face, class, id) if not sc then sc = require("Module:scripts").findBestScript(text, lang) end track(text, lang, sc) -- Replace space characters with newlines in Mongolian-script text, which is written top-to-bottom. if sc and sc:getDirection() == "down" then --[[ First, escape targets of wikilinks and HTML tags, which should not have their spaces replaced with line breaks. ]] local escaped = {} local i = 0 local escape_format = "$%d" local function escape(text, pattern, prefix) return text:gsub( pattern, function(item) i = i + 1 escaped[i] = item return (prefix or "") .. escape_format:format(i) end) end text = escape(text, "%[%[([^|]+|)", "[[") text = escape(text, "<[^>]+>") text = text:gsub(" +", "<br>") -- Unescape whatever was escaped. text = text:gsub( "$(%d)", function(a) a = tonumber(a) return escaped[a] end ) end if sc:getCode() == "Imag" then face = nil end local function class_attr(classes) table.insert(classes, 1, sc:getCode()) if class and class ~= '' then table.insert(classes, class) end return 'class="' .. table.concat(classes, ' ') .. '"' end local function tag_attr(...) local output = {} if id then table.insert(output, 'id="' .. require("Module:utilities").make_id(lang, id) .. '"') end table.insert(output, class_attr({...}) ) if lang then table.insert(output, 'lang="' .. lang:getCode() .. '"') end return table.concat(output, " ") end if face == "hypothetical" then -- [[Special:WhatLinksHere/Template:tracking/script-utilities/face/hypothetical]] require("Module:debug").track("script-utilities/face/hypothetical") end local data = mw.loadData("Module:script utilities/data").faces[face or "nil"] local post = "" if sc:getDirection() == "rtl" and (face == "translation" or mw.ustring.find(text, "%p$")) then post = "&lrm;" end -- Add a script wrapper if data then return ( data.prefix or "" ) .. '<' .. data.tag .. ' ' .. tag_attr(data.class) .. '>' .. text .. '</' .. data.tag .. '>' .. post else error('Invalid script face "' .. face .. '".') end end function export.tag_translit(translit, lang, kind, attributes, is_manual) if type(lang) == "table" then lang = lang.getCode and lang:getCode() or error("Third argument to tag_translit should be a language code or language object.") end local data = mw.loadData("Module:script utilities/data").translit[kind or "default"] local opening_tag = {} table.insert(opening_tag, data.tag) if lang == "ja" then table.insert(opening_tag, 'class="' .. (data.classes and data.classes .. " " or "") .. (is_manual and "manual-tr " or "") .. 'tr"') else table.insert(opening_tag, 'lang="' .. lang .. '-Latn"') table.insert(opening_tag, 'class="' .. (data.classes and data.classes .. " " or "") .. (is_manual and "manual-tr " or "") .. 'tr Latn"') end if data.dir then table.insert(opening_tag, 'dir="' .. data.dir .. '"') end table.insert(opening_tag, attributes) return "<" .. table.concat(opening_tag, " ") .. ">" .. translit .. "</" .. data.tag .. ">" end function export.tag_transcription(transcription, lang, kind, attributes) if type(lang) == "table" then lang = lang.getCode and lang:getCode() or error("Third argument to tag_translit should be a language code or language object.") end local data = mw.loadData("Module:script utilities/data").transcription[kind or "default"] local opening_tag = {} table.insert(opening_tag, data.tag) if lang == "ja" then table.insert(opening_tag, 'class="' .. (data.classes and data.classes .. " " or "") .. 'ts"') else table.insert(opening_tag, 'lang="' .. lang .. '-Latn"') table.insert(opening_tag, 'class="' .. (data.classes and data.classes .. " " or "") .. 'ts Latn"') end if data.dir then table.insert(opening_tag, 'dir="' .. data.dir .. '"') end table.insert(opening_tag, attributes) return "<" .. table.concat(opening_tag, " ") .. ">" .. transcription .. "</" .. data.tag .. ">" end -- Add a notice to request the native script of a word function export.request_script(lang, sc, usex, nocat, sort_key) local scripts = lang.getScripts and lang:getScripts() or error('The language "' .. lang:getCode() .. '" does not have the method getScripts. It may be unwritten.') -- By default, request for "native" script local cat_script = "native" local disp_script = "script" -- If the script was not specified, and the language has only one script, use that. if not sc and #scripts == 1 then sc = scripts[1] end -- Is the script known? if sc then -- If the script is Latin, return nothing. if export.is_Latin_script(sc) then return "" end if sc:getCode() ~= scripts[1]:getCode() then disp_script = sc:getCanonicalName() end -- The category needs to be specific to script only if there is chance -- of ambiguity. This occurs when lang=und, or when the language has -- multiple scripts. if lang:getCode() == "und" or scripts[2] then cat_script = sc:getCanonicalName() end else -- The script is not known. -- Does the language have at least one non-Latin script in its list? local has_nonlatin = false for i, val in ipairs(scripts) do if not export.is_Latin_script(val) then has_nonlatin = true break end end -- If there are no non-Latin scripts, return nothing. if not has_nonlatin then return "" end end local category if usex then category = "Requests for " .. cat_script .. " script in " .. lang:getCanonicalName() .. " usage examples" else category = "Requests for " .. cat_script .. " script for " .. lang:getCanonicalName() .. " terms" end return "<small>[" .. disp_script .. " needed]</small>" .. (nocat and "" or require("Module:utilities").format_categories({category}, lang, sort_key)) end function export.template_rfscript(frame) params = { [1] = { required = true, default = "und" }, ["sc"] = {}, ["usex"] = { type = "boolean" }, ["nocat"] = { type = "boolean" }, ["sort"] = {}, } local args = require("Module:parameters").process(frame:getParent().args, params) local lang = require("Module:languages").getByCode(args[1], 1) local sc = args.sc and require("Module:scripts").getByCode(args.sc, true) local ret = export.request_script(lang, sc, args.usex, args.nocat, args.sort) if ret == "" then error("This language is written in the Latin alphabet. It does not need a native script.") else return ret end end function export.checkScript(text, scriptCode, result) local scriptObject = require("Module:scripts").getByCode(scriptCode) if not scriptObject then error('The script code "' .. scriptCode .. '" is not recognized.') end local originalText = text -- Remove non-letter characters. text = mw.ustring.gsub(text, "[%A]", "") -- Remove all characters of the script in question. text = mw.ustring.gsub(text, "[" .. scriptObject:getCharacters() .. "]", "") if text ~= "" then if type(result) == "string" then error(result) else error('The text "' .. originalText .. '" contains the letters "' .. text .. '" that do not belong to the ' .. scriptObject:getCategoryName() .. '.', 2) end end end return export c7bunb37owv8xs80xgsocbg5sypam6z Module:script utilities/data 828 2947 8476 8255 2022-10-04T03:23:19Z Rebel Agent 2678 Paakanyo 8476 Scribunto text/plain local data = {} data.translit = { ["term"] = { --[=[ can't be done until Kana transliterations are correctly parsed by [[Module:links]] ["tag"] = "i", ]=] ["classes"] = "mention-tr", }, ["usex"] = { ["tag"] = "i", ["classes"] = "e-transliteration", }, ["head"] = { ["classes"] = "headword-tr", ["dir"] = "ltr", }, ["default"] = {}, } data.transcription = { ["head"] = { ["tag"] = "span", ["classes"] = "headword-ts", ["dir"] = "ltr", }, ["default"] = {}, } for key, value in pairs(data.translit) do if not value.tag then value.tag = "span" end end data.faces = { ["term"] = { tag = "i", class = "mention", }, ["head"] = { tag = "strong", class = "headword", }, ["hypothetical"] = { prefix = '<span class="hypothetical-star">*</span>', tag = "i", class = "hypothetical", }, ["bold"] = { tag = "b", }, ["translation"] = { tag = "span", }, ["nil"] = { tag = "span", }, } return data 1mgl28sh6cwq7j9cu14abefpt6tuj3f Tempolete:bor 10 2948 8260 2022-07-21T18:01:00Z Rebel Agent 2678 Ke dirile tempolete 8260 wikitext text/x-wiki {{#invoke:etymology/templates/borrowed|borrowed}}<noinclude>{{documentation}}</noinclude> ck2uicyt84ro88jfftayvgmjj8u9dbl Module:etymology/templates/borrowed 828 2949 8261 2022-07-21T18:02:43Z Rebel Agent 2678 Ke dirile module 8261 Scribunto text/plain local export = {} function export.borrowed(frame) local args, lang, term, sources = require("Module:etymology/templates/internal").parse_2_lang_args(frame) if sources then return require("Module:etymology/multi").format_multi_borrowed(lang, sources, term, args.sort, args.nocat, args.conj) else return require("Module:etymology").format_borrowed(lang, term, args.sort, args.nocat) end end return export 2wenvc67iugvzhxiwy5qv5hywo2wzz9 Module:etymology/templates/internal 828 2950 8262 2022-07-21T18:04:14Z Rebel Agent 2678 Ke dirile module 8262 Scribunto text/plain -- For internal use only with [[Module:etymology/templates]] and its submodules. local export = {} function export.fetch_lang(lang, param) return require("Module:languages").getByCode(lang, param) end function export.fetch_source(code, param, disallow_family) return require("Module:languages").getByCode(code, param, true, not disallow_family) end local function fetch_sources(codes, param, disallow_family) local m_languages = require("Module:languages") codes = mw.text.split(codes, "%s*,%s*") for i, code in ipairs(codes) do codes[i] = m_languages.getByCode(code, param, true, not disallow_family) end return codes end function export.fetch_source_or_sources(source, param, disallow_family) local sources if source:find(",") then sources = fetch_sources(source, param, no_family) source = sources[#sources] else source = export.fetch_source(source, param, no_family) end return source, sources end function export.fetch_script(sc, param) return require("Module:scripts").getByCode(sc, param) end function export.parse_2_lang_args(frame, has_text, no_family) local params = { [1] = {required = true, default = "und"}, [2] = {required = true, default = "und"}, [3] = {}, [4] = {alias_of = "alt"}, [5] = {alias_of = "t"}, ["alt"] = {}, ["cat"] = {}, ["g"] = {list = true}, ["gloss"] = {alias_of = "t"}, ["id"] = {}, ["lit"] = {}, ["pos"] = {}, ["t"] = {}, ["tr"] = {}, ["ts"] = {}, ["sc"] = {}, ["nocat"] = {type = "boolean"}, ["sort"] = {}, ["conj"] = {}, } if has_text then params["notext"] = {type = "boolean"} params["nocap"] = {type = "boolean"} end local args = require("Module:parameters").process(frame:getParent().args, params) local lang = export.fetch_lang(args[1], 1) local source, sources = export.fetch_source_or_sources(args[2], 2, no_family) local sc = export.fetch_script(args["sc"], "sc") return args, lang, { lang = source, sc = sc, term = args[3], alt = args["alt"], id = args["id"], genders = args["g"], tr = args["tr"], ts = args["ts"], gloss = args["t"], pos = args["pos"], lit = args["lit"] }, sources end return export 9duq6puisyqx6d59rmi3rsi7e0116q0 Module:languages/data3/u 828 2951 8263 2022-07-21T18:07:17Z Rebel Agent 2678 Ke dirile module 8263 Scribunto text/plain local u = mw.ustring.char -- UTF-8 encoded strings for some commonly used diacritics local GRAVE = u(0x0300) local ACUTE = u(0x0301) local CIRC = u(0x0302) local TILDE = u(0x0303) local MACRON = u(0x0304) local BREVE = u(0x0306) local DOTABOVE = u(0x0307) local DIAER = u(0x0308) local CARON = u(0x030C) local DGRAVE = u(0x030F) local INVBREVE = u(0x0311) local DOTBELOW = u(0x0323) local RINGBELOW = u(0x0325) local CEDILLA = u(0x0327) local Latn = {"Latn"} local m = {} m["uam"] = { "Uamué", 3441418, } m["uan"] = { "Kuan", 6441085, } m["uar"] = { "Tairuma", 7676386, "ngf", } m["uba"] = { "Ubang", 3914467, "nic-ben", Latn, } m["ubi"] = { "Ubi", 56264, } m["ubl"] = { "Buhi'non Bikol", 18664494, "phi", } m["ubr"] = { "Ubir", 3547642, "poz-ocw", Latn, } m["ubu"] = { "Umbu-Ungu", 12953245, "ngf", } m["uby"] = { "Ubykh", 36931, "cau-nwc", {"Latn", "Cyrl"}, } m["uda"] = { "Uda", 11011951, "nic-lcr", } m["ude"] = { "Udihe", 13235, "tuw", {"Cyrl"}, } m["udg"] = { "Muduga", 16886762, "dra", } m["udi"] = { "Udi", 36867, "cau-nec", {"Cyrl", "Latn", "Armn", "Geor"}, ancestors = {"xag"}, translit_module = "translit-redirect", override_translit = true, } m["udj"] = { "Ujir", 14916906, "poz-cet", } m["udl"] = { "Uldeme", 3515078, "cdc-cbm", } m["udm"] = { "Udmurt", 13238, "urj-prm", {"Cyrl"}, translit_module = "udm-translit", override_translit = true, } m["udu"] = { "Uduk", 3182573, "ssa-kom", } m["ues"] = { "Kioko", 18343036, } m["ufi"] = { "Ufim", 7877531, "ngf-fin", Latn, } m["uga"] = { "Ugaritic", 36928, "sem-nwe", {"Ugar"}, translit_module = "uga-translit", } m["ugb"] = { "Kuku-Ugbanh", 10549854, } m["uge"] = { "Ughele", 966303, "poz-ocw", } m["ugn"] = { "Ugandan Sign Language", 7877677, "sgn", } m["ugo"] = { "Gong", 3448919, "tbq-lob", {"Thai"}, sort_key = { from = {"[%pๆ]", "[็-๎]", "([เแโใไ])([ก-ฮ])"}, to = {"", "", "%2%1"}}, } m["ugy"] = { "Uruguayan Sign Language", 7901470, "sgn", } m["uha"] = { "Uhami", 3913328, "alv-nwd", Latn, } m["uhn"] = { "Damal", 4748974, } m["uis"] = { "Uisai", 7878123, "paa-sbo", } m["uiv"] = { "Iyive", 11128658, "nic-tvc", Latn, } m["uji"] = { "Tanjijili", 3914939, "nic-pls", } m["uka"] = { "Kaburi", 6344482, } m["ukg"] = { "Ukuriguma", 7878623, "ngf-mad", } m["ukh"] = { "Ukhwejo", 36623, "bnt-bek", } m["ukk"] = { "Muak Sa-aak", nil, "mkh-pal", } m["ukl"] = { "Ukrainian Sign Language", 10322106, "sgn", } m["ukp"] = { "Ukpe-Bayobiri", 3914470, "nic-ben", Latn, } m["ukq"] = { "Ukwa", 7878635, "nic-ief", } m["uks"] = { "Kaapor Sign Language", 3322101, "sgn", } m["uku"] = { "Ukue", 3913387, "alv-nwd", Latn, } m["ukw"] = { "Ukwuani-Aboh-Ndoni", 36636, "alv", Latn, } m["uky"] = { "Kuuk Yak", 6448719, "aus-psw", Latn, } m["ula"] = { "Fungwa", 5509187, "nic-shi", } m["ulb"] = { "Ulukwumi", 36722, "alv-yor", } m["ulc"] = { "Ulch", 13239, "tuw", {"Cyrl", "Latn"}, } m["ule"] = { "Lule", 12635889, nil, Latn, } m["ulf"] = { "Afra", 4477735, "paa-pau", } m["uli"] = { "Ulithian", 36842, "poz-mic", } m["ulk"] = { "Meriam", 788174, "ngf", Latn, } m["ull"] = { "Ullatan", 8761579, "dra", } m["ulm"] = { "Ulumanda'", 3501892, } m["uln"] = { "Unserdeutsch", 13244, "crp", Latn, ancestors = {"de"}, } m["ulu"] = { "Uma' Lung", 3548186, "poz-swa", } m["ulw"] = { "Ulwa", 2405552, } m["uma"] = { "Umatilla", 12953952, "nai-shp", Latn, ancestors = {"nai-spt"}, } m["umb"] = { "Umbundu", 36983, "bnt", Latn, } m["umc"] = { "Marrucinian", 36110, "itc", {"Latn", "Ital"}, } m["umd"] = { "Umbindhamu", 7881346, "aus-pmn", } m["umg"] = { "Umbuygamu", 3915677, "aus-pmn", } m["umi"] = { "Ukit", 7878321, } m["umm"] = { "Umon", 3915448, "nic-ucn", Latn, } m["umn"] = { "Makyan Naga", 6740516, "sit-kch", } m["umo"] = { "Umotína", 7881740, "sai-mje", } m["ump"] = { "Umpila", 12953954, "aus-pmn", Latn, } m["umr"] = { "Umbugarla", 2980392, } m["ums"] = { "Pendau", 7162371, "poz-tot", } m["umu"] = { "Munsee", 56547, "del", Latn, entry_name = { from = {"Á", "Ă", "É", "Í", "Ó", "Ú", "Ŭ", "á", "á", "ă", "é", "í", "ó", "ú", "ŭ"}, to = {"A", "A", "E", "I", "O", "U", "U", "a", "á", "a", "e", "i", "o", "u", "u"}} , } m["una"] = { "North Watut", 15887898, "poz-ocw", Latn, } m["und"] = { "Undetermined", nil, "qfa-not", {"Zyyy"}, } m["une"] = { "Uneme", 3913357, "alv-yek", Latn, } m["ung"] = { "Ngarinyin", 1284885, "aus-wor", Latn, } m["unk"] = { "Enawené-Nawé", 3307184, "awd", Latn, } m["unm"] = { "Unami", 3549180, "del", Latn, --Don't strip diacritics from entry names, per [[WT:Grease pit/2020/May]]. --entry_name = { -- from = {"À", "Ä", "È", "Ë", "Ì", "Ò", "Ù", "à", "ä", "è", "ë", "ì", "ò", "ù"}, -- to = {"A", "A", "E", "E", "I", "O", "U", "a", "a", "e", "e", "i", "o", "u"}} , } m["unn"] = { "Kurnai", nil, "aus-pam", Latn, } m["unr"] = { "Mundari", 3327828, "mun", {"Deva"}, translit_module = "hi-translit", -- for now } m["unu"] = { "Unubahe", 7897776, } m["unx"] = { "Munda", 36264959, "mun", Latn, } m["unz"] = { "Unde Kaili", 12953596, "poz-kal", Latn, } m["uok"] = { "Uokha", 3441216, "alv-edo", Latn, } m["uon"] = { "Kulon", Q11182000, "map", Latn, } m["upi"] = { "Umeda", 7881465, "paa-brd", } m["upv"] = { "Uripiv-Wala-Rano-Atchin", 13249, "poz-vnc", Latn, } m["ura"] = { "Urarina", 1579560, } m["urb"] = { "Urubú-Kaapor", 13893353, "tup-gua", Latn, } m["urc"] = { "Urningangg", 10710522, } m["ure"] = { "Uru", 2992892, } m["urf"] = { "Uradhi", 3915680, "aus-pam", Latn, } m["urg"] = { "Urigina", 7900603, "ngf", Latn, } m["urh"] = { "Urhobo", 36663, "alv-swd", Latn, } m["uri"] = { "Urim", 7900609, "qfa-tor", Latn, } m["urk"] = { "Urak Lawoi'", 7899573, "poz-mly", {"Thai"}, sort_key = { from = {"[%pๆ]", "[็-๎]", "([เแโใไ])([ก-ฮ])"}, to = {"", "", "%2%1"}}, } m["url"] = { "Urali", 7899602, "dra", {"Knda"}, } m["urm"] = { "Urapmin", 7899769, "ngf-okk", } m["urn"] = { "Uruangnirin", 7901389, "poz-cet", Latn, } m["uro"] = { "Ura (New Guinea)", 3121049, "paa-bng", Latn, } m["urp"] = { "Uru-Pa-In", 7901376, "tup-gua", Latn, } m["urr"] = { "Lehalurup", 3272124, } m["urt"] = { "Urat", 3502084, "qfa-tor", Latn, } m["uru"] = { "Urumi", 7901530, "tup", Latn, } m["urv"] = { "Uruava", 36875, "poz-ocw", Latn, } m["urw"] = { "Sop", 7562808, "ngf-mad", Latn, } m["urx"] = { "Urimo", 7900611, "qfa-tor", Latn, } m["ury"] = { "Orya", 7105295, "paa-tkw", Latn, } m["urz"] = { "Uru-Eu-Wau-Wau", 10266012, "tup-gua", Latn, } m["usa"] = { "Usarufa", 7901714, "paa-kag", Latn, } m["ush"] = { "Ushojo", 3540446, "inc-dar", } m["usi"] = { "Usui", 12644231, } m["usk"] = { "Usaghade", 3914048, "nic-lcr", Latn, } m["usp"] = { "Uspanteco", 36728, "myn", Latn, } m["uss"] = { "Saare", nil, "nic-knn", Latn, } m["usu"] = { "Uya", 7904082, } m["uta"] = { "Otank", 3913990, "nic-tvc", Latn, } m["ute"] = { "Ute", 13260, "azc-num", Latn, } m["uth"] = { "Hun", nil, "nic-knn", Latn, } m["utp"] = { "Aba", 2841465, "poz-oce", Latn, } m["utr"] = { "Etulo", 35262, "alv-ido", Latn, } m["utu"] = { "Utu", 7903469, "ngf-mad", } m["uum"] = { "Urum", 13257, "trk-kcu", {"Cyrl"}, } m["uun"] = { "Kulon-Pazeh", 36435, "map", Latn, } m["uur"] = { "Ura (Vanuatu)", 7899531, "poz-oce", Latn, } m["uuu"] = { "U", 953082, "mkh-pal", } m["uve"] = { "West Uvean", 36837, "poz-pnp", Latn, } m["uvh"] = { "Uri", 7900540, "ngf-fin", Latn, } m["uvl"] = { "Lote", 3259972, "poz-ocw", Latn, } m["uwa"] = { "Kuku-Uwanh", 3915687, "aus-pmn", } m["uya"] = { "Doko-Uyanga", 7904095, "nic-ucr", Latn, } return m 1n8pmgbzhtsl63yklmxrfc7pm2y2y8f Module:etymology 828 2952 8264 2022-07-21T18:08:53Z Rebel Agent 2678 Ke dirile module 8264 Scribunto text/plain local export = {} -- For testing local force_cat = false --[[ If language is an etymology language, iterates through parent languages until it finds a non-etymology language. ]] --FIXME: Callers of this should use [[Module:languages]] directly. function export.getNonEtymological(lang) if lang:getType() == "etymology language" then return require("Module:languages").getNonEtymological(lang) end return lang end local function term_error(terminfo) if terminfo.lang:getType() == "family" then if terminfo.term and terminfo.term ~= "-" then require("Module:debug/track")("etymology/family/has-term") end terminfo.term = "-" end return terminfo end local function create_link(terminfo, template_name) local link = "" if terminfo.term == "-" then --[=[ [[Special:WhatLinksHere/Template:tracking/cognate/no-term]] [[Special:WhatLinksHere/Template:tracking/derived/no-term]] [[Special:WhatLinksHere/Template:tracking/borrowed/no-term]] [[Special:WhatLinksHere/Template:tracking/calque/no-term]] ]=] require("Module:debug/track")(template_name .. "/no-term") else -- mw.log(terminfo.term) link = " " .. require("Module:links").full_link(terminfo, "term", true) end return link end function export.process_and_create_link(terminfo, template_name) terminfo.lang = export.getNonEtymological(terminfo.lang) terminfo = term_error(terminfo) return create_link(terminfo, template_name or "derived") end function export.get_display_and_cat_name(source, raw) local display, cat_name if source:getCode() == "und" then display = "undetermined" cat_name = "other languages" elseif source:getCode() == "mul" then display = "[[w:Translingualism|translingual]]" cat_name = "Translingual" elseif source:getCode() == "mul-tax" then display = "[[w:taxonomic name|taxonomic name]]" cat_name = "taxonomic names" else display = raw and source:getCanonicalName() or source:makeWikipediaLink() cat_name = source:getDisplayForm() end return display, cat_name end function export.insert_source_cat_get_display(categories, lang, source, raw, nocat) local display, cat_name = export.get_display_and_cat_name(source, raw) if lang and not nocat then -- Add the category, but only if there is a current language if not categories then categories = {} end if lang:getCode() == source:getCode() then table.insert(categories, lang:getCanonicalName() .. " twice-borrowed terms") else table.insert(categories, lang:getCanonicalName() .. " terms derived from " .. cat_name) end end return display, categories end -- FIXME: rename to format_source() function export.format_etyl(lang, source, sort_key, categories, nocat) -- [[Special:WhatLinksHere/Template:tracking/etymology/sortkey]] if sort_key then require("Module:debug/track")("etymology/sortkey") end local display display, categories = export.insert_source_cat_get_display(categories, lang, source, false, nocat) if lang and not nocat then -- Format categories, but only if there is a current language; {{cog}} currently gets no categories categories = require("Module:utilities").format_categories(categories, lang, sort_key, nil, force_cat) else categories = "" end return "<span class=\"etyl\">" .. display .. categories .. "</span>" end -- Internal implementation of {{cognate|...}} template function export.format_cognate(terminfo, sort_key) return export.format_derived(nil, terminfo, sort_key, nil, "cognate") end -- Internal implementation of {{derived|...}} template function export.format_derived(lang, terminfo, sort_key, nocat, template_name) local source = terminfo.lang return export.format_etyl(lang, source, sort_key, nil, nocat) .. export.process_and_create_link(terminfo, template_name) end -- Return true if `lang` has `otherlang` (which may be an etymology-only language) as an ancestor. This includes -- cases such as Italian -> Old Italian, which is an etymology-only language whose "parent" is Italian but which is -- marked as "ancestral to parent". `non_etym_otherlang` is the non-etymology-language equivalent of `otherlang`. -- If `otherlang` is not an etymology-only language, the two will be the same. local function has_ancestor(lang, otherlang, non_etym_otherlang) -- First check if `lang` has (the non-etymology-language parent of) `otherlang` as its ancestor. If `lang` is e.g. -- Italian and `otherlang` is Latin, this will be caught here. If `lang` is Italian and `otherlang` is Vulgar Latin -- (an etymology-only language whose parent is Latin), this will also be caught here, as we use the -- non-etymology-language parent, in this case Latin, when checking the ancestor hierarchy. if lang:hasAncestor(non_etym_otherlang) then return true end -- Second check for the Italian -> Old Italian case. This happens when (a) `otherlang` is etymology-only, -- (b) `otherlang` is marked as "ancestral to parent", (c) `otherlang`'s parent is the same as `lang`. This is not -- caught above because Italian is not ancestral to Italian. if otherlang:getType() == "etymology language" and otherlang:isAncestralToParent() then local otherlang_parent = export.getNonEtymological(otherlang) if otherlang_parent and otherlang_parent:getCode() == lang:getCode() then return true end end return false end -- Check that `lang` has `otherlang` (which may be an etymology-only language) as an ancestor. Throw an error if not. local function check_ancestor(lang, otherlang, non_etym_otherlang) if not has_ancestor(lang, otherlang, non_etym_otherlang) and mw.title.getCurrentTitle().nsText ~= "Template" then -- Generate the non-ancestor error message. local function showLanguage(lang) local retval = ("%s (%s)"):format(lang:makeCategoryLink(), lang:getCode()) if lang:getType() == "etymology language" then retval = retval .. (" (an etymology-only language whose regular parent is %s)"):format( showLanguage(export.getNonEtymological(lang))) end return retval end local postscript local ancestors = lang:getAncestors() local moduleLink = "[[Module:" .. require("Module:languages").getDataModuleName(lang:getCode()) .. "]]" if not ancestors[1] then postscript = showLanguage(lang) .. " has no ancestors." else local ancestorList = table.concat( require("Module:fun").map( showLanguage, ancestors), " and ") postscript = ("The ancestor%s of %s %s %s."):format( ancestors[2] and "s" or "", lang:getCanonicalName(), ancestors[2] and "are" or "is", ancestorList) end error(("%s is not set as an ancestor of %s in %s. %s") :format(showLanguage(otherlang), showLanguage(lang), moduleLink, postscript)) end end -- Internal implementation of {{inherited|...}} template function export.format_inherited(lang, terminfo, sort_key, nocat) local source = terminfo.lang local categories = {} if not nocat then table.insert(categories, lang:getCanonicalName() .. " terms inherited from " .. source:getCanonicalName()) end local link = export.process_and_create_link(terminfo, "inherited") check_ancestor(lang, source, terminfo.lang) return export.format_etyl(lang, source, sort_key, categories, nocat) .. link end function export.insert_borrowed_cat(categories, lang, source) local category if lang:getCode() == source:getCode() then category = " twice-borrowed terms" else category = " terms borrowed from " .. source:getDisplayForm() end table.insert(categories, lang:getCanonicalName() .. category) end -- Internal implementation of {{borrowed|...}} template. function export.format_borrowed(lang, terminfo, sort_key, nocat) local source = terminfo.lang local categories = {} if not nocat then export.insert_borrowed_cat(categories, lang, source) end return export.format_etyl(lang, source, sort_key, categories, nocat) .. export.process_and_create_link(terminfo, "borrowed") end return export itco1l2s6lw2a800rf0grfrj9it14yt Tempolete:a 10 2953 8265 2022-07-21T18:28:47Z Rebel Agent 2678 Ke dirile tempolete 8265 wikitext text/x-wiki {{#invoke:accent qualifier|show}}<noinclude>{{documentation}}</noinclude> rkp8073yt7s9fcxmgfve8gzuy1sj8us Module:accent qualifier 828 2954 8266 2022-07-21T18:34:42Z Rebel Agent 2678 Ke dirile module 8266 Scribunto text/plain local export = {} local m_qualifier = require("Module:qualifier") function export.format_qualifiers(qualifiers) local m_data = mw.loadData("Module:accent qualifier/data") if type(qualifiers) ~= "table" then qualifiers = { qualifiers } end local accents = {} local categories = {} for _, accent in ipairs(qualifiers) do local data -- Replace an alias with the label that has a data table. if m_data.aliases[accent] then accent = m_data.aliases[accent] end -- Retrieve the label's data table. if m_data.labels[accent] then data = m_data.labels[accent] end -- Use the link and displayed text in the data table, if they exist. if data then if data.link then table.insert(accents, "[[w:" .. data.link .. "|" .. (data.display or data.link) .. "]]") elseif data.display then table.insert(accents, data.display) end --[[ if data[accent] then if data[accent].type == "sound change" then table.insert(categories, lang:getCanonicalName() .. " terms with pronunciations exhibiting " .. accent) end end ]] else table.insert(accents, accent) end end return m_qualifier.format_qualifier(accents) end -- Called by {{accent}} or {{a}}. function export.show(frame) local args = frame.getParent and frame:getParent().args or frame if (not args[1] or args[1] == "") and mw.title.getCurrentTitle().nsText == "Template" then return m_qualifier.format_qualifier{ '{{{1}}}' } end local params = { [1] = {required = true, list = true} } args = require("Module:parameters").process(args, params) return export.format_qualifiers(args[1]) end return export lz0w34ceclze1jy7yv9znoh9d75vz1c Module:qualifier 828 2955 8267 2022-07-21T18:36:10Z Rebel Agent 2678 Ke dirile module 8267 Scribunto text/plain local export = {} function export.format_qualifier(list) -- keep in sync with [[Template:qualifier]] if type(list) ~= "table" then list = { list } end if #list == 0 then return '' end return '<span class="ib-brac qualifier-brac">(</span>' .. '<span class="ib-content qualifier-content">' .. table.concat(list, '<span class="ib-comma qualifier-comma">,</span> ') .. '</span><span class="ib-brac qualifier-brac">)</span>' end function export.sense(list) -- keep in sync with [[Template:sense]] return export.format_qualifier(list) .. '<span class="ib-colon sense-qualifier-colon">:</span>' end return export c9hl0r9z9t1dp3atblkfi1gopwa55p1 Tempolete:IPA 10 2956 8268 2022-07-21T18:38:42Z Rebel Agent 2678 Ke dirile tempolete 8268 wikitext text/x-wiki {{check deprecated lang param usage|lang={{{lang|}}}|<!-- -->{{#invoke:IPA/templates|IPA}}<!-- -->}}<!-- --><noinclude>{{documentation}}</noinclude> k9mhfq9a7nf5suoyiwknfuk0p4ozvdo Module:IPA/templates 828 2957 8269 2022-07-21T18:40:14Z Rebel Agent 2678 Ke dirile module 8269 Scribunto text/plain local export = {} local m_IPA = require("Module:IPA") local U = mw.ustring.char local syllabic = U(0x0329) -- Used for [[Template:IPA]]. function export.IPA(frame) local parent_args = frame.getParent and frame:getParent().args or frame local compat = parent_args["lang"] local offset = compat and 0 or 1 local params = { [compat and "lang" or 1] = {required = true, default = "en"}, [1 + offset] = {list = true, allow_holes = true}, ["ref"] = {list = true, allow_holes = true}, -- Came before 'ref' but too obscure ["n"] = {list = true, allow_holes = true, alias_of = "ref"}, ["qual"] = {list = true, allow_holes = true}, ["nocount"] = {type = "boolean"}, ["sort"] = {}, } local args = require("Module:parameters").process(parent_args, params) local lang = args[compat and "lang" or 1] lang = require("Module:languages").getByCode(lang) or require("Module:languages").err(lang, compat and "lang" or 1) -- [[Special:WhatLinksHere/Template:tracking/IPA/grc]] if lang and lang:getCode() == "grc" then require("Module:debug").track("IPA/grc") end local items = {} for i = 1, math.max(args[1 + offset].maxindex, args["ref"].maxindex, args["qual"].maxindex) do local pron = args[1 + offset][i] local refs = args["ref"][i] if refs then refs = require("Module:references").parse_references(refs) end local qual = args["qual"][i] if not pron then if refs or qual then local param = i == 1 and "" or "" .. i error("Specified qual" .. param .. "= or ref" .. param .. "= without corresponding pronunciation") end else if lang then require("Module:IPA/tracking").run_tracking(pron, lang) end if pron or refs or qual then table.insert(items, {pron = pron, refs = refs, qualifiers = {qual}}) end end end return m_IPA.format_IPA_full(lang, items, nil, nil, args.sort, args.nocount) end -- Used for [[Template:IPAchar]]. function export.IPAchar(frame) local params = { [1] = {list = true, allow_holes = true}, ["ref"] = {list = true, allow_holes = true}, -- Came before 'ref' but too obscure ["n"] = {list = true, allow_holes = true, alias_of = "ref"}, ["qual"] = {list = true, allow_holes = true}, -- FIXME, remove this. ["lang"] = {}, -- This parameter is not used and does nothing, but is allowed for futureproofing. } local args = require("Module:parameters").process(frame.getParent and frame:getParent().args or frame, params) -- [[Special:WhatLinksHere/Template:tracking/IPAchar/lang]] if args.lang then require("Module:debug").track("IPAchar/lang") end local items = {} for i = 1, math.max(args[1].maxindex, args["ref"].maxindex, args["qual"].maxindex) do local pron = args[1][i] local refs = args["ref"][i] if refs then refs = require("Module:references").parse_references(refs) end local qual = args["qual"][i] if pron or refs or qual then table.insert(items, {pron = pron, refs = refs, qualifiers = {qual}}) end end -- Format return m_IPA.format_IPA_multiple(nil, items) end function export.XSAMPA(frame) local params = { [1] = { required = true }, } local args = require("Module:parameters").process(frame:getParent().args, params) return m_IPA.XSAMPA_to_IPA(args[1] or "[Eg'zA:mp5=]") end -- Used by [[Template:X2IPA]] function export.X2IPAtemplate(frame) local parent_args = frame.getParent and frame:getParent().args or frame local compat = parent_args["lang"] local offset = compat and 0 or 1 local params = { [compat and "lang" or 1] = {required = true, default = "und"}, [1 + offset] = {list = true, allow_holes = true}, ["ref"] = {list = true, allow_holes = true}, -- Came before 'ref' but too obscure ["n"] = {list = true, allow_holes = true, alias_of = "ref"}, ["qual"] = { list = true, allow_holes = true }, } local args = require("Module:parameters").process(parent_args, params) local m_XSAMPA = require("Module:IPA/X-SAMPA") local pronunciations, refs, qualifiers, lang = args[1 + offset], args["ref"], args["qual"], args[compat and "lang" or 1] local output = {} table.insert(output, "{{IPA") table.insert(output, "|" .. lang) for i = 1, math.max(pronunciations.maxindex, refs.maxindex, qualifiers.maxindex) do if pronunciations[i] then table.insert(output, "|" .. m_XSAMPA.XSAMPA_to_IPA(pronunciations[i])) end if refs[i] then table.insert(output, "|ref" .. i .. "=" .. refs[i]) end if qualifiers[i] then table.insert(output, "|qual" .. i .. "=" .. qualifiers[i]) end end table.insert(output, "}}") return table.concat(output) end -- Used by [[Template:X2IPAchar]] function export.X2IPAchar(frame) local params = { [1] = { list = true, allow_holes = true }, ["ref"] = {list = true, allow_holes = true}, -- Came before 'ref' but too obscure ["n"] = {list = true, allow_holes = true, alias_of = "ref"}, ["qual"] = { list = true, allow_holes = true }, -- FIXME, remove this. ["lang"] = {}, } local args = require("Module:parameters").process(frame:getParent().args, params) -- [[Special:WhatLinksHere/Template:tracking/X2IPAchar/lang]] if args.lang then require("Module:debug").track("X2IPAchar/lang") end local m_XSAMPA = require("Module:IPA/X-SAMPA") local pronunciations, refs, qualifiers, lang = args[1], args["ref"], args["qual"], args["lang"] local output = {} table.insert(output, "{{IPAchar") for i = 1, math.max(pronunciations.maxindex, refs.maxindex, qualifiers.maxindex) do if pronunciations[i] then table.insert(output, "|" .. m_XSAMPA.XSAMPA_to_IPA(pronunciations[i])) end if refs[i] then table.insert(output, "|ref" .. i .. "=" .. refs[i]) end if qualifiers[i] then table.insert(output, "|qual" .. i .. "=" .. qualifiers[i]) end end if lang then table.insert(output, "|lang=" .. lang) end table.insert(output, "}}") return table.concat(output) end -- Used by [[Template:x2rhymes]] function export.X2rhymes(frame) local parent_args = frame.getParent and frame:getParent().args or frame local compat = parent_args["lang"] local offset = compat and 0 or 1 local params = { [compat and "lang" or 1] = {required = true, default = "und"}, [1 + offset] = {required = true, list = true, allow_holes = true}, } local args = require("Module:parameters").process(parent_args, params) local m_XSAMPA = require("Module:IPA/X-SAMPA") pronunciations, lang = args[1 + offset], args[compat and "lang" or 1] local output = {} table.insert(output, "{{rhymes") table.insert(output, "|" .. lang) for i = 1, pronunciations.maxindex do if pronunciations[i] then table.insert(output, "|" .. m_XSAMPA.XSAMPA_to_IPA(pronunciations[i])) end end table.insert(output, "}}") return table.concat(output) end return export fertbyhcrc4gw6c99oyklgsx627amxy Module:IPA 828 2958 8270 2022-07-21T18:41:38Z Rebel Agent 2678 Ke dirile module 8270 Scribunto text/plain local export = {} -- [[Module:IPA/data]] local m_data = mw.loadData('Module:IPA/data') -- [[Module:IPA/data]] local m_symbols = mw.loadData('Module:IPA/data/symbols') -- [[Module:IPA/data/symbols]] local m_syllables -- [[Module:syllables]]; loaded below if needed local sub = mw.ustring.sub local find = mw.ustring.find local gsub = mw.ustring.gsub local match = mw.ustring.match local gmatch = mw.ustring.gmatch local U = mw.ustring.char function export.format_IPA_full(lang, items, err, separator, sortKey, no_count) local IPA_key, key_link, err_text, prefix, IPAs, category local hasKey = m_data.langs_with_infopages local namespace = mw.title.getCurrentTitle().nsText if err then err_text = '<span class="error">' .. err .. '</span>' else if hasKey[lang:getCode()] then IPA_key = "Appendix:" .. lang:getCanonicalName() .. " pronunciation" else IPA_key = "wikipedia:" .. lang:getCanonicalName() .. " phonology" end key_link = "[[" .. IPA_key .. "|key]]" end local prefix = "[[Wiktionary:International Phonetic Alphabet|IPA]]<sup>(" .. ( key_link or err_text ) .. ")</sup>:&#32;" IPAs = export.format_IPA_multiple(lang, items, separator, no_count) if lang and (namespace == "" or namespace == "Reconstruction") then sortKey = sortKey or lang:makeSortKey(mw.title.getCurrentTitle().text) sortKey = sortKey and ("|" .. sortKey) or "" category = "[[Category:" .. lang:getCanonicalName() .. " terms with IPA pronunciation" .. sortKey .. "]]" else category = "" end return prefix .. IPAs .. category end local function determine_repr(pron) local repr_mark = {} local repr, reconstructed -- remove initial asterisk before representation marks, used on some Reconstruction pages if find(pron, "^%*") then reconstructed = true pron = sub(pron, 2) end local representation_types = { ['/'] = { right = '/', type = 'phonemic', }, ['['] = { right = ']', type = 'phonetic', }, ['⟨'] = { right = '⟩', type = 'orthographic', }, ['-'] = { type = 'rhyme' }, } repr_mark.i, repr_mark.f, repr_mark.left, repr_mark.right = find(pron, '^(.).-(.)$') local representation_type = representation_types[repr_mark.left] if representation_type then if representation_type.right then if repr_mark.right == representation_type.right then repr = representation_type.type end else repr = representation_type.type end else repr = nil end return repr, reconstructed end local function hasInvalidSeparators(transcription) if find(transcription, "%.[ˈˌ]") then return true else return false end end function export.format_IPA_multiple(lang, items, separator, no_count) local categories = {} separator = separator or ', ' -- Format if not items[1] then if mw.title.getCurrentTitle().nsText == "Template" then table.insert(items, {pron = "/aɪ piː ˈeɪ/"}) else table.insert(categories, "[[Category:Pronunciation templates without a pronunciation]]") end end local bits = {} for _, item in ipairs(items) do local bit = export.format_IPA(lang, item.pron) if item.pretext then bit = item.pretext .. bit end if item.posttext then bit = bit .. item.posttext end if item.qualifiers and item.qualifiers[1] then bit = require("Module:qualifier").format_qualifier(item.qualifiers) .. " " .. bit end if item.refs or item.note then local refspecs if item.note then -- FIXME: eliminate item.note in favor of item.refs. Use tracking to find places -- that use item.note. refspecs = {item.note} require("Module:debug").track("IPA/note") else refspecs = item.refs end local refs = {} if #refspecs > 0 then for _, refspec in ipairs(refspecs) do if type(refspec) ~= "table" then refspec = {text = refspec} end local refargs if refspec.name or refspec.group then refargs = {name = refspec.name, group = refspec.group} end table.insert(refs, mw.getCurrentFrame():extensionTag("ref", refspec.text, refargs)) end bit = bit .. table.concat(refs) end end table.insert(bits, bit) --[=[ [[Special:WhatLinksHere/Template:tracking/IPA/syntax-error]] The length or gemination symbol should not appear after a syllable break or stress symbol. ]=] if find(item.pron, "[ˈˌ%.][ːˑ]") then require("Module:debug").track("IPA/syntax-error") end if lang then -- Add syllable count if the language's diphthongs are listed in [[Module:syllables]]. -- Don't do this if the term has spaces or a liaison mark (‿). if not no_count and mw.title.getCurrentTitle().namespace == 0 then m_syllables = m_syllables or require('Module:syllables') local langcode = lang:getCode() if m_data.langs_to_generate_syllable_count_categories[langcode] then local repr = determine_repr(item.pron) local use_it if m_data.langs_to_use_phonetic_notation[langcode] then use_it = repr == "phonetic" else use_it = repr == "phonemic" end if use_it and not find(item.pron, "[ ‿]") then local syllable_count = m_syllables.getVowels(item.pron, lang) if syllable_count then table.insert(categories, "[[Category:" .. lang:getCanonicalName() .. " " .. syllable_count .. "-syllable words]]") end end end end if lang:getCode() == "en" and hasInvalidSeparators(item.pron) then table.insert(categories, "[[Category:IPA for English using .ˈ or .ˌ]]") end end end return table.concat(bits, separator) .. table.concat(categories) end -- Takes an IPA pronunciation and formats it and adds cleanup categories. function export.format_IPA(lang, pron, split_output) local err = {} local categories = {} -- Remove wikilinks, so that wikilink brackets are not misinterpreted as -- indicating phonemic transcription local str_gsub = string.gsub local without_links = str_gsub(pron, '%[%[[^|%]]+|([^%]]+)%]%]', '%1') without_links = str_gsub(without_links, '%[%[[^%]]+%]%]', '%1') -- Detect whether this is a phonemic or phonetic transcription local repr, reconstructed = determine_repr(without_links) if reconstructed then pron = sub(pron, 2) end -- If valid, strip the representation marks if repr == "phonemic" then pron = sub(pron, 2, -2) without_links = sub(without_links, 2, -2) elseif repr == "phonetic" then pron = sub(pron, 2, -2) without_links = sub(without_links, 2, -2) elseif repr == "orthographic" then pron = sub(pron, 2, -2) without_links = sub(without_links, 2, -2) elseif repr == "rhyme" then pron = sub(pron, 2) without_links = sub(without_links, 2) else table.insert(categories, "[[Category:IPA pronunciations with invalid representation marks]]") -- table.insert(err, "invalid representation marks") -- Removed because it's annoying when previewing pronunciation pages. end if pron == "" then table.insert(categories, "[[Category:IPA pronunciations with no pronunciation present]]") end -- Check for obsolete and nonstandard symbols for i, symbol in ipairs(m_data.nonstandard) do local result for nonstandard in gmatch(pron, symbol) do if not result then result = {} end table.insert(result, nonstandard) table.insert(categories, "[[Category:IPA pronunciations with obsolete or nonstandard characters|" .. nonstandard .. "]]") end if result then table.insert(err, "obsolete or nonstandard characters (" .. table.concat(result) .. ")") break end end --[[ Check for invalid symbols after removing the following: 1. wikilinks (handled above) 2. paired HTML tags 3. bolding 4. italics 5. HTML entity for space 6. asterisk at beginning of transcription 7. comma followed by spacing characters 8. superscripts enclosed in superscript parentheses ]] local found_HTML local result = str_gsub(without_links, "<(%a+)[^>]*>([^<]+)</%1>", function(tagName, content) found_HTML = true return content end) result = str_gsub(result, "'''([^']*)'''", "%1") result = str_gsub(result, "''([^']*)''", "%1") result = str_gsub(result, "&[^;]+;", "") -- This may catch things that are not valid character entities. result = str_gsub(result, "^%*", "") result = gsub(result, ",%s+", "") result = gsub(result, "⁽[".. m_symbols.superscripts .. "]+⁾", "") result = gsub(result, '[' .. m_symbols.valid .. ']', '') -- VS15 local vs15_class = "[" .. m_symbols.add_vs15 .. "]" if mw.ustring.find(pron, vs15_class) then local vs15 = U(0xFE0E) if mw.ustring.find(result, vs15) then result = gsub(result, vs15, "") pron = mw.ustring.gsub(pron, vs15, "") end pron = mw.ustring.gsub(pron, "(" .. vs15_class .. ")", "%1" .. vs15) end if result ~= '' then local suggestions = {} mw.log(pron, result) local namespace = mw.title.getCurrentTitle().namespace local category if namespace == 0 then -- main namespace category = "IPA pronunciations with invalid IPA characters" elseif namespace == 118 then -- reconstruction namespace category = "IPA pronunciations with invalid IPA characters/reconstruction" else category = "IPA pronunciations with invalid IPA characters/non_mainspace" end for character in gmatch(result, ".") do local suggestion = m_symbols.suggestions[character] if suggestion then table.insert(suggestions, character .. " with " .. suggestion) end table.insert(categories, "[[Category:" .. category .. "|" .. character .. "]]") end table.insert(err, "invalid IPA characters (" .. result .. ")") if suggestions[1] then table.insert(err, "replace " .. table.concat(suggestions, ", ")) end end if found_HTML then table.insert(categories, "[[Category:IPA pronunciations with paired HTML tags]]") end -- Reference inside IPA template usage -- FIXME: Doesn't work; you can't put HTML in module output. --if mw.ustring.find(pron, '</ref>') then -- table.insert(categories, "[[Category:IPA pronunciations with reference]]") --end if repr == "phonemic" or repr == "rhyme" then if lang and m_data.phonemes[lang:getCode()] then local valid_phonemes = m_data.phonemes[lang:getCode()] local rest = pron local phonemes = {} while mw.ustring.len(rest) > 0 do local longestmatch = "" if sub(rest, 1, 1) == "(" or sub(rest, 1, 1) == ")" then longestmatch = sub(rest, 1, 1) else for _, phoneme in ipairs(valid_phonemes) do if mw.ustring.len(phoneme) > mw.ustring.len(longestmatch) and sub(rest, 1, mw.ustring.len(phoneme)) == phoneme then longestmatch = phoneme end end end if mw.ustring.len(longestmatch) > 0 then table.insert(phonemes, longestmatch) rest = sub(rest, mw.ustring.len(longestmatch) + 1) else local phoneme = sub(rest, 1, 1) table.insert(phonemes, "<span style=\"color: red\">" .. phoneme .. "</span>") rest = sub(rest, 2) table.insert(categories, "[[Category:IPA pronunciations with invalid phonemes/" .. lang:getCode() .. "]]") require("Module:debug").track("IPA/invalid phonemes/" .. phoneme) end end pron = table.concat(phonemes) end if repr == "phonemic" then pron = "/" .. pron .. "/" else pron = "-" .. pron end elseif repr == "phonetic" then pron = "[" .. pron .. "]" elseif repr == "orthographic" then pron = "⟨" .. pron .. "⟩" end if reconstructed then pron = "*" .. pron end if err[1] then err = '<span class="previewonly error" style="font-size: small;>&#32;' .. table.concat(err, ', ') .. '</span>' else err = "" end if split_output then -- for use of IPA in links return '<span class="IPA">' .. pron .. '</span>', table.concat(categories), err else return '<span class="IPA">' .. pron .. '</span>' .. err .. table.concat(categories) end end function export.example(frame) local output = {} local m_links = require('Module:links') local m_languages = require('Module:languages') table.insert( output, [[ {| class="wikitable" ! Term !! IPA !! Generated X-SAMPA !! Regenerated IPA !! Matched? ]] ) local row = [[ |- | link || IPA || XSAMPA || regenerated_IPA || matched ]] local examples = mw.text.split(frame.args[1], ",%s*") local m_XSAMPA = require("Module:IPA/X-SAMPA") for _, example in pairs(examples) do local lang, word = match(example, "(%l%l%l?):(.+) [/%[]") if lang then lang = m_languages.getByCode(lang) or error('"' .. lang .. '" is not a valid language code.') end local IPA = match(example, "/[^/]+/") or match(example, "%[[^%]]+%]") or error('No IPA transcription found in "' .. example .. '".') local XSAMPA = m_XSAMPA.IPA_to_XSAMPA(IPA) local regenerated_IPA = m_XSAMPA.XSAMPA_to_IPA(XSAMPA) content = { link = lang and word and m_links.full_link{ term = word, lang = lang }, matched = IPA == regenerated_IPA and '<span style="color: green;">yes</span>' or '<span style="color: red;">no</span>', IPA = '<span class="IPA">' .. IPA .. '</span>', XSAMPA = '<code>' .. XSAMPA .. '</code>', regenerated_IPA = '<span class="IPA">' .. regenerated_IPA .. '</span>' } local function add_content(item) return content[item] or "" end local row = gsub(row, "[%a_]+", add_content) table.insert(output, row) end table.insert(output, "|}") return table.concat(output) end return export f9zzr4y7bt605p4pj2dovcyvlp77hw4 Module:IPA/data 828 2959 8271 2022-07-21T18:43:06Z Rebel Agent 2678 Ke dirile module 8271 Scribunto text/plain local data = {} --[=[ This should list the language codes of all languages that have a pronunciation page in the appendix of the form ''Appendix:LANG pronunciation'', e.g. [[Appendix:Russian pronunciation]]. For these languages, the text "key" next to the generated pronunciation links to such pages; for other languages, it links to the "LANG phonology" page in Wikipedia (which may or may not exist). [[Module:IPA]] is responsible for this linking; see format_IPA_full(). ]=] local langs_with_infopages = { "acw", "ady", "ang", "arc", "ba", "bg", "bo", "ca", "cho", "cmn", "cs", "cv", "cy", "da", "de", "dsb", "dz", "egl", "egy", "el", "en", "enm", "eo", "es", "fa", "fi", "fo", "fr", "fy", "ga", "gd", "gem-pro", "got", "he", "hi", "hu", "hy", "ii", "is", "it", "iu", "ja", "jbo", "ka", "kls", "ko", "kw", "la", "lb", "liv", "lt", "lv", "mdf", "mfe", "mic", "mk", "ms", "mt", "mul", "my", "nan", "nci", "nl", "nn", "no", "nov", "nv", "pjt", "pl", "ps", "pt", "ro", "ru", "scn", "sco", "sga", "sh", "sl", "sq", "sv", "sw", "syc", "th", "tl", "tr", "tyv", "ug", "uk", "vi", "vo", "wlm", "yi", "yue", } data.langs_with_infopages = {} -- Convert the list in `langs_with_infopages` to a set. for _, langcode in ipairs(langs_with_infopages) do data.langs_with_infopages[langcode] = true end --[=[ This should list the diphthongs of a language (in the form of Lua patterns), provided they do *NOT* contain semivowel symbols such as /j w ɰ ɥ/ or vowels with nonsyllabic diacritics such as /i̯ u̯/. For example, list /au/ or /aʊ/, but do not list /aw/ or /au̯/. The data in this table is used to count the number of syllables in a word. [[Module:syllables]] automatically knows how to correctly handle semivowel symbols and nonsyllabic diacritics. Any language listed here will automatically have categories of the form "LANG #-syllable words" generated. In addition, any language listed below under `langs_to_generate_syllable_count_categories` will also have such categories generated. NOTE: There are some additional languages that have these categories. For example: * Thai words have these categories added by [[Module:th-pron]]. ]=] data.diphthongs = { ["cs"] = { -- [[w:Czech phonology#Diphthongs]] "[aeo]u", }, ["de"] = { "a[ɪʊ]", "ɔ[ʏɪ]", }, ["en"] = { -- from [[Appendix:English pronunciation]] mostly, but /ʌɪ/ is from the OED "[aɑeɛoɔʌ][ɪi]", "[ɑɒæo]e", "[əɐ]ʉ", "[aɒəoɔʌ]ʊ", "æo", "[ɛeɪiɔʊʉ]ə", -- /iə/ is a diphthong in NZE, but a disyllabic sequence in GA. -- /ɪə/ is both a disyllabic sequence and a diphthong in old-fashioned RP. "[aʌ][ʊɪ]ə", -- May be a disyllabic sequence in some or all dialects? }, ["grc"] = { "[aeyo]i", "[ae]u", "[ɛɔa]ː[iu]", }, ["is"] = { -- [[w:Icelandic phonology#Vowels]] "[aeø][iɪy]", -- Wikipedia is oddly specific about the second element: ei and ai, but øɪ. "[ao]u", }, ["it"] = { "[aeɛoɔu]i", "[aeɛioɔ]u", }, ["la"] = { "[eaou]i", "[eao]u", "[ao]e", }, ["lb"] = { "[iu]ə", "[ɜoæɑ]ɪ", "[əæɑ]ʊ", }, } --[=[ This should list any languages for which categories of the form "LANG #-syllable words", e.g. [[:Category:Russian 3-syllable words]], should be generated. Do not list languages here if they have an entry above under `data.diphthongs`; such languages are automatically added to this list. ]=] local langs_to_generate_syllable_count_categories = { "ar", -- Arabic has diphthongs, but they are transcribed -- with semivowel symbols. "ary", -- Moroccan Arabic has diphthongs, but they are transcribed -- with semivowel symbols. "ca", -- Catalan has diphthongs, but they are generally transcribed using -- /w/ and /j/, so do not need to be listed (see [[w:Catalan language#Diphthongs and triphthongs]]. "es", -- Spanish has diphthongs, but they are transcribed with i̯ etc. "fi", -- Finnish has diphthongs, but they are now automatically transcribed with -- the nonsyllabic diacritic "fr", -- French has diphthongs, but they are transcribed -- with semivowel symbols: [[w:French phonology#Glides and diphthongs]]. "ka", "kmr", "ku", "mk", "mt", -- Maltese has diphthongs, but they are transcribed -- with semivowel symbols. "pl", -- No diphthongs, properly speaking; sequences of a vowel and /w/ or /j/ though. "ru", -- No diphthongs, properly speaking; sequences of a vowel and /j/ though. "sk", -- Slovak has rising diphthongs, /i̯e, i̯a, i̯u, u̯o/, which are probably always spelled with the nonsyllabic diacritic, so do not need to be listed. "sl", -- No diphthongs, properly speaking; sequences of a vowel, /j/ and /w/ though "sq", -- [[w:Albanian language#Vowels]] doesn't mention anything about diphthongs. "ug", -- No diphthongs. } data.langs_to_generate_syllable_count_categories = {} -- Convert the list in `langs_to_generate_syllable_count_categories` to a set. for _, langcode in ipairs(langs_to_generate_syllable_count_categories) do data.langs_to_generate_syllable_count_categories[langcode] = true end -- Also add languages listed under `data.diphthongs`. for langcode, _ in pairs(data.diphthongs) do data.langs_to_generate_syllable_count_categories[langcode] = true end -- Languages to use the phonetic not phonemic notation to compute syllables counts. local langs_to_use_phonetic_notation = { "es", "mk", "ru", } data.langs_to_use_phonetic_notation = {} -- Convert the list in `langs_to_use_phonetic_notation` to a set. for _, langcode in ipairs(langs_to_use_phonetic_notation) do data.langs_to_use_phonetic_notation[langcode] = true end -- Non-standard or obsolete IPA symbols. data.nonstandard = { --[[ The following symbols consist of more than one character, so we can't put them in the line below. ]] "ɑ̢", "d̂", "t̂", "n̂", "l̂", "k̫", "ɔ̗", "ɔ̖", "[ʦʣʧʤʨʥ?ƍσƺƪƻƾƞᶀᶁᶂᶃᶄᶅᶆᶈᶇᶉᶊᶋƫᶌᶍᶎʓʆλƛłščžǰǧǯẋᵻᵿⱻʚ" .. "ɷωıȹȸ∅ØƥƭƈƙʠʇʗʖʞɩɼȣяɿʅʮʯᴀᴀᴇGRŒQȡȶȵȴKPT]" } -- See valid IPA characters at [[Module:IPA/data/symbols]]. data.phonemes = {} data.phonemes["dz"] = { "m", "n", "ŋ", "p", "t", "ʈ", "k", "pʰ", "tʰ", "ʈʰ", "kʰ", "t͡s", "t͡ɕ", "t͡sʰ", "t͡ɕʰ", "w", "s", "z", "ɬ", "l", "r", "ɕ", "ʑ", "j", "h", "ɑ", "e", "i", "o", "u", "ɑː", "eː", "ɛː", "iː", "oː", "øː", "uː", "yː", "ɑ˥", "e˥", "i˥", "o˥", "u˥", "ɑː˥", "eː˥", "ɛː˥", "iː˥", "oː˥", "øː˥", "uː˥", "yː˥", "m˥", "n˥", "ŋ˥", "p˥", "k˥", "k̚˥", "w˥", "l˥", "r˥", "ɕ˥", "j˥", ")˥", "ɑ˩", "e˩", "i˩", "o˩", "u˩", "ɑː˩", "eː˩", "ɛː˩", "iː˩", "oː˩", "øː˩", "uː˩", "yː˩", "m˩", "n˩", "ŋ˩", "p˩", "k˩", "k̚˩", "w˩", "l˩", "r˩", "ɕ˩", "j˩", ")˩", ".", ",", "-", } data.phonemes["eo"] = { "a", "b", "d", "d͡ʒ", "e", "f", "h", "i", "j", "k", "l", "m", "n", "o", "p", "r", "s", "t", "t͡s", "t͡ʃ", "u", "v", "w", "x", "z", "ɡ", "ʃ", "ʒ", "ˈ", ".", " ", "-", } data.phonemes["hy"] = { "ɑ", "b", "ɡ", "d", "ɛ", "z", "ɛ", "ə", "tʰ", "ʒ", "i", "l", "χ", "t͡s", "k", "h", "d͡z", "ʁ", "t͡ʃ", "m", "j", "n", "ʃ", "ɔ", "t͡ʃʰ", "p", "d͡ʒ", "r", "s", "v", "t", "ɾ", "t͡sʰ", "v", "pʰ", "kʰ", "ɔ", "f", "ŋɡ", "ŋk", "ŋχ", "u", "ˈ", "ˌ", ".", " ", "ː", } data.phonemes["nl"] = { "m", "n", "ŋ", "p", "b", "t", "d", "k", "ɡ", "f", "v", "s", "z", "ʃ", "ʒ", "x", "ɣ", "ɦ", "ʋ", "l", "j", "r", "ɪ", "ʏ", "ɛ", "ə", "ɔ", "ɑ", "i", "iː", "y", "yː", "u", "uː", "eː", "øː", "oː", "ɛː", "œː", "ɔː", "aː", "ɛi̯", "œy̯", "ɔi̯", "ɑu̯", "ɑi̯", "iu̯", "yu̯", "ui̯", "eːu̯", "oːi̯", "aːi̯", "ˈ", "ˌ", ".", " ", } return data 84jgjvqkd6f56yaicj1wroxsm0makkb Module:IPA/data/symbols 828 2960 8272 2022-07-21T18:45:11Z Rebel Agent 2678 Ke dirile module 8272 Scribunto text/plain local data = {} --[=[ Valid IPA symbols. Currently almost all values of "title" and "link" keys are just the comments that were used in [[Module:IPA]]. The "link" fields should be checked (those that start with an uppercase letter are checked). ]=] local U = mw.ustring.char data[1] = { -- PULMONIC CONSONANTS -- nasal ["m"] = { title = "bilabial nasal", link = "w:Bilabial nasal", }, ["ɱ"] = { title = "labiodental nasal", link = "w:Labiodental nasal", }, ["n"] = { title = "alveolar nasal", link = "w:Alveolar nasal", }, ["ɳ"] = { title = "retroflex nasal", link = "w:Retroflex nasal", }, ["ɲ"] = { title = "palatal nasal", link = "w:Palatal nasal", }, ["ŋ"] = { title = "velar nasal", link = "w:Velar nasal", }, ["ɴ"] = { title = "uvular nasal", link = "w:Uvular nasal", }, -- plosive ["p"] = { title = "voiceless bilabial plosive", link = "w:Voiceless bilabial stop", }, ["b"] = { title = "voiced bilabial plosive", link = "w:Voiced bilabial stop", }, ["t"] = { title = "voiceless alveolar plosive", link = "w:Voiceless alveolar stop", }, ["d"] = { title = "voiced alveolar plosive", link = "w:Voiced alveolar stop", }, ["ʈ"] = { title = "voiceless retroflex plosive", link = "w:Voiceless retroflex stop", }, ["ɖ"] = { title = "voiced retroflex plosive", link = "w:Voiced retroflex stop", }, ["c"] = { title = "voiceless palatal plosive", link = "w:Voiceless palatal stop", }, ["ɟ"] = { title = "voiced palatal plosive", link = "w:Voiced palatal stop", }, ["k"] = { title = "voiceless velar plosive", link = "w:Voiceless velar stop", }, ["ɡ"] = { title = "voiced velar plosive", link = "w:Voiced velar stop", }, ["q"] = { title = "voiceless uvular plosive", link = "w:Voiceless uvular stop", }, ["ɢ"] = { title = "voiced uvular plosive", link = "w:Voiced uvular stop", }, ["ʡ"] = { title = "epiglottal plosive", link = "w:Epiglottal stop", }, ["ʔ"] = { title = "glottal stop", link = "w:Glottal stop", }, -- fricative ["ɸ"] = { title = "voiceless bilabial fricative", link = "w:Voiceless bilabial fricative", }, ["β"] = { title = "voiced bilabial fricative", link = "w:Voiced bilabial fricative", }, ["f"] = { title = "voiceless labiodental fricative", link = "w:Voiceless labiodental fricative", }, ["v"] = { title = "voiced labiodental fricative", link = "w:Voiced labiodental fricative", }, ["θ"] = { title = "voiceless dental fricative", link = "w:Voiceless dental fricative", }, ["ð"] = { title = "voiced dental fricative", link = "w:Voiced dental fricative", }, ["s"] = { title = "voiceless alveolar fricative", link = "w:Voiceless alveolar fricative", }, ["z"] = { title = "voiced alveolar fricative", link = "w:Voiced alveolar fricative", }, ["ʃ"] = { title = "voiceless postalveolar fricative", link = "w:Voiceless palato-alveolar sibilant", }, ["ʒ"] = { title = "voiced postalveolar fricative", link = "w:Voiced palato-alveolar sibilant", }, ["ʂ"] = { title = "voiceless retroflex fricative", link = "w:Voiceless retroflex sibilant", }, ["ʐ"] = { title = "voiced retroflex fricative", link = "w:Voiced retroflex sibilant", }, ["ɕ"] = { title = "voiceless alveolo-palatal fricative", link = "w:Voiceless alveolo-palatal sibilant", }, ["ʑ"] = { title = "voiced alveolo-palatal fricative", link = "w:Voiced alveolo-palatal sibilant", }, ["ç"] = { title = "voiceless palatal fricative", link = "w:Voiceless palatal fricative", }, ["ʝ"] = { title = "voiced palatal fricative", link = "w:Voiced palatal fricative", }, ["x"] = { title = "voiceless velar fricative", link = "w:Voiceless velar fricative", }, ["ɣ"] = { title = "voiced velar fricative", link = "w:Voiced velar fricative", }, ["χ"] = { title = "voiceless uvular fricative", link = "w:Voiceless uvular fricative", }, ["ʁ"] = { title = "voiced uvular fricative", link = "w:Voiced uvular fricative", }, ["ħ"] = { title = "voiceless pharyngeal fricative", link = "w:Voiceless pharyngeal fricative", }, ["ʕ"] = { title = "voiced pharyngeal fricative", link = "w:Voiced pharyngeal fricative", }, ["ʜ"] = { title = "voiceless epiglottal fricative", link = "w:Voiceless epiglottal fricative", }, ["ʢ"] = { title = "voiced epiglottal fricative", link = "w:Voiced epiglottal fricative", }, ["h"] = { title = "voiceless glottal fricative", link = "w:Voiceless glottal fricative", }, ["ɦ"] = { title = "voiced glottal fricative", link = "w:Voiced glottal fricative", }, -- approximant ["ʋ"] = { title = "labiodental approximant", link = "w:Labiodental approximant", }, ["ɹ"] = { title = "alveolar approximant", link = "w:Alveolar approximant", }, ["ɻ"] = { title = "retroflex approximant", link = "w:Retroflex approximant", }, ["j"] = { title = "palatal approximant", link = "w:Palatal approximant", }, ["ɰ"] = { title = "velar approximant", link = "w:Velar approximant", }, -- tap, flap ["ⱱ"] = { title = "labiodental tap", link = "w:Labiodental flap", }, ["ɾ"] = { title = "alveolar flap", link = "w:Alveolar flap", }, ["ɽ"] = { title = "retroflex flap", link = "w:Retroflex flap", }, -- trill ["ʙ"] = { title = "bilabial trill", link = "w:Bilabial trill", }, ["r"] = { title = "alveolar trill", link = "w:Alveolar trill", }, ["ʀ"] = { title = "uvular trill", link = "w:Uvular trill", }, ["ᴙ"] = { title = "epiglottal trill", link = "w:Epiglottal trill", }, -- lateral fricative ["ɬ"] = { title = "voiceless alveolar lateral fricative", link = "w:Voiceless alveolar lateral fricative", }, ["ɮ"] = { title = "voiced alveolar lateral fricative", link = "w:Voiced alveolar lateral fricative", }, -- no precomposed Unicode character --TOMOVE --["ɬ̢"] = {title = "voiceless retroflex lateral fricative", link = "w:voiceless retroflex lateral fricative"}, -- no precomposed Unicode character --TOMOVE:3 --["ʎ̝̊"] = {title = "voiceless palatal lateral fricative", link = "w:voiceless palatal lateral fricative"}, -- no precomposed Unicode character --TOMOVE:3 --["ʟ̝̊"] = {title = "voiceless velar lateral fricative", link = "w:voiceless velar lateral fricative"}, -- no precomposed Unicode character --TOMOVE --["ʟ̝"] = {title = "voiced velar lateral fricative", link = "w:voiced velar lateral fricative"}, -- lateral approximant ["l"] = { title = "alveolar lateral approximant", link = "w:Alveolar lateral approximant", }, ["ɭ"] = { title = "retroflex lateral approximant", link = "w:Retroflex lateral approximant", }, ["ʎ"] = { title = "palatal lateral approximant", link = "w:Palatal lateral approximant", }, ["ʟ"] = { title = "velar lateral approximant", link = "w:Velar lateral approximant", }, -- lateral flap ["ɺ"] = { title = "alveolar lateral flap", link = "w:Alveolar lateral flap", }, --["ɭ̆"] = {title = "retroflex lateral flap", link = "w:retroflex lateral flap"}, -- no precomposed Unicode character --TOMOVE --["ɺ˞"] = {title = "retroflex lateral flap", link = "w:retroflex lateral flap"}, -- no precomposed Unicode character --TOMOVE -- NON-PULMONIC CONSONANTS -- clicks ["ʘ"] = { title = "bilabial click", link = "w:Bilabial clicks", }, ["ǀ"] = { title = "dental click", link = "w:Dental clicks", }, ["ǃ"] = { title = "postalveolar click", link = "w:Alveolar clicks", }, ["‼"] = { title = "subapical retroflex", link = "w:Retroflex clicks", }, -- NOT IN X-SAMPA ["ǂ"] = { title = "palatal click", link = "w:Palatal clicks", }, ["ǁ"] = { title = "alveolar lateral click", link = "w:Lateral clicks", }, -- implosives ["ɓ"] = { title = "voiced bilabial implosive", link = "w:Voiced bilabial implosive", }, ["ɗ"] = { title = "voiced alveolar implosive", link = "w:Voiced alveolar implosive", }, -- NOT IN X-SAMPA ["ᶑ"] = { title = "retroflex implosive", link = "w:Voiced retroflex implosive", }, ["ʄ"] = { title = "voiced palatal implosive", link = "w:Voiced palatal implosive", }, ["ɠ"] = { title = "voiced velar implosive", link = "w:Voiced velar implosive", }, ["ʛ"] = { title = "voiced uvular implosive", link = "w:Voiced uvular implosive", }, -- ejectives ["ʼ"] = { title = "ejective", link = "w:Ejective consonant", }, -- CO-ARTICULATED CONSONANTS ["ʍ"] = { title = "voiceless labial-velar fricative", link = "w:Voiceless labio-velar approximant", }, ["w"] = { title = "labial-velar approximant", link = "w:Labio-velar approximant", }, ["ɥ"] = { title = "labial-palatal approximant", link = "w:Labialized palatal approximant", }, ["ɧ"] = { title = "voiceless palatal-velar fricative", link = "w:Sj-sound", }, -- should be handled in [[Module:IPA]] and not through this table -- BRACKETS --[[ -- ["//"] = { title = "morphophonemic", link = "w:morphophonemic", }, ["/"] = { title = "phonemic", link = "w:phonemic", }, ["["] = { title = "phonetic", link = "w:phonetic", }, ["["] = { title = "phonetic", link = "w:phonetic", }, ["〈"] = { title = "orthographic", link = "w:orthographic", }, ["〉"] = { title = "orthographic", link = "w:orthographic", }, ["⟨"] = { title = "orthographic", link = "w:orthographic", }, ["⟩"] = { title = "orthographic", link = "w:orthographic", }, ]] -- VOWELS -- close ["i"] = { title = "close front unrounded vowel", link = "w:Close front unrounded vowel", }, ["y"] = { title = "close front rounded vowel", link = "w:Close front rounded vowel", }, ["ɨ"] = { title = "close central unrounded vowel", link = "w:Close central unrounded vowel", }, ["ʉ"] = { title = "close central rounded vowel", link = "w:Close central rounded vowel", }, ["ɯ"] = { title = "close back unrounded vowel", link = "w:Close back unrounded vowel", }, ["u"] = { title = "close back rounded vowel", link = "w:Close back rounded vowel", }, -- near close ["ɪ"] = { title = "near-close near-front unrounded vowel", link = "w:Near-close near-front unrounded vowel", }, ["ʏ"] = { title = "near-close near-front rounded vowel", link = "w:Near-close near-front rounded vowel", }, ["ᵻ"] = { title = "near-close central unrounded vowel", link = "w:Near-close central unrounded vowel", }, -- (alternative) --TOMOVE --[[ ["ɪ̈"] = { title = "near-close central unrounded vowel", link = "w:near-close central unrounded vowel", }, ]] ["ᵿ"] = { title = "near-close central rounded vowel", link = "w:Near-close central rounded vowel", }, --[[ (alternative) TOMOVE ["ʊ̈"] = { title = "near-close central rounded vowel", link = "w:near-close central rounded vowel", }, ]] ["ʊ"] = { title = "near-close near-back rounded vowel", link = "w:Near-close near-back rounded vowel", }, --close mid ["e"] = { title = "close-mid front unrounded vowel", link = "w:Close-mid front unrounded vowel", }, ["ø"] = { title = "close-mid front rounded vowel", link = "w:Close-mid front rounded vowel", }, ["ɘ"] = { title = "close-mid central unrounded vowel", link = "w:Close-mid central unrounded vowel", }, ["ɵ"] = { title = "close-mid central rounded vowel", link = "w:Close-mid central rounded vowel", }, ["ɤ"] = { title = "close-mid back unrounded vowel", link = "w:Close-mid back unrounded vowel", }, ["o"] = { title = "close-mid back rounded vowel", link = "w:Close-mid back rounded vowel", }, -- mid ["ə"] = { title = "schwa", link = "w:Schwa", }, ["ɚ"] = { title = "schwa+r", link = "w:R-colored vowel", }, -- open mid ["ɛ"] = { title = "open-mid front unrounded vowel", link = "w:Open-mid front unrounded vowel", }, ["œ"] = { title = "open-mid front rounded vowel", link = "w:Open-mid front rounded vowel", }, ["ɜ"] = { title = "open-mid central unrounded vowel", link = "w:Open-mid central unrounded vowel", }, ["ɝ"] = { title = "open-mid central unrounded vowel+r", link = "w:R-colored vowel", }, ["ɞ"] = { title = "open-mid central rounded vowel", link = "w:Open-mid central rounded vowel", }, ["ʌ"] = { title = "open-mid back unrounded vowel", link = "w:Open-mid back unrounded vowel", }, ["ɔ"] = { title = "open-mid back rounded vowel", link = "w:Open-mid back rounded vowel", }, -- near open ["æ"] = { title = "near-open front unrounded vowel", link = "w:Near-open front unrounded vowel", }, ["ɐ"] = { title = "near-open central vowel", link = "w:Near-open central vowel", }, -- open ["a"] = { title = "open front unrounded vowel", link = "w:Open front unrounded vowel", }, ["ɶ"] = { title = "open front rounded vowel", link = "w:Open front rounded vowel", }, ["ɑ"] = { title = "open back unrounded vowel", link = "w:Open back unrounded vowel", }, ["ɒ"] = { title = "open back rounded vowel", link = "w:Open back rounded vowel", }, -- SUPRASEGMENTALS ["ˈ"] = {title = "primary stress", link = "w:Stress (linguistics)", XSAMPA = "\""}, --[[ ["???"] = { title = "extra stress: no Unicode char; double primary stress instead", link = "w:extra stress: no Unicode char; double primary stress instead", XSAMPA = "" }, --TOMOVE:3 ]] ["ˌ"] = { title = "secondary stress", link = "w:Secondary stress", }, ["ː"] = { title = "long", link = "w:Length (phonetics)", }, ["ˑ"] = { title = "half long", link = "w:Length (phonetics)", }, ["̆"] = { title = "extra-short", link = "w:Length (phonetics)", }, --[[ ["%."] = { title = "syllable break", link = "w:syllable break", }, ]] --TOMOVE ["‿"] = { title = "linking mark (absence of a break)", link = "w:Tie (typography)#International_Phonetic_Alphabet", }, [" "] = { title = "separator", link = "w:separator", }, -- TONE -- level tones ["˥"] = { title = "top", link = "w:Tone letter", }, ["˦"] = { title = "high", link = "w:Tone letter", }, ["˧"] = { title = "mid", link = "w:Tone letter", }, ["˨"] = { title = "low", link = "w:Tone letter", }, ["˩"] = { title = "bottom", link = "w:Tone letter", }, ["̋"] = { title = "extra high tone", link = "w:Tone letter", }, ["́"] = { title = "high tone", link = "w:Tone letter", }, ["̄"] = { title = "mid tone", link = "w:Tone letter", }, ["̀"] = { title = "low tone", link = "w:Tone letter", }, ["̏"] = { title = "extra low tone", link = "w:Tone letter", }, -- tone terracing ["ꜛ"] = { title = "upstep", link = "w:Upstep", }, ["ꜜ"] = { title = "downstep", link = "w:Downstep", }, -- contour tones ["̌"] = { title = "rising tone", link = "w:Tone (linguistics)", }, ["̂"] = { title = "falling tone", link = "w:Tone (linguistics)", }, ["᷄"] = { title = "high rising tone", link = "w:Tone (linguistics)", }, ["᷅"] = { title = "low rising tone", link = "w:Tone (linguistics)", }, ["᷇"] = { title = "high falling tone", link = "w:Tone (linguistics)", }, ["᷆"] = { title = "low falling tone", link = "w:Tone (linguistics)", }, ["᷈"] = { title = "rising falling tone (peaking)", link = "w:Tone (linguistics)", }, ["᷉"] = { title = "dipping", link = "w:Tone (linguistics)", }, -- [extrapolated from the chart -- please confirm] -- intonation ["|"] = { title = "minor (foot) group", link = "w:Prosodic unit", }, ["‖"] = { title = "major (intonation) group", link = "w:Prosodic unit", }, ["↗"] = { title = "global rise", link = "w:Intonation (linguistics)", }, ["↘"] = { title = "global fall", link = "w:Intonation (linguistics)", }, -- DIACRITICS -- syllabicity & releases ["̩"] = { title = "syllabi ", link = "w:Syllabic consonant", withdescender = "̍" }, -- (or "_=" ["̯"] = { title = "non-syllabic", link = "w:Semivowel", withdescender = "̑" }, ["ʰ"] = { title = "aspirated", link = "w:Aspirated consonant", }, ["ⁿ"] = { title = "nasal release", link = "w:Nasal release", }, ["ˡ"] = { title = "lateral release", link = "w:Lateral release (phonetics)", }, ["̚"] = { title = "no audible release", link = "w:No audible release", }, -- phonation ["̥"] = { title = "voiceless", link = "w:Voicelessness", withdescender = "̊" }, ["̬"] = { title = "voiced", link = "w:Voice (phonetics)", }, ["̤"] = { title = "breathy voice", link = "w:Breathy voice", }, ["̰"] = { title = "creaky voice", link = "w:Creaky voice", }, ["᷽"] = { title = "strident", link = "w:Strident vowel", }, -- primary articulation ["̪"] = { title = "dental", link = "w:Dental consonant", }, ["̺"] = { title = "apical", link = "w:Apical consonant", }, ["̻"] = { title = "laminal", link = "w:Laminal consonant", }, ["̟"] = { title = "advanced", link = "w:Relative articulation#Advanced_and_retracted", withdescender = "˖" }, ["̠"] = { title = "retracted", link = "w:Relative articulation#Retracted", withdescender = "˗" }, ["̼"] = { title = "linguolabial", link = "w:Linguolabial consonant", }, ["̈"] = { title = "centralized", link = "w:Relative articulation#Centralized_vowels", XSAMPA = "_\"" }, ["̽"] = { title = "mid-centralized", link = "Relative articulation#Mid-centralized_vowel", }, ["̞"] = { title = "lowered", link = "w:Relative articulation#Raised_and_lowered", withdescender = "˕" }, ["̝"] = { title = "raised", link = "w:Relative articulation#Raised_and_lowered", withdescender = "˔" }, ["͡"] = { title = "coarticulated", link = "w:Co-articulated consonant", }, ["͈"] = { title = "strong articulation", link = "w:Fortis and lenis", }, -- secondary articulation ["ʷ"] = { title = "labialized", link = "w:Labialization", }, ["ʲ"] = { title = "palatalized", link = "w:Palatalization (phonetics)", }, ["ˠ"] = { title = "velarized", link = "w:Velarization", }, ["ˤ"] = { title = "pharyngealized", link = "w:Pharyngealization", }, -- also see _e ["ɫ"] = { title = "velarized alveolar lateral approximant", link = "w:Alveolar lateral approximant", }, ["̴"] = { title = "velarized or pharyngealized; also see 5", link = "w:Velarization", }, ["̹"] = { title = "more rounded", link = "w:Roundedness", }, ["̜"] = { title = "less rounded", link = "w:Roundedness", }, ["̃"] = { title = "nasalization", link = "w:Nasalization", }, ["˞"] = { title = "rhotacization in vowels, retroflexion in consonants", link = "w:R-colored vowel", }, ["̘"] = { title = "advanced tongue root", link = "w:Advanced and retracted tongue root", }, ["̙"] = { title = "retracted tongue root", link = "w:Advanced and retracted tongue root", }, } data[2] = { -- TODO --["%("] = {}, --["%)"] = {}, ["ːː"] = { title = "extra long", link = "w:Length (phonetics)", }, ["r̥"] = {title = "voiceless alveolar trill", link = "w:Voiceless alveolar trill"}, ["ɬ’"] = {title = "alveolar lateral ejective fricative", link = "w:Alveolar lateral ejective fricative"}, } data[3] = { ["t͡s"] = {title = "voiceless alveolar sibilant affricate", link = "w:Voiceless alveolar affricate"}, ["d͡z"] = {title = "voiced alveolar sibilant affricate", link = "w:Voiced alveolar affricate"}, ["t͡ʃ"] = {title = "voiceless palato-alveolar affricate", link = "w:Voiceless palato-alveolar affricate", descender = true}, ["d͡ʒ"] = {title = "voiced palato-alveolar affricate", link = "w:Voiced palato-alveolar affricate"}, ["ʈ͡ʂ"] = {title = "voiceless retroflex affricate", link = "w:Voiceless retroflex affricate", descender = true}, ["ɖ͡ʐ"] = {title = "voiced retroflex affricate", link = "w:Voiced retroflex affricate, descender = true"}, ["t͡ɕ"] = {title = "voiceless alveolo-palatal affricate", link = "w:Voiceless alveolo-palatal affricate"}, ["d͡ʑ"] = {title = "voiced alveolo-palatal affricate", link = "w:Voiced alveolo-palatal affricate"}, ["c͡ç"] = {title = "voiceless palatal affricate", link = "w:Voiceless palatal affricate, descender = true"}, ["ɟ͡ʝ"] = {title = "voiced palatal affricate", link = "w:Voiced palatal affricate, descender = true"}, ["k͡x"] = {title = "voiceless velar affricate", link = "w:Voiceless velar affricate"}, ["ɡ͡ɣ"] = {title = "voiced velar affricate", link = "w:Voiced velar affricate, descender = true"}, } data[4] = { ["ǃ͡qʼ"] = {title = "alveolar linguo-glottalic stop", link = "w:Ejective-contour clicks, descender = true"}, ["ǁ͡χʼ"] = {title = "lateral linguo-glottalic affricate (homorganic)", link = "w:Ejective-contour clicks", descender = true}, } data[5] = { ["k͡ʟ̝̊"] = {title = "voiceless velar lateral affricate", link = "w:Voiceless velar lateral affricate"}, ["ᶢǀ͡qʼ"] = {title = "voiced dental linguo-glottalic stop", link = "w:Ejective-contour clicks"}, ["ǂ͡kxʼ"] = {title = "palatal linguo-glottalic affricate (heterorganic)", link = "w:Ejective-contour clicks"}, } data[6] = { ["k͡ʟ̝̊ʼ"] = {title = "velar lateral ejective affricate", link = "w:Velar lateral ejective affricate"}, ["ᶢʘ͡kxʼ"] = {title = "voiced labial linguo-glottalic affricate", link = "w:Ejective-contour clicks"}, } -- acute and grave tone marks data["diacritics"] = -- grave, acute, circumflex, tilde, macron, breve U(0x300) .. U(0x301) .. U(0x302) .. U(0x303) .. U(0x304) .. U(0x306) -- diaeresis, ring above, double acute, caron, vertical line above, double grave, left tack .. U(0x308) .. U(0x30A) .. U(0x30B) .. U(0x30C) .. U(0x30D) .. U(0x30F) .. U(0x318) -- right tack, left angle, left half ring below, up tack below, down tack below, plus sign below .. U(0x319) .. U(0x31A) .. U(0x31C) .. U(0x31D) .. U(0x31E) .. U(0x31F) -- minus sign below, rhotic hook below, dot below, diaeresis below, ring below, vertical line below, bridge below .. U(0x320) .. U(0x322) .. U(0x323) .. U(0x324) .. U(0x325) .. U(0x329) .. U(0x32A) -- caron below, inverted breve below .. U(0x32C) .. U(0x32F) -- tilde below, right half ring below, inverted bridge below, square below, seagull below, x above .. U(0x330) .. U(0x339) .. U(0x33A) .. U(0x33B) .. U(0x33C) .. U(0x33D) -- grave tone mark, acute tone mark, bridge above, equals sign below, double vertical line below .. U(0x340) .. U(0x341) .. U(0x346) .. U(0x347) .. U(0x348) -- left angle below, not tilde above, homothetic above, almost equal above, left right arrow below .. U(0x349) .. U(0x34A) .. U(0x34B) .. U(0x34C) .. U(0x34D) -- upwards arrow below, left arrowhead below, right arrowhead below .. U(0x34E) .. U(0x354) .. U(0x355) -- double rightwards arrow below, combining Latin small letter a .. U(0x362) .. U(0x361) -- macron–acute, grave–macron, macron–grave, acute–macron, grave–acute–grave, acute–grave–acute .. U(0x1DC4) .. U(0x1DC5) .. U(0x1DC6) .. U(0x1DC7) .. U(0x1DC8) .. U(0x1DC9) data["tones"] = '˥˦˧˨˩꜒꜓꜔꜕꜖꜈꜉꜊꜋꜌꜍꜎꜏꜐꜑¹²³⁴⁵⁶⁷⁸⁹⁰' data["vowels"] = 'iyɨʉɯuɪʏʊeøɘɵɤoəɚɛœɜɝɞʌɔæɐaɶɑɒäëïöüÿ' data["superscripts"] = '¹²³⁴⁵⁶⁷⁸⁹⁰ᵝʰʱʲʳʴʵʶʷʸ˞ˠˡˢꟹᶣᶬᶮᶯᶰᶹˀˤⁿᵇᵈᶢ' data["valid"] = U(0xA0) .. ' %(%)%%{%|%}%-~⁓.◌abcdefhijklmnopqrstuvwxyz¡àáâãāăēäæçèéêëĕěħìíîïĩīĭĺḿǹńňðòóôõöōŏőœøŕùúûüũūŭűýÿŷŋ' .. 'ǀǁǂǃǎǐǒǔřǖǘǚǜǟǣǽǿȁȅȉȍȕȫȭȳɐɑɒɓɔɕɖɗɘəɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɪɫɬɭɮɯɰɱɲɳɴɵɶɸɹɺɻɽɾʀʁʂʃʄʈʉʊʋṽʌʍʎʏʐʑʒʔʕʘʙʛʜʝʟʡʢʬʭ⁻' .. 'ʼˈˌːˑˣ˔˕ˬ͗˭ˇ˖β͜θχᴙᵄᵊᵏᵐᵑᶑ᷽ḁḛḭḯṍṏṳṵṹṻạẹẽịọụỳỵỹ‖․‥…‼‿↑↓↗↘ⱱꜛꜜꟸ𝆏𝆑˗' .. data.diacritics .. data.tones .. data.superscripts -- Characters to add VARIATION SELECTOR-15 (U+FE0E) after. -- These are characters with emoji variants that are used by default by some clients. -- Adding VS15 after them instructs them to draw the characters as text instead. data["add_vs15"] = "‼↗↘" data["suggestions"] = { ["g"] = "ɡ", ["'"] = "ˈ", [""] = "", [":"] = "ː", ["ˁ"] = "ˤ", ["ǝ"] = "ə", ["ә"] = "ə", -- Syllabic fricatives ["ɿ"] = "z̩", ["ʅ"] = "ʐ̩", ["ʮ"] = "z̩ʷ", ["ʯ"] = "ʐ̩ʷ", ["Ɂ"] = "ʔ", -- Deprecated symbols ["ɩ"] = "ɪ", ["ɷ"] = "ʊ", ["ᴜ"] = "ʊ", ["ʣ"] = "d͡z", ["ʤ"] = "d͡ʒ", ["ʥ"] = "d͡ʑ", ["ʦ"] = "t͡s", ["ʧ"] = "t͡ʃ", ["ʨ"] = "t͡ɕ", ["ʪ"] = "ɬ͡s", ["ʫ"] = "ɮ͡z", -- Greek letters ["α"] = "ɑ", ["γ"] = "ɣ", ["δ"] = "ð", ["ε"] = "ɛ", ["η"] = "ŋ", ["ι"] = "ɪ", ["λ"] = "ʎ", ["υ"] = "ʋ", ["ϕ"] = "ɸ", } return data l6c8uo6m5gekbgfrnfm2rgm0oimzcpv Tempolete:anagrams 10 2961 8273 2022-07-21T18:47:47Z Rebel Agent 2678 Ke dirile tempolete 8273 wikitext text/x-wiki {{#invoke:anagrams|show}}<noinclude>{{documentation}}</noinclude> kg1a16fgo89h5sdb2yvhvikoic4a4nt Module:anagrams 828 2962 8274 2022-07-21T18:50:10Z Rebel Agent 2678 Ke dirile module 8274 Scribunto text/plain local m_languages = require("Module:languages") local m_links = require("Module:links") local export = {} function export.show(frame) local params = { [1] = {required = true, default = "und"}, [2] = {required = true, default = "anagram", list = true}, ["a"] = {required = false}, } local args = require("Module:parameters").process(frame:getParent().args, params) local lang = m_languages.getByCode(args[1], 1) for i, val in ipairs(args[2]) do args[2][i] = m_links.full_link({lang = lang, term = val}) end local result = table.concat(args[2], ", ") return result end return export 4pvv0g03a2puivhmifj4zefgo5v2cny Tempolete:en-proper noun 10 2963 8275 2022-07-21T18:53:23Z Rebel Agent 2678 Ke dirile tempolete 8275 wikitext text/x-wiki {{#invoke:en-headword|show|proper nouns}}<!-- -->{{#ifeq:{{{given}}}|yes<!-- -->|<!-- -->{{catlangname|en|given names}}<!-- -->|<!-- -->{{#ifeq:{{{surname}}}|yes<!-- -->|<!-- -->{{catlangname|en|surnames}}<!-- -->}}<!-- -->}}<!-- --><noinclude>{{documentation}}</noinclude> nz68p4h0poh457bydz0cteiv3orvkgd Module:en-headword 828 2964 8276 2022-07-21T18:57:05Z Rebel Agent 2678 Ke dirile module 8276 Scribunto text/plain local export = {} local pos_functions = {} local lang = require("Module:languages").getByCode("en") local PAGENAME = mw.title.getCurrentTitle().text local function glossary_link(entry, text) text = text or entry return "[[Appendix:Glossary#" .. entry .. "|" .. text .. "]]" end local function track(page) require("Module:debug").track("en-headword/" .. page) return true end -- The main entry point. -- This is the only function that can be invoked from a template. function export.show(frame) local poscat = frame.args[1] or error("Part of speech has not been specified. Please pass parameter 1 to the module invocation.") local params = { ["head"] = {list = true}, ["suff"] = {type = "boolean"}, ["sort"] = {}, } local pos_data = pos_functions[poscat] if pos_data then for key, val in pairs(pos_data.params) do params[key] = val end end local args, unknown_args = require("Module:parameters").process(frame:getParent().args, params, pos_data.return_unknown) if unknown_args and next(unknown_args) then track("unknown args") track("unknown args/POS/" .. tostring(poscat)) for parameter, value in pairs(unknown_args) do track("unknown args/param/" .. tostring(parameter)) mw.log("unknown parameter in [[Module:headword]]: |" .. tostring(parameter) .. "=" .. tostring(value)) end end local data = {lang = lang, pos_category = poscat, categories = {}, heads = args["head"], inflections = {}} if #data.heads == 0 and args.pagename then table.insert(data.heads, args.pagename) end if args["suff"] then data.pos_category = "suffixes" if poscat == "adjectives" or poscat == "adverbs" or poscat == "nouns" or poscat == "verbs" then table.insert(data.categories, ("%s %s-forming suffixes") :format(lang:getCanonicalName(), poscat:gsub("s$", ""))) else error("No category exists for suffixes forming " .. poscat .. ".") end end if pos_data then pos_data.func(args, data) end local extra_categories = {} if PAGENAME:find("[Qq][^Uu]") or PAGENAME:find("[Qq]$") then table.insert(data.categories, lang:getCanonicalName() .. " words containing Q not followed by U") end if PAGENAME:find("([A-Za-z])%1%1") then table.insert(data.categories, lang:getCanonicalName() .. " words containing three consecutive instances of the same letter") end if PAGENAME:find("([A-Za-z])%1%1%1") then table.insert(data.categories, lang:getCanonicalName() .. " words containing four consecutive instances of the same letter") end -- mw.ustring.toNFD performs decomposition, so letters that decompose -- to an ASCII vowel and a diacritic, such as é, are counted as vowels and -- do not need to be included in the pattern. if not mw.ustring.find(mw.ustring.lower(mw.ustring.toNFD(PAGENAME)), "[aeiouyæœø]") then table.insert(data.categories, lang:getCanonicalName() .. " words without vowels") end if PAGENAME:find("yre$") then table.insert(data.categories, lang:getCanonicalName() .. ' words ending in "-yre"') end if not PAGENAME:find(" ") and mw.ustring.len(PAGENAME) >= 25 then table.insert(extra_categories, "Long " .. lang:getCanonicalName() .. ' words') end if PAGENAME:find("^[^aeiou ]*a[^aeiou ]*e[^aeiou ]*i[^aeiou ]*o[^aeiou ]*u[^aeiou ]*$") then table.insert(data.categories, lang:getCanonicalName() .. ' words that use all vowels in alphabetical order') end data.sort_key = args.sort return require("Module:headword").full_headword(data) .. (#extra_categories > 0 and require("Module:utilities").format_categories(extra_categories, lang, args.sort) or "") end -- This function does the common work between adjectives and adverbs function make_comparatives(params, data) local comp_parts = {label = glossary_link("comparative"), accel = {form = "comparative"}} local sup_parts = {label = glossary_link("superlative"), accel = {form = "superlative"}} if #params == 0 then table.insert(params, {"more"}) end -- To form the stem, replace -(e)y with -i and remove a final -e. local stem = PAGENAME:gsub("([^aeiou])e?y$", "%1i"):gsub("e$", "") -- Go over each parameter given and create a comparative and superlative form for i, val in ipairs(params) do local comp = val[1] local comp_qual = val[2] local sup = val[3] local sup_qual = val[4] local comp_part, sup_part if comp == "more" and PAGENAME ~= "many" and PAGENAME ~= "much" then comp_part = "[[more]] " .. PAGENAME sup_part = "[[most]] " .. PAGENAME elseif comp == "further" and PAGENAME ~= "far" then comp_part = "[[further]] " .. PAGENAME sup_part = "[[furthest]] " .. PAGENAME elseif comp == "er" then comp_part = stem .. "er" sup_part = stem .. "est" elseif comp == "-" or sup == "-" then -- Allowing '-' makes it more flexible to not have some forms if comp ~= "-" then comp_part = comp end if sup ~= "-" then sup_part = sup end else -- If the full comparative was given, but no superlative, then -- create it by replacing the ending -er with -est. if not sup then if comp:find("er$") then sup = comp:gsub("er$", "est") else error("The superlative of \"" .. comp .. "\" cannot be generated automatically. Please provide it with the \"sup" .. (i == 1 and "" or i) .. "=\" parameter.") end end comp_part = comp sup_part = sup end if comp_part then table.insert(comp_parts, {term = comp_part, qualifiers = {comp_qual}}) end if sup_part then table.insert(sup_parts, {term = sup_part, qualifiers = {sup_qual}}) end end table.insert(data.inflections, comp_parts) table.insert(data.inflections, sup_parts) end pos_functions["adjectives"] = { params = { [1] = {list = true, allow_holes = true}, ["comp_qual"] = {list = "comp=_qual", allow_holes = true}, ["sup"] = {list = true, allow_holes = true}, ["sup_qual"] = {list = "sup=_qual", allow_holes = true}, }, func = function(args, data) local shift = 0 local is_not_comparable = false local is_comparative_only = false -- If the first parameter is ?, then don't show anything, just return. if args[1][1] == "?" then return -- If the first parameter is -, then move all parameters up one position. elseif args[1][1] == "-" then shift = 1 is_not_comparable = true -- If the only argument is +, then remember this and clear parameters elseif args[1][1] == "+" and args[1].maxindex == 1 then shift = 1 is_comparative_only = true end -- Gather all the comparative and superlative parameters. local params = {} for i = 1, args[1].maxindex - shift do local comp = args[1][i + shift] local comp_qual = args["comp_qual"][i + shift] local sup = args["sup"][i] local sup_qual = args["sup_qual"][i + shift] if comp or sup then table.insert(params, {comp, comp_qual, sup, sup_qual}) end end if shift == 1 then -- If the first parameter is "-" but there are no parameters, -- then show "not comparable" only and return. -- If there are parameters, then show "not generally comparable" -- before the forms. if #params == 0 then if is_not_comparable then table.insert(data.inflections, {label = "not " .. glossary_link("comparable")}) table.insert(data.categories, lang:getCanonicalName() .. " uncomparable adjectives") return end if is_comparative_only then table.insert(data.inflections, {label = glossary_link("comparative") .. " form only"}) table.insert(data.categories, lang:getCanonicalName() .. " comparative-only adjectives") return end else table.insert(data.inflections, {label = "not generally " .. glossary_link("comparable")}) end end -- Process the parameters make_comparatives(params, data) end } pos_functions["adverbs"] = { params = { [1] = {list = true, allow_holes = true}, ["comp_qual"] = {list = "comp=_qual", allow_holes = true}, ["sup"] = {list = true, allow_holes = true}, ["sup_qual"] = {list = "sup=_qual", allow_holes = true}, }, func = function(args, data) local shift = 0 -- If the first parameter is ?, then don't show anything, just return. if args[1][1] == "?" then return -- If the first parameter is -, then move all parameters up one position. elseif args[1][1] == "-" then shift = 1 end -- Gather all the comparative and superlative parameters. local params = {} for i = 1, args[1].maxindex - shift do local comp = args[1][i + shift] local comp_qual = args["comp_qual"][i + shift] local sup = args["sup"][i] local sup_qual = args["sup_qual"][i + shift] if comp or sup then table.insert(params, {comp, comp_qual, sup, sup_qual}) end end if shift == 1 then -- If the first parameter is "-" but there are no parameters, -- then show "not comparable" only and return. If there are parameters, -- then show "not generally comparable" before the forms. if #params == 0 then table.insert(data.inflections, {label = "not " .. glossary_link("comparable")}) table.insert(data.categories, lang:getCanonicalName() .. " uncomparable adverbs") return else table.insert(data.inflections, {label = "not generally " .. glossary_link("comparable")}) end end -- Process the parameters make_comparatives(params, data) end } pos_functions["conjunctions"] = { params = { [1] = { alias_of = "head" }, }, return_unknown = true, func = function (args, data) end, } pos_functions["interjections"] = { params = { [1] = { alias_of = "head" }, }, return_unknown = true, func = function (args, data) end, } local function default_plural(noun) local new_pl if noun:find("[sxz]$") or noun:find("[cs]h$") then new_pl = noun .. "es" elseif noun:find("[^aeiou]y$") then new_pl = noun:gsub("y$", "i") .. "es" else new_pl = noun .. "s" end return new_pl end local function canonicalize_plural(pl, stem) if pl == "s" then return stem .. "s" elseif pl == "es" then return stem .. "es" elseif pl == "+" then return default_plural(PAGENAME) else return nil end end pos_functions["nouns"] = { params = { [1] = {list = true, allow_holes = true}, ["pl=qual"] = { list = true, allow_holes = true }, }, func = function(args, data) -- Gather all the plural parameters from the numbered parameters. local plurals = {} for i = 1, args[1].maxindex do local pl = args[1][i] if pl then local qual = args["plqual"][i] if qual then table.insert(plurals, {term = pl, qualifiers = {qual}}) else table.insert(plurals, pl) end end end -- Decide what to do next... local mode = nil if plurals[1] == "?" or plurals[1] == "!" or plurals[1] == "-" or plurals[1] == "~" then mode = plurals[1] table.remove(plurals, 1) -- Remove the mode parameter end -- Plural is unknown if mode == "?" then table.insert(data.categories, lang:getCanonicalName() .. " nouns with unknown or uncertain plurals") return -- Plural is not attested elseif mode == "!" then table.insert(data.inflections, {label = "plural not attested"}) table.insert(data.categories, lang:getCanonicalName() .. " nouns with unattested plurals") return -- Uncountable noun; may occasionally have a plural elseif mode == "-" then table.insert(data.categories, lang:getCanonicalName() .. " uncountable nouns") -- If plural forms were given explicitly, then show "usually" if #plurals > 0 then table.insert(data.inflections, {label = "usually " .. glossary_link("uncountable")}) table.insert(data.categories, lang:getCanonicalName() .. " countable nouns") else table.insert(data.inflections, {label = glossary_link("uncountable")}) end -- Mixed countable/uncountable noun, always has a plural elseif mode == "~" then table.insert(data.inflections, {label = glossary_link("countable") .. " and " .. glossary_link("uncountable")}) table.insert(data.categories, lang:getCanonicalName() .. " uncountable nouns") table.insert(data.categories, lang:getCanonicalName() .. " countable nouns") -- If no plural was given, add a default one now if #plurals == 0 then plurals = {default_plural(PAGENAME)} end -- The default, always has a plural else table.insert(data.categories, lang:getCanonicalName() .. " countable nouns") -- If no plural was given, add a default one now if #plurals == 0 then plurals = {default_plural(PAGENAME)} end end -- If there are no plurals to show, return now if #plurals == 0 then return end -- There are plural forms to show, so show them local pl_parts = {label = "plural", accel = {form = "p"}} local function check_ies(pl, stem) local newplural, nummatches = stem:gsub("([^aeiou])y$","%1ies") return nummatches > 0 and pl == newplural end local stem = PAGENAME local irregular = false for i, pl in ipairs(plurals) do local canon_pl = canonicalize_plural(pl, stem) if canon_pl then table.insert(pl_parts, canon_pl) elseif type(pl) == "table" then canon_pl = canonicalize_plural(pl.term, stem) if canon_pl then table.insert(pl_parts, {term=canon_pl, qualifiers=pl.qualifiers}) end end if not canon_pl then table.insert(pl_parts, pl) if type(pl) == "table" then pl = pl.term end if not stem:find(" ") and not (pl == stem .. "s" or pl == stem .. "es" or check_ies(pl, stem)) then irregular = true if pl == stem then table.insert(data.categories, lang:getCanonicalName() .. " indeclinable nouns") end end end end if irregular then table.insert(data.categories, lang:getCanonicalName() .. " nouns with irregular plurals") end table.insert(data.inflections, pl_parts) end } pos_functions["proper nouns"] = { params = { [1] = {list = true}, }, func = function(args, data) local plurals = args[1] -- Decide what to do next... local mode = nil if plurals[1] == "?" or plurals[1] == "!" or plurals[1] == "-" or plurals[1] == "~" then mode = plurals[1] table.remove(plurals, 1) -- Remove the mode parameter end -- Plural is unknown if mode == "?" then table.insert(data.categories, lang:getCanonicalName() .. " proper nouns with unknown or uncertain plurals") return -- Plural is not attested elseif mode == "!" then table.insert(data.inflections, {label = "plural not attested"}) table.insert(data.categories, lang:getCanonicalName() .. " proper nouns with unattested plurals") return -- Uncountable noun; may occasionally have a plural elseif mode == "-" then -- If plural forms were given explicitly, then show "usually" if #plurals > 0 then table.insert(data.inflections, {label = "usually " .. glossary_link("uncountable")}) table.insert(data.categories, lang:getCanonicalName() .. " countable proper nouns") else table.insert(data.inflections, {label = glossary_link("uncountable")}) end -- Mixed countable/uncountable noun, always has a plural elseif mode == "~" then table.insert(data.inflections, {label = glossary_link("countable") .. " and " .. glossary_link("uncountable")}) table.insert(data.categories, lang:getCanonicalName() .. " countable proper nouns") -- If no plural was given, add a default one now if #plurals == 0 then plurals = {"s"} end elseif #plurals > 0 then table.insert(data.categories, lang:getCanonicalName() .. " countable proper nouns") end -- If there are no plurals to show, return now if #plurals == 0 then return end -- There are plural forms to show, so show them local pl_parts = {label = "plural", accel = {form = "p"}} local stem = PAGENAME for i, pl in ipairs(plurals) do if pl == "s" then table.insert(pl_parts, stem .. "s") elseif pl == "es" then table.insert(pl_parts, stem .. "es") else table.insert(pl_parts, pl) end end table.insert(data.inflections, pl_parts) end } local function base_default_verb_forms(verb) local s_form = default_plural(verb) local ing_form, ed_form local vowel = "aeiouáéíóúàèìòùâêîôûäëïöüæœø" local ulvowel = vowel .. "AEIOUÁÉÍÓÚÀÈÌÒÙÂÊÎÔÛÄËÏÖÜÆŒØ" -- (1) Check for C*VC verbs. -- -- flip -> flipping/flipped, strum -> strumming/strummed, nag -> nagging/nagged, etc. -- Do not include words with final -y, e.g. 'stay' (staying/stayed), 'toy' (toying/toyed), -- or with final -w, e.g. 'flow' (flowing/flowed), or with final -h, e.g. 'ah' (ahing/ahed), -- or with final -x, e.g. 'box' (boxing/boxed), or ending in an uppercase consonant, -- e.g. 'XOR' (XORing/XORed), 'OK' (OKing/OKed). Check specially for initial y- as a consonant, -- e.g. 'yip' (yipping/yipped), otherwise treat y as a vowel, so we don't trigger on 'hyphen' -- but do trigger on 'gyp'. local last_cons = mw.ustring.match(verb, "^[Yy][" .. vowel .. "y]([^A-Z" .. vowel .. "ywxh])$") if not last_cons then last_cons = mw.ustring.match(verb, "^[^" .. ulvowel .. "yY]*[" .. ulvowel .. "yY]([^A-Z" .. vowel .. "ywxh])$") end if last_cons then ing_form = verb .. last_cons .. "ing" ed_form = verb .. last_cons .. "ed" else -- (2) Generate -ing form. -- (2a) lie -> lying, untie -> untying, etc. local stem = verb:match("^(.*)ie$") if stem then ing_form = stem .. "ying" else -- (2b) argue -> arguing, sprue -> spruing, dialogue -> dialoguing, etc. stem = verb:match("^(.*)ue$") if stem then ing_form = stem .. "uing" else stem = mw.ustring.match(verb, "^(.*[" .. ulvowel .. "yY][^" .. vowel .. "y]+)e$") if stem then -- (2c) baptize -> baptizing, rake -> raking, type -> typing, parse -> parsing, etc. -- (ending in vowel + consonant(s) + -e); but not referee -> refereeing, -- backhoe -> backhoeing, redye -> redyeing (ending in some other vowel + -e or in -ye); -- and not be -> being (no vowel before the consonant preceding the -e) ing_form = stem .. "ing" else -- (2d) regular verbs ing_form = verb .. "ing" end end end -- (3) Generate -ed form. if verb:find("e$") then -- (3a) baptize -> baptized, rake -> raked, parse -> parsed, free -> freed, hoe -> hoed ed_form = verb .. "d" else stem = mw.ustring.match(verb, "^(.*[^" .. ulvowel .. "yY])y$") if stem then -- (3b) marry -> married, levy -> levied, try -> tried, etc.; but not toy -> toyed ed_form = stem .. "ied" else -- (3c) regular verbs ed_form = verb .. "ed" end end end return s_form, ing_form, ed_form end local function default_verb_forms(verb) local full_s_form, full_ing_form, full_ed_form = base_default_verb_forms(verb) if verb:find(" ") then local first, rest = verb:match("^(.-)( .*)$") local first_s_form, first_ing_form, first_ed_form = base_default_verb_forms(first) return full_s_form, full_ing_form, full_ed_form, first_s_form .. rest, first_ing_form .. rest, first_ed_form .. rest else return full_s_form, full_ing_form, full_ed_form, nil, nil, nil end end pos_functions["verbs"] = { params = { [1] = {list = "pres_3sg", allow_holes = true}, ["pres_3sg_qual"] = {list = "pres_3sg=_qual", allow_holes = true}, [2] = {list = "pres_ptc", allow_holes = true}, ["pres_ptc_qual"] = {list = "pres_ptc=_qual", allow_holes = true}, [3] = {list = "past", allow_holes = true}, ["past_qual"] = {list = "past=_qual", allow_holes = true}, [4] = {list = "past_ptc", allow_holes = true}, ["past_ptc_qual"] = {list = "past_ptc=_qual", allow_holes = true}, ["pagename"] = {}, -- for testing }, func = function(args, data) -- Get parameters local par1 = args[1][1] local par2 = args[2][1] local par3 = args[3][1] local par4 = args[4][1] local pres_3sgs, pres_ptcs, pasts, past_ptcs local pagename = args.pagename or PAGENAME ------------------------------------------- UTILITY FUNCTIONS #1 ------------------------------------------ -- These functions are used directly in the <> format as well as in the utility functions #2 below. local function compute_double_last_cons_stem(verb) local last_cons = verb:match("([bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ])$") if not last_cons then error("Verb stem '" .. verb .. "' must end in a consonant to use ++") end return verb .. last_cons end local function compute_plusplus_s_form(verb, default_s_form) if verb:find("[sz]$") then -- regas -> regasses, derez -> derezzes return compute_double_last_cons_stem(verb) .. "es" else return default_s_form end end ------------------------------------------- UTILITY FUNCTIONS #2 ------------------------------------------ -- These functions are used in both in the separate-parameter format and in the override params such as past_ptc2=. local new_default_s, new_default_ing, new_default_ed, split_default_s, split_default_ing, split_default_ed = default_verb_forms(pagename) local function compute_double_last_cons_stem_of_split_verb(verb, ending) local first, rest = verb:match("^(.-)( .*)$") if not first then error("Verb '" .. verb .. "' must have a space in it to use ++*") end local last_cons = first:match("([bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ])$") if not last_cons then error("First word '" .. first .. "' must end in a consonant to use ++*") end return first .. last_cons .. ending .. rest end local function check_non_nil_star_form(form) if form == nil then error("Verb '" .. pagename .. "' must have a space in it to use * or ++*") end return form end local function sub_tilde(form) if not form then return nil end local retval = form:gsub("~", pagename) -- discard second return value return retval end local function canonicalize_s_form(form) if form == "+" then return new_default_s elseif form == "*" then return check_non_nil_star_form(split_default_s) elseif form == "++" then return compute_plusplus_s_form(pagename, new_default_s) elseif form == "++*" then if pagename:find("^[^ ]*[sz] ") then return compute_double_last_cons_stem_of_split_verb(pagename, "es") else return check_non_nil_star_form(split_default_s) end else return sub_tilde(form) end end local function canonicalize_ing_form(form) if form == "+" then return new_default_ing elseif form == "*" then return check_non_nil_star_form(split_default_ing) elseif form == "++" then return compute_double_last_cons_stem(pagename) .. "ing" elseif form == "++*" then return compute_double_last_cons_stem_of_split_verb(pagename, "ing") else return sub_tilde(form) end end local function canonicalize_ed_form(form) if form == "+" then return new_default_ed elseif form == "*" then return check_non_nil_star_form(split_default_ed) elseif form == "++" then return compute_double_last_cons_stem(pagename) .. "ed" elseif form == "++*" then return compute_double_last_cons_stem_of_split_verb(pagename, "ed") else return sub_tilde(form) end end --------------------------------- MAIN PARSING/CONJUGATING CODE -------------------------------- local past_ptcs_given if par1 and par1:find("<") then -------------------------- ANGLE-BRACKET FORMAT -------------------------- if par2 or par3 or par4 then error("Can't specify 2=, 3= or 4= when 1= contains angle brackets: " .. par1) end -- In the angle bracket format, we always copy the full past tense specs to the past participle -- specs if none of the latter are given, so act as if the past participle is always given. -- There is a separate check to see if the past tense and past participle are identical, in any case. past_ptcs_given = true local iut = require("Module:inflection utilities") -- (1) Parse the indicator specs inside of angle brackets. local function parse_indicator_spec(angle_bracket_spec) local inside = angle_bracket_spec:match("^<(.*)>$") assert(inside) local segments = iut.parse_balanced_segment_run(inside, "[", "]") local comma_separated_groups = iut.split_alternating_runs(segments, ",") if #comma_separated_groups > 4 then error("Too many comma-separated parts in indicator spec: " .. angle_bracket_spec) end local function fetch_qualifiers(separated_group) local qualifiers for j = 2, #separated_group - 1, 2 do if separated_group[j + 1] ~= "" then error("Extraneous text after bracketed qualifiers: '" .. table.concat(separated_group) .. "'") end if not qualifiers then qualifiers = {} end table.insert(qualifiers, separated_group[j]) end return qualifiers end local function fetch_specs(comma_separated_group) if not comma_separated_group then return {{}} end local specs = {} local colon_separated_groups = iut.split_alternating_runs(comma_separated_group, ":") for _, colon_separated_group in ipairs(colon_separated_groups) do local form = colon_separated_group[1] if form == "*" or form == "++*" then error("* and ++* not allowed inside of indicator specs: " .. angle_bracket_spec) end if form == "" then form = nil end table.insert(specs, {form = form, qualifiers = fetch_qualifiers(colon_separated_group)}) end return specs end local s_specs = fetch_specs(comma_separated_groups[1]) local ing_specs = fetch_specs(comma_separated_groups[2]) local ed_specs = fetch_specs(comma_separated_groups[3]) local en_specs = fetch_specs(comma_separated_groups[4]) for _, spec in ipairs(s_specs) do if spec.form == "++" and #ing_specs == 1 and not ing_specs[1].form and not ing_specs[1].qualifiers and #ed_specs == 1 and not ed_specs[1].form and not ed_specs[1].qualifiers then ing_specs[1].form = "++" ed_specs[1].form = "++" break end end return { forms = {}, s_specs = s_specs, ing_specs = ing_specs, ed_specs = ed_specs, en_specs = en_specs, } end local parse_props = { parse_indicator_spec = parse_indicator_spec, } local alternant_multiword_spec = iut.parse_inflected_text(par1, parse_props) -- (2) Remove any links from the lemma, but remember the original form -- so we can use it below in the 'lemma_linked' form. iut.map_word_specs(alternant_multiword_spec, function(base) if base.lemma == "" then base.lemma = pagename end base.orig_lemma = base.lemma base.lemma = require("Module:links").remove_links(base.lemma) end) -- (3) Conjugate the verbs according to the indicator specs parsed above. local all_verb_slots = { lemma = "infinitive", lemma_linked = "infinitive", s_form = "3|s|pres", ing_form = "pres|ptcp", ed_form = "past", en_form = "past|ptcp", } local function conjugate_verb(base) local def_s_form, def_ing_form, def_ed_form = base_default_verb_forms(base.lemma) local function process_specs(slot, specs, default_form, canonicalize_plusplus) for _, spec in ipairs(specs) do local form = spec.form if not form or form == "+" then form = default_form elseif form == "++" then form = canonicalize_plusplus() end -- If there's a ~ in the form, substitute it with the lemma, -- but make sure to first replace % in the lemma with %% so that -- it doesn't get interpreted as a capture replace expression. if form:find("~") then -- Assign to a var because gsub returns multiple values. local subbed_lemma = base.lemma:gsub("%%", "%%%%") form = form:gsub("~", subbed_lemma) end -- If the form is -, don't insert any forms, which will result -- in there being no overall forms (in fact it will be nil). -- We check for that down below and substitute a single "-" as -- the form, which in turn gets turned into special labels like -- "no present participle". if form ~= "-" then iut.insert_form(base.forms, slot, {form = form, footnotes = spec.qualifiers}) end end end process_specs("s_form", base.s_specs, def_s_form, function() return compute_plusplus_s_form(base.lemma, def_s_form) end) process_specs("ing_form", base.ing_specs, def_ing_form, function() return compute_double_last_cons_stem(base.lemma) .. "ing" end) process_specs("ed_form", base.ed_specs, def_ed_form, function() return compute_double_last_cons_stem(base.lemma) .. "ed" end) -- If the -en spec is completely missing, substitute the -ed spec in its entirely. -- Otherwise, if individual -en forms are missing or use +, we will substitute the -- default -ed form, as with the -ed spec. local en_specs = base.en_specs if #en_specs == 1 and not en_specs[1].form and not en_specs[1].qualifiers then en_specs = base.ed_specs end process_specs("en_form", en_specs, def_ed_form, function() return compute_double_last_cons_stem(base.lemma) .. "ed" end) iut.insert_form(base.forms, "lemma", {form = base.lemma}) -- Add linked version of lemma for use in head=. We write this in a general fashion in case -- there are multiple lemma forms (which isn't possible currently at this level, although it's -- possible overall using the ((...,...)) notation). iut.insert_forms(base.forms, "lemma_linked", iut.map_forms(base.forms.lemma, function(form) if form == base.lemma and base.orig_lemma:find("%[%[") then return base.orig_lemma else return form end end)) end local inflect_props = { slot_table = all_verb_slots, inflect_word_spec = conjugate_verb, } iut.inflect_multiword_or_alternant_multiword_spec(alternant_multiword_spec, inflect_props) -- (4) Fetch the forms and put the conjugated lemmas in data.heads if not explicitly given. local function fetch_forms(slot) local forms = alternant_multiword_spec.forms[slot] -- See above. This should only occur if the user explicitly used - -- for a spec. if not forms or #forms == 0 then forms = {{form = "-"}} end return forms end pres_3sgs = fetch_forms("s_form") pres_ptcs = fetch_forms("ing_form") pasts = fetch_forms("ed_form") past_ptcs = fetch_forms("en_form") -- Use the "linked" form of the lemma as the head if no head= explicitly given. -- If no links in this form and it has multiple words, autolink the individual words. -- The user can override this using head=. if #data.heads == 0 then for _, lemma_obj in ipairs(alternant_multiword_spec.forms.lemma_linked) do local lemma = lemma_obj.form if not lemma:find("%[%[") then local m_headword = require("Module:headword") if m_headword.head_is_multiword(lemma) then lemma = m_headword.add_multiword_links(lemma) end end table.insert(data.heads, lemma) end end else -------------------------- SEPARATE-PARAM FORMAT -------------------------- local pres_3sg, pres_ptc, past if par1 and not par2 and not par3 then -- Use of a single parameter other than "++", "*" or "++*" is now the "legacy" format, -- and no longer supported. if par1 == "es" or par1 == "ies" or par1 == "d" then error("Legacy parameter 1=es/ies/d no longer supported, just use 'en-verb' without params") elseif par1 == "++" or par1 == "*" or par1 == "++*" then pres_3sg = canonicalize_s_form(par1) pres_ptc = canonicalize_ing_form(par1) past = canonicalize_ed_form(par1) else error("Legacy parameter 1=STEM no longer supported, just use 'en-verb' without params") end else if par3 then track("xxx3") elseif par2 then track("xxx2") end end if not pres_3sg or not pres_ptc or not past then -- Either all three should be set above, or none of them. assert(not pres_3sg and not pres_ptc and not past) if par1 then pres_3sg = canonicalize_s_form(par1) else pres_3sg = new_default_s end if par2 then pres_ptc = canonicalize_ing_form(par2) else pres_ptc = new_default_ing end if par3 then past = canonicalize_ed_form(par3) else past = new_default_ed end end if par4 then past_ptcs_given = true past_ptc = canonicalize_ed_form(par4) else past_ptc = past end pres_3sgs = {{form = pres_3sg}} pres_ptcs = {{form = pres_ptc}} pasts = {{form = past}} past_ptcs = {{form = past_ptc}} end ------------------------------------------- HANDLE OVERRIDES ------------------------------------------ local pres_3sg_infls, pres_ptc_infls, past_infls, past_ptc_infls local function strip_brackets(qualifiers) if not qualifiers then return nil end local stripped_qualifiers = {} for _, qualifier in ipairs(qualifiers) do local stripped_qualifier = qualifier:match("^%[(.*)%]$") if not stripped_qualifier then error("Internal error: Qualifier should be surrounded by brackets at this stage: " .. qualifier) end table.insert(stripped_qualifiers, stripped_qualifier) end return stripped_qualifiers end local function collect_forms(label, accel_form, defaults, overrides, override_qualifiers, canonicalize) if defaults[1].form == "-" then return {label = "no " .. label} else local into_table = {label = label, accel = {form = accel_form}} local maxindex = math.max(#defaults, overrides.maxindex) local qualifiers = override_qualifiers[1] and {override_qualifiers[1]} or strip_brackets(defaults[1].footnotes) table.insert(into_table, {term = defaults[1].form, qualifiers = qualifiers}) -- Present 3rd singular for i = 2, maxindex do local override_form = canonicalize(overrides[i]) if override_form then -- If there is an override such as past_ptc2=..., only use the qualifier specified -- using an override (past_ptc2_qual=...), if any; it doesn't make sense to combine -- an override form with a qualifier specified inside of angle brackets. table.insert(into_table, {term = override_form, qualifiers = {override_qualifiers[i]}}) elseif defaults[i] then -- If the form comes from inside angle brackets, allow any override qualifier -- (past_ptc2_qual=...) to override any qualifier specified inside of angle brackets. -- FIXME: Maybe we should throw an error here if both exist. local qualifiers = override_qualifiers[i] and {override_qualifiers[i]} or strip_brackets(defaults[i].footnotes) table.insert(into_table, {term = defaults[i].form, qualifiers = qualifiers}) end end return into_table end end local pres_3sg_infls = collect_forms("third-person singular simple present", "3|s|pres", pres_3sgs, args[1], args.pres_3sg_qual, canonicalize_s_form) local pres_ptc_infls = collect_forms("present participle", "pres|ptcp", pres_ptcs, args[2], args.pres_ptc_qual, canonicalize_ing_form) local past_infls = collect_forms("simple past", "past", pasts, args[3], args.past_qual, canonicalize_ed_form) local past_ptc_infls = collect_forms("past participle", "past|ptcp", past_ptcs, args[4], args.past_ptc_qual, canonicalize_ed_form) -- Are the past forms identical to the past participle forms? If so, we use a single -- combined "simple past and past participle" label on the past tense forms. -- We check for two conditions: Either no past participle forms were given at all, or -- they were given but are identical in every way (all forms and qualifiers) to the past -- tense forms. The former "no explicit past participle forms" check is important in the -- "separate-parameter" format; if past tense overrides are given and no past participle -- forms given, the past tense overrides should apply to the past participle as well. -- In the angle-bracket format, it's expected that all forms and qualifiers are specified -- using that format, and we explicitly copy past tense forms and qualifiers to past -- participle ones if the latter are omitted, so we disable to "no explicit past participle -- forms" check. if args[4].maxindex > 0 or args.past_ptc_qual.maxindex > 0 then past_ptcs_given = true end local identical = true -- For the past and past participle to be identical, there must be -- the same number of inflections, and each inflection must match -- in term and qualifiers. if #past_infls ~= #past_ptc_infls then identical = false else for key, val in ipairs(past_infls) do if past_ptc_infls[key].term ~= val.term then identical = false break else local quals1 = past_ptc_infls[key].qualifiers local quals2 = val.qualifiers if (not not quals1) ~= (not not quals2) then -- one is nil, the other is not identical = false elseif quals1 and quals2 then -- qualifiers present in both; each qualifier must match if #quals1 ~= #quals2 then identical = false else for k, v in ipairs(quals1) do if v ~= quals2[k] then identical = false break end end end end if not identical then break end end end end -- Insert the forms table.insert(data.inflections, pres_3sg_infls) table.insert(data.inflections, pres_ptc_infls) if not past_ptcs_given or identical then if past_ptcs[1].form == "-" then past_infls.label = "no simple past or past participle" else past_infls.label = "simple past and past participle" past_infls.accel = {form = "past|and|past|ptcp"} end table.insert(data.inflections, past_infls) else table.insert(data.inflections, past_infls) table.insert(data.inflections, past_ptc_infls) end end } return export 6dsxm87ymuyut1g18bydur83dkkd2ec Module:headword 828 2965 8277 2022-07-21T19:00:34Z Rebel Agent 2678 Ke dirile module 8277 Scribunto text/plain local export = {} local m_data = mw.loadData("Module:headword/data") local title = mw.title.getCurrentTitle() local isLemma = m_data.lemmas local isNonLemma = m_data.nonlemmas local notranslit = m_data.notranslit local toBeTagged = m_data.toBeTagged -- If set to true, categories always appear, even in non-mainspace pages local test_force_categories = false local function test_script(text, script_code) if type(text) == "string" and type(script_code) == "string" then local sc = require("Module:scripts").getByCode(script_code) local characters if sc then characters = sc:getCharacters() end local out if characters then text = mw.ustring.gsub(text, "%W", "") out = mw.ustring.find(text, "[" .. characters .. "]") end if out then return true else return false end else mw.log("Parameters to test_script were incorrect.") return nil end end local spacingPunctuation = "[%s%p]+" --[[ List of punctuation or spacing characters that are found inside of words. Used to exclude characters from the regex above. ]] local wordPunc = "-־׳״'.·*’་•" local notWordPunc = "[^" .. wordPunc .. "]+" -- Return true if the given head is multiword according to the algorithm used -- in full_headword(). function export.head_is_multiword(head) for possibleWordBreak in mw.ustring.gmatch(head, spacingPunctuation) do if mw.ustring.find(possibleWordBreak, notWordPunc) then return true end end return false end -- Add links to a multiword head. function export.add_multiword_links(head) local function workaround_to_exclude_chars(s) return mw.ustring.gsub(s, notWordPunc, "]]%1[[") end head = "[[" .. mw.ustring.gsub( head, spacingPunctuation, workaround_to_exclude_chars ) .. "]]" --[=[ use this when workaround is no longer needed: head = "[[" .. mw.ustring.gsub(head, WORDBREAKCHARS, "]]%1[[") .. "]]" Remove any empty links, which could have been created above at the beginning or end of the string. ]=] head = mw.ustring.gsub(head, "%[%[%]%]", "") return head end local function non_categorizable() return (title:inNamespace("") and title.text:find("^Unsupported titles/")) or (title:inNamespace("Appendix") and title.text:find("^Gestures/")) end local function preprocess(data, postype) --[=[ [[Special:WhatLinksHere/Template:tracking/headword/heads-not-table]] [[Special:WhatLinksHere/Template:tracking/headword/translits-not-table]] ]=] if type(data.heads) ~= "table" then if data.heads then require("Module:debug/track")("headword/heads-not-table") end data.heads = { data.heads } end if type(data.translits) ~= "table" then if data.translits then require("Module:debug/track")("headword/translits-not-table") end data.translits = { data.translits } end if type(data.transcriptions) ~= "table" then if data.transcriptions then require("Module:debug/track")("headword/transcriptions-not-table") end data.transcriptions = { data.transcriptions } end if not data.heads or #data.heads == 0 then data.heads = {""} end -- Determine if term is reconstructed local is_reconstructed = data.lang:getType() == "reconstructed" or title.nsText == "Reconstruction" -- Create a default headword. local subpagename = title.subpageText local pagename = title.text local default_head if is_reconstructed then default_head = require("Module:utilities").plain_gsub(pagename, data.lang:getCanonicalName() .. "/", "") else default_head = subpagename end local unmodified_default_head = default_head -- Add links to multi-word page names when appropriate if data.lang:getCode() ~= "zh" and (not is_reconstructed) and export.head_is_multiword(default_head) then default_head = export.add_multiword_links(default_head) end if is_reconstructed then default_head = "*" .. default_head end -- If a head is the empty string "", then replace it with the default for i, head in ipairs(data.heads) do if head == "" then head = default_head else if head == default_head and data.lang:getCanonicalName() == "English" then table.insert(data.categories, data.lang:getCanonicalName() .. " terms with redundant head parameter") end end data.heads[i] = head end -- If the first head is multiword (after removing links), maybe insert into "LANG multiword terms" if not data.nomultiwordcat and postype == "lemma" and not m_data.no_multiword_cat[data.lang:getCode()] then -- Check for spaces or hyphens, but exclude prefixes and suffixes. -- Use the pagename, not the head= value, because the latter may have extra -- junk in it, e.g. superscripted text that throws off the algorithm. local checkpattern = ".[%s%-፡]." if m_data.hyphen_not_multiword_sep[data.lang:getCode()] then -- Exclude hyphens if the data module states that they should for this language checkpattern = ".[%s፡]." end if mw.ustring.find(unmodified_default_head, checkpattern) and not non_categorizable() then table.insert(data.categories, data.lang:getCanonicalName() .. " multiword terms") end end --[[ Try to detect the script if it was not provided We use the first headword for this, and assume that all of them have the same script This *should* always be true, right? ]] if not data.sc then data.sc = require("Module:scripts").findBestScript(data.heads[1], data.lang) end for i, val in pairs(data.translits) do data.translits[i] = {display = val, is_manual = true} end -- Make transliterations for i, head in ipairs(data.heads) do local translit = data.translits[i] -- Try to generate a transliteration if necessary -- Generate it if the script is not Latn or similar, and if no transliteration was provided if translit and translit.display == "-" then translit = nil elseif not translit and not (data.sc:getCode():find("Latn", nil, true) or data.sc:getCode() == "Latinx" or data.sc:getCode() == "None") and (not data.sc or data.sc:getCode() ~= "Imag") then translit = data.lang:transliterate(require("Module:links").remove_links(head), data.sc) -- There is still no transliteration? -- Add the entry to a cleanup category. if not translit and not notranslit[data.lang:getCode()] then translit = "<small>transliteration needed</small>" table.insert(data.categories, "Requests for transliteration of " .. data.lang:getCanonicalName() .. " terms") end if translit then translit = {display = translit, is_manual = false} end end -- Link to the transliteration entry for languages that require this if translit and data.lang:link_tr() then translit.display = require("Module:links").full_link{ term = translit.display, lang = data.lang, sc = require("Module:scripts").getByCode("Latn"), tr = "-" } end data.translits[i] = translit end if data.id and type(data.id) ~= "string" then error("The id in the data table should be a string.") end end -- Format a headword with transliterations local function format_headword(data) local m_scriptutils = require("Module:script utilities") -- Are there non-empty transliterations? -- Need to do it this way because translit[1] might be nil while translit[2] is not local has_translits = false local has_manual_translits = false -- Format the headwords for i, head in ipairs(data.heads) do if data.translits[i] or data.transcriptions[i] then has_translits = true end if data.translits[i] and data.translits[i].is_manual or data.transcriptions[i] then has_manual_translits = true end -- Apply processing to the headword, for formatting links and such if head:find("[[", nil, true) and (not data.sc or data.sc:getCode() ~= "Imag") then head = require("Module:links").language_link({term = head, lang = data.lang}, false) end -- Add language and script wrapper if i == 1 then head = m_scriptutils.tag_text(head, data.lang, data.sc, "head", nil, data.id) else head = m_scriptutils.tag_text(head, data.lang, data.sc, "head", nil) end data.heads[i] = head end local translits_formatted = "" if has_manual_translits then -- [[Special:WhatLinksHere/Template:tracking/headword/has-manual-translit/LANG]] require("Module:debug/track")("headword/has-manual-translit/" .. data.lang:getCode()) end if has_translits then -- Format the transliterations local translits = data.translits local transcriptions = data.transcriptions if translits then -- using pairs() instead of ipairs() in case there is a gap for i, _ in pairs(translits) do if type(i) == "number" then translits[i] = m_scriptutils.tag_translit(translits[i].display, data.lang:getCode(), "head", nil, translits[i].is_manual) end end end if transcriptions then for i, _ in pairs(transcriptions) do if type(i) == "number" then transcriptions[i] = m_scriptutils.tag_transcription(transcriptions[i], data.lang:getCode(), "head") end end end for i = 1, math.max(#translits, #transcriptions) do local translits_formatted = {} table.insert(translits_formatted, translits[i] and translits[i] or "") table.insert(translits_formatted, (translits[i] and transcriptions[i]) and " " or "") table.insert(translits_formatted, transcriptions[i] and "/" .. transcriptions[i] .. "/" or "") data.translits[i] = table.concat(translits_formatted) end translits_formatted = " (" .. table.concat(data.translits, " <i>or</i> ") .. ")" local transliteration_page = mw.title.new(data.lang:getCanonicalName() .. " transliteration", "Wiktionary") if transliteration_page then local success, exists = pcall(function () return transliteration_page.exists end) if success and exists then translits_formatted = " [[Wiktionary:" .. data.lang:getCanonicalName() .. " transliteration|•]]" .. translits_formatted end end end return table.concat(data.heads, " <i>or</i> ") .. translits_formatted end local function format_genders(data) if data.genders and #data.genders > 0 then local pos_for_cat if not data.nogendercat and not m_data.no_gender_cat[data.lang:getCode()] then local pos_category = data.pos_category:gsub("^reconstructed ", "") pos_for_cat = m_data.pos_for_gender_number_cat[pos_category] end local text, cats = require("Module:gender and number").format_genders(data.genders, data.lang, pos_for_cat) for _, cat in ipairs(cats) do table.insert(data.categories, cat) end return "&nbsp;" .. text else return "" end end local function format_inflection_parts(data, parts) for key, part in ipairs(parts) do if type(part) ~= "table" then part = {term = part} end local qualifiers local reftext if part.qualifiers and #part.qualifiers > 0 then qualifiers = require("Module:qualifier").format_qualifier(part.qualifiers) .. " " -- [[Special:WhatLinksHere/Template:tracking/headword/qualifier]] require("Module:debug/track")("headword/qualifier") end if part.refs and #part.refs > 0 then local refs = {} for _, ref in ipairs(part.refs) do if type(ref) ~= "table" then ref = {text = ref} end local refargs if ref.name or ref.group then refargs = {name = ref.name, group = ref.group} end table.insert(refs, mw.getCurrentFrame():extensionTag("ref", ref.text, refargs)) end reftext = table.concat(refs) end local partaccel = part.accel local face = part.hypothetical and "hypothetical" or "bold" local nolink = part.hypothetical or part.nolink if part.label then -- There should be a better way of italicizing a label. As is, this isn't customizable. part = "<i>" .. part.label .. "</i>" else -- Convert the term into a full link -- Don't show a transliteration here, the consensus seems to be not to -- show them in headword lines to avoid clutter. part = require("Module:links").full_link( { term = not nolink and part.term or nil, alt = part.alt or (nolink and part.term or nil), lang = part.lang or data.lang, sc = part.sc or parts.sc or (not part.lang and data.sc), id = part.id, genders = part.genders, tr = part.translit or (not (parts.enable_auto_translit or data.inflections.enable_auto_translit) and "-" or nil), ts = part.transcription, accel = parts.accel or partaccel, }, face, false ) end if qualifiers then part = qualifiers .. part end if reftext then part = part .. reftext end parts[key] = part end local parts_output = "" if #parts > 0 then parts_output = " " .. table.concat(parts, " <i>or</i> ") elseif parts.request then parts_output = " <small>[please provide]</small>" .. require("Module:utilities/format_categories")( {"Requests for inflections in " .. data.lang:getCanonicalName() .. " entries"}, lang, nil, nil, data.force_cat_output or test_force_categories, data.sc ) end return "<i>" .. parts.label .. "</i>" .. parts_output end -- Format the inflections following the headword local function format_inflections(data) if data.inflections and #data.inflections > 0 then -- Format each inflection individually for key, infl in ipairs(data.inflections) do data.inflections[key] = format_inflection_parts(data, infl) end return " (" .. table.concat(data.inflections, ", ") .. ")" else return "" end end -- Return "lemma" if the given POS is a lemma, "non-lemma form" if a non-lemma form, or nil -- if unknown. The POS passed in must be in its plural form ("nouns", "prefixes", etc.). -- If you have a POS in its singular form, call pluralize() in [[Module:string utilities]] to -- pluralize it in a smart fashion that knows when to add '-s' and when to add '-es'. -- -- If `best_guess` is given and the POS is in neither the lemma nor non-lemma list, guess -- based on whether it ends in " forms"; otherwise, return nil. function export.pos_lemma_or_nonlemma(plpos, best_guess) -- Is it a lemma category? if isLemma[plpos] or isLemma[plpos:gsub("^reconstructed ", "")] then return "lemma" -- Is it a nonlemma category? elseif isNonLemma[plpos] or isNonLemma[plpos:gsub("^reconstructed ", "")] or isLemma[plpos:gsub("^mutated ", "")] or isNonLemma[plpos:gsub("^mutated ", "")] then return "non-lemma form" elseif best_guess then return plpos:find(" forms$") and "non-lemma form" or "lemma" else return nil end end local function show_headword_line(data) local namespace = title.nsText -- Check the namespace against the language type if namespace == "" then if data.lang:getType() == "reconstructed" then error("Entries for this language must be placed in the Reconstruction: namespace.") elseif data.lang:getType() == "appendix-constructed" then error("Entries for this language must be placed in the Appendix: namespace.") end end local tracking_categories = {} if not data.noposcat then local pos_category = data.lang:getCanonicalName() .. " " .. data.pos_category if pos_category ~= "Translingual Han characters" then table.insert(data.categories, 1, pos_category) end end if data.sccat and data.sc then table.insert(data.categories, data.lang:getCanonicalName() .. " " .. data.pos_category .. " in " .. data.sc:getDisplayForm()) end -- Is it a lemma category? local postype = export.pos_lemma_or_nonlemma(data.pos_category) if not postype then -- We don't know what this category is, so tag it with a tracking category. --[=[ [[Special:WhatLinksHere/Template:tracking/headword/unrecognized pos]] ]=] table.insert(tracking_categories, "head tracking/unrecognized pos") require("Module:debug/track"){ "headword/unrecognized pos", "headword/unrecognized pos/lang/" .. data.lang:getCode(), "headword/unrecognized pos/pos/" .. data.pos_category } elseif not data.noposcat then table.insert(data.categories, 1, data.lang:getCanonicalName() .. " " .. postype .. "s") end -- Preprocess preprocess(data, postype) if namespace == "" and data.lang:getType() ~= "reconstructed" then local m_links = require("Module:links") for _, head in ipairs(data.heads) do if title.prefixedText ~= m_links.getLinkPage(m_links.remove_links(head), data.lang) then --[=[ [[Special:WhatLinksHere/Template:tracking/headword/pagename spelling mismatch]] ]=] require("Module:debug/track"){ "headword/pagename spelling mismatch", "headword/pagename spelling mismatch/" .. data.lang:getCode() } break end end end -- Format and return all the gathered information return format_headword(data) .. format_genders(data) .. format_inflections(data) .. require("Module:utilities/format_categories")( tracking_categories, data.lang, data.sort_key, nil, data.force_cat_output or test_force_categories, data.sc ) end function export.full_headword(data) local tracking_categories = {} -- Script-tags the topmost header. local pagename = title.text local fullPagename = title.fullText local namespace = title.nsText if not data.lang or type(data.lang) ~= "table" or not data.lang.getCode then error("In data, the first argument to full_headword, data.lang should be a language object.") end if not data.sc then data.sc = require("Module:scripts").findBestScript(data.heads and data.heads[1] ~= "" and data.heads[1] or pagename, data.lang) else -- Track uses of sc parameter local best = require("Module:scripts").findBestScript(pagename, data.lang) require("Module:debug/track")("headword/sc") if data.sc:getCode() == best:getCode() then require("Module:debug/track")("headword/sc/redundant") require("Module:debug/track")("headword/sc/redundant/" .. data.sc:getCode()) else require("Module:debug/track")("headword/sc/needed") require("Module:debug/track")("headword/sc/needed/" .. data.sc:getCode()) end end local displayTitle -- Assumes that the scripts in "toBeTagged" will never occur in the Reconstruction namespace. -- Avoid tagging ASCII as Hani even when it is tagged as Hani in the -- headword, as in [[check]]. The check for ASCII might need to be expanded -- to a check for any Latin characters and whitespace or punctuation. if (namespace == "" and data.sc and toBeTagged[data.sc:getCode()] and not pagename:find "^[%z\1-\127]+$") or (data.sc:getCode() == "Jpan" and (test_script(pagename, "Hira") or test_script(pagename, "Kana"))) then displayTitle = '<span class="' .. data.sc:getCode() .. '">' .. pagename .. '</span>' elseif namespace == "Reconstruction" then displayTitle, matched = mw.ustring.gsub( fullPagename, "^(Reconstruction:[^/]+/)(.+)$", function(before, term) return before .. require("Module:script utilities").tag_text( term, data.lang, data.sc ) end ) if matched == 0 then displayTitle = nil end end if displayTitle then local frame = mw.getCurrentFrame() frame:callParserFunction( "DISPLAYTITLE", displayTitle ) end if data.force_cat_output then --[=[ [[Special:WhatLinksHere/Template:tracking/headword/force cat output]] ]=] require("Module:debug/track")("headword/force cat output") end if data.getCanonicalName then error('The "data" variable supplied to "full_headword" should not be a language object.') end -- Were any categories specified? if data.categories and #data.categories > 0 then local lang_name = require("Module:string/pattern_escape")(data.lang:getCanonicalName()) for _, cat in ipairs(data.categories) do -- Does the category begin with the language name? If not, tag it with a tracking category. if not mw.ustring.find(cat, "^" .. lang_name) then mw.log(cat, data.lang:getCanonicalName()) table.insert(tracking_categories, "head tracking/no lang category") --[=[ [[Special:WhatLinksHere/Template:tracking/head tracking/no lang category]] ]=] require("Module:debug/track"){ "headword/no lang category", "headword/no lang category/lang/" .. data.lang:getCode() } end end if not data.pos_category and mw.ustring.find(data.categories[1], "^" .. data.lang:getCanonicalName()) then data.pos_category = mw.ustring.gsub(data.categories[1], "^" .. data.lang:getCanonicalName() .. " ", "") table.remove(data.categories, 1) end end if not data.pos_category then error( 'No valid part-of-speech categories were found in the list ' .. 'of categories passed to the function "full_headword". ' .. 'The part-of-speech category should consist of a language\'s ' .. 'canonical name plus a part of speech.' ) end -- Categorise for unusual characters local standard = data.lang:getStandardCharacters() if standard then if mw.ustring.len(title.subpageText) ~= 1 and not non_categorizable() then for character in mw.ustring.gmatch(title.subpageText, "([^" .. standard .. "])") do local upper = mw.ustring.upper(character) if not mw.ustring.find(upper, "[" .. standard .. "]") then character = upper end table.insert( data.categories, data.lang:getCanonicalName() .. " terms spelled with " .. character ) end end end -- Categorise for palindromes if title.nsText ~= "Reconstruction" and mw.ustring.len(title.subpageText)>2 and require('Module:palindromes').is_palindrome( title.subpageText, data.lang, data.sc ) then table.insert(data.categories, data.lang:getCanonicalName() .. " palindromes") end -- This may add more categories (e.g. gender categories), so make sure it gets -- evaluated first. local text = show_headword_line(data) return text .. require("Module:utilities/format_categories")( data.categories, data.lang, data.sort_key, nil, data.force_cat_output or test_force_categories, data.sc ) .. require("Module:utilities/format_categories")( tracking_categories, data.lang, data.sort_key, nil, data.force_cat_output or test_force_categories, data.sc ) end return export 8l8q643q8t9ku2yjo8k2eyfr2scxjw0 Module:headword/data 828 2966 8278 2022-07-21T19:03:33Z Rebel Agent 2678 Ke dirile module 8278 Scribunto text/plain local data = {} data.invariable = { "cmavo", "cmene", "fu'ivla", "gismu", "Han tu", "hanzi", "hanja", "jyutping", "kanji", "lujvo", "phrasebook", "pinyin", "rafsi", "romaji", } data.lemmas = { "abbreviations", "acronyms", "adjectives", "adnominals", "adpositions", "adverbs", "affixes", "ambipositions", "articles", "circumfixes", "circumpositions", "classifiers", "cmavo", "cmavo clusters", "cmene", "combining forms", "conjunctions", "counters", "determiners", "diacritical marks", "equative adjectives", "fu'ivla", "gismu", "Han characters", "Han tu", "hanzi", "hanja", "ideophones", "idioms", "infixes", "interfixes", "initialisms", "interjections", "kanji", "letters", "ligatures", "lujvo", "morphemes", "non-constituents", "nouns", "numbers", "numeral symbols", "numerals", "particles", "phrases", "postpositions", "postpositional phrases", "predicatives", "prefixes", "prepositions", "prepositional phrases", "preverbs", "pronominal adverbs", "pronouns", "proverbs", "proper nouns", "punctuation marks", "relatives", "roots", "stems", "suffixes", "syllables", "symbols", "verbs", } data.nonlemmas = { "active participles", "adjectival participles", "adjective forms", "adjective feminine forms", "adjective plural forms", "adverb forms", "adverbial participles", "agent participles", "article forms", "circumfix forms", "combined forms", "comparative adjective forms", "comparative adjectives", "comparative adverb forms", "comparative adverbs", "contractions", "converbs", "determiner comparative forms", "determiner forms", "determiner superlative forms", "diminutive nouns", "equative adjective forms", "equative adjectives", "future participles", "gerunds", "infinitive forms", "infinitives", "interjection forms", "jyutping", "kanji readings", "misspellings", "negative participles", "nominal participles", "noun case forms", "noun dual forms", "noun forms", "noun paucal forms", "noun plural forms", "noun possessive forms", "noun singulative forms", "numeral forms", "participles", "participle forms", "particle forms", "passive participles", "past active participles", "past participles", "past participle forms", "past passive participles", "perfect active participles", "perfect participles", "perfect passive participles", "pinyin", "plurals", "postposition forms", "prefix forms", "preposition contractions", "preposition forms", "prepositional pronouns", "present active participles", "present participles", "present passive participles", "pronoun forms", "pronoun possessive forms", "proper noun forms", "proper noun plural forms", "rafsi", "romanizations", "root forms", "singulatives", "suffix forms", "superlative adjective forms", "superlative adjectives", "superlative adverb forms", "superlative adverbs", "verb forms", "verbal nouns", } -- These languages will not have "LANG multiword terms" categories added. data.no_multiword_cat = { -------- Languages without spaces between words (sometimes spaces between phrases) -------- "aho", -- Ahom "blt", -- Tai Dam "ja", -- Japanese "khb", -- Lü "km", -- Khmer "lo", -- Lao "mnw", -- Mon "my", -- Burmese "nan", -- Min Nan (some words in Latin script; hyphens between syllables) "nod", -- Northern Thai "ojp", -- Old Japanese "tdd", -- Tai Nüa "th", -- Thai "tts", -- Isan "twh", -- Tai Dón "shn", -- Shan "sou", -- Southern Thai "zh", -- Chinese (all varieties with Chinese characters) -------- Languages with spaces between syllables -------- "ahk", -- Akha "aou", -- A'ou "atb", -- Zaiwa "byk", -- Biao "cdy", -- Chadong --"duu", -- Drung; not sure --"hmx-pro", -- Proto-Hmong-Mien --"hnj", -- Green Hmong; not sure "huq", -- Tsat "ium", -- Iu Mien --"lis", -- Lisu; not sure "mtq", -- Muong --"mww", -- White Hmong; not sure "onb", -- Lingao --"sit-gkh", -- Gokhy; not sure --"swi", -- Sui; not sure "tbq-lol-pro", -- Proto-Loloish "tdh", -- Thulung "ukk", -- Muak Sa-aak "vi", -- Vietnamese "yig", -- Wusa Nasu "zng", -- Mang -------- Languages with ~ with surrounding spaces used to separate variants -------- "mkh-ban-pro", -- Proto-Bahnaric "sit-pro", -- Proto-Sino-Tibetan; listed above -------- Other weirdnesses -------- "mul", -- Translingual; gestures, Morse code, etc. "aot", -- Atong (India); bullet is a letter -------- All sign languages -------- "ads", "aed", "aen", "afg", "ase", "asf", "asp", "asq", "asw", "bfi", "bfk", "bog", "bqn", "bqy", "bvl", "bzs", "cds", "csc", "csd", "cse", "csf", "csg", "csl", "csn", "csq", "csr", "doq", "dse", "dsl", "ecs", "esl", "esn", "eso", "eth", "fcs", "fse", "fsl", "fss", "gds", "gse", "gsg", "gsm", "gss", "gus", "hab", "haf", "hds", "hks", "hos", "hps", "hsh", "hsl", "icl", "iks", "ils", "inl", "ins", "ise", "isg", "isr", "jcs", "jhs", "jls", "jos", "jsl", "jus", "kgi", "kvk", "lbs", "lls", "lsl", "lso", "lsp", "lst", "lsy", "lws", "mdl", "mfs", "mre", "msd", "msr", "mzc", "mzg", "mzy", "nbs", "ncs", "nsi", "nsl", "nsp", "nsr", "nzs", "okl", "pgz", "pks", "prl", "prz", "psc", "psd", "psg", "psl", "pso", "psp", "psr", "pys", "rms", "rsl", "rsm", "sdl", "sfb", "sfs", "sgg", "sgx", "slf", "sls", "sqk", "sqs", "ssp", "ssr", "svk", "swl", "syy", "tse", "tsm", "tsq", "tss", "tsy", "tza", "ugn", "ugy", "ukl", "uks", "vgt", "vsi", "vsl", "vsv", "xki", "xml", "xms", "ygs", "ysl", "zib", "zsl", } -- In these languages, the hyphen is not considered a word separator for the "multiword terms" category. data.hyphen_not_multiword_sep = { "akk", -- Akkadian; hyphens between syllables "akl", -- Aklanon; hyphens for mid-word glottal stops "ber-pro", -- Proto-Berber; morphemes separated by hyphens "ceb", -- Cebuano; hyphens for mid-word glottal stops "cnk", -- Khumi Chin; hyphens used in single words "cpi", -- Chinese Pidgin English; Chinese-derived words with hyphens between syllables "de", -- too many false positives "esx-esk-pro", -- hyphen used to separate morphemes "fi", -- Finnish; hyphen used to separate components in compound words if the final and initial vowels match, respectively "hil", -- Hiligaynon; hyphens for mid-word glottal stops "ilo", -- Ilocano; hyphens for mid-word glottal stops "lcp", -- Western Lawa; dash as syllable joiner "lwl", -- Eastern Lawa; dash as syllable joiner "mkh-vie-pro", -- Proto-Vietic; morphemes separated by hyphens "msb", -- Masbatenyo; too many false positives "tl", -- Tagalog; too many false positives "war", -- Waray-Waray; too many false positives "yo", -- Yoruba; hyphens used to show lengthened nasal vowels } -- These languages will not have "LANG masculine nouns" and similar categories added. data.no_gender_cat = { -- Languages without gender but which use the gender field for other purposes "ja", "th", } data.notranslit = { "ams", "az", "bbc", "bug", "cia", "cjm", "cmn", "hak", "ja", "kzg", "lad", "lzh", "ms", "mul", "mvi", "nan", "oj", "okn", "pi", "ro", "ryn", "rys", "ryu", "sh", "tgt", "th", "tkn", "tly", "txg", "und", "vi", "xug", "yue", "yoi", "yox", "za", "zh", } -- Script codes for which a script-tagged display title will be added. data.toBeTagged = { "Ahom", "Arab", "Avst", "Bali", "Cham", "Copt", "Deva", "Kali", "Hani", "Hebr", "Lana", "Linb", "Mand", "Mong", "polytonic", "Rjng", "Samr", "Sund", "Sylo", "Syrc", "Tang", "Tavt", "Ugar", "Xsux", } for key, list in pairs(data) do data[key] = {} for _, item in ipairs(list) do data[key][item] = true end end -- Parts of speech for which categories like "German masculine nouns" or "Russian imperfective verbs" -- will be generated if the headword is of the appropriate gender/number. We put this at the bottom -- because it's a map, not a list. data.pos_for_gender_number_cat = { ["nouns"] = "nouns", ["proper nouns"] = "nouns", ["suffixes"] = "suffixes", -- We include verbs because impf and pf are valid "genders". ["verbs"] = "verbs", } return data 6pn90w8n5vs655s5g93y40jsgu2oe3b Tempolete:enPR 10 2967 8279 2022-07-21T19:07:33Z Rebel Agent 2678 Ke dile tsebe 8279 wikitext text/x-wiki [[Appendix:English pronunciation|enPR]]: {{enPRchar|{{{1}}}|{{{2|}}}|{{{3|}}}|{{{4|}}}|{{{5|}}}|{{{6|}}}}}<!-- --><noinclude>{{documentation}}</noinclude> 0okn96a7wutprh259r9mis6yqfn86op Tempolete:enPRchar 10 2968 8280 2022-07-21T19:08:37Z Rebel Agent 2678 Ke dirile tempolete 8280 wikitext text/x-wiki <!-- --><span class="AHD enPR">{{{1}}}</span><!-- -->{{#if:{{{2|}}}|, <span class="AHD enPR">{{{2}}}</span>}}<!-- -->{{#if:{{{3|}}}|, <span class="AHD enPR">{{{3}}}</span>}}<!-- -->{{#if:{{{4|}}}|, <span class="AHD enPR">{{{4}}}</span>}}<!-- -->{{#if:{{{5|}}}|, <span class="AHD enPR">{{{5}}}</span>}}<!-- -->{{#if:{{{6|}}}|, <span class="AHD enPR">{{{6}}}</span>}}<!-- --><includeonly>{{#if:{{{1|}}}||[[Category:Pronunciation templates without a pronunciation]]}}</includeonly><!-- --><noinclude>{{documentation}}</noinclude> es26i6n2ayh3jwns222l7799p7yavd5 Tempolete:ethnologue 10 2969 8281 2022-07-21T19:16:19Z Rebel Agent 2678 Ke dirile tempolete 8281 wikitext text/x-wiki [[ethnologue:{{{code|{{{1}}}}}}|Ethnologue entry for {{{lang|{{{2|{{PAGENAME}}}}}}}}]], '''{{{code|{{{1}}}}}}'''<noinclude> {{documentation}} {{rfd}} </noinclude> s50qg4rd4fgn2kj8znszszun1u63ve0 Tempolete:rfd 10 2970 8282 2022-07-21T19:18:06Z Rebel Agent 2678 Ke dirile tempolete 8282 wikitext text/x-wiki {{check deprecated lang param usage|lang={{{lang|}}}|<!-- -->{{maintenance box|red<!-- -->|image={{#if:{{{fail|}}}|[[File:Icon delete.svg|50px]]|[[Image:Crystal Clear filesystem trashcan full.png|60px]]}}<!-- -->|title=<!-- --><span id="rfd-notice-{{{1|}}}-{{{topic|}}}"></span><!-- -->{{#if:{{{fail|}}}<!-- -->|A user has marked this {{<noinclude>temp|</noinclude>pagetype}} as having failed a<!-- -->|A user has added this {{<noinclude>temp|</noinclude>pagetype}} to<!-- -->}} [[{{#invoke:request-forum|rfd|{{{1|}}}|{{NAMESPACE}}}}#{{{fragment|{{{section|{{#invoke:string|gsub|{{FULLPAGENAME}}|/documentation|}}}}}}}}|{{#if:{{{fail|}}}|request|requests}} for deletion]]<!-- -->{{#if:{{{fail|}}}||<sup class="plainlinks" style="font-weight:normal" title="Start discussion">(<!-- -->[{{fullurl:{{#invoke:request-forum|rfd|{{{1|}}}|{{NAMESPACE}}}}|action=edit&section=new{{#switch:{{#if:{{{lang|}}}|{{{lang|}}}|{{{1|}}}}}|=|en=|#default=&preload=Template:rfd/preload$1&preloadparams%5B%5D={{urlencode:{{langname|{{{lang|{{{1|<noinclude>und</noinclude>}}}}}}}}}}.%20}}&preloadtitle={{urlencode:[[:{{FULLPAGENAME}}#rfd-notice-{{{1|}}}-{{{topic|}}}|{{FULLPAGENAME}}]]}}}} +]<!-- -->)</sup>}}.<!-- -->|text=<!-- -->Please see that page for discussion and {{#if:{{{fail|}}}|consensus|justifications}}{{#if:{{{2|}}}|&#32;beyond the initial comment of: '''“{{{2|}}}”'''}}<!-- -->. <!-- -->{{#if:{{{fail|}}}<!-- -->|The discussion is closed now, and this page is awaiting speedy-deletion by an administrator. If you object, please remove {{p|fail|1}} from the template and reopen the discussion.<!-- -->|You may continue to edit this {{<noinclude>temp|</noinclude>pagetype}} while the discussion proceeds, but please mention significant edits at the RFD discussion and ensure that the intention of votes already cast is not left unclear. Do not remove the {{temp|rfd}} until the debate has finished.<!-- -->}}<!-- -->}}<!--(end of {{maintenance box}}) -->}}<!-- (end of {{check deprecated lang param usage}}) --><includeonly><!-- -->{{#if:{{{nocat|}}}||<!-- -->{{#if:{{{fail|}}}<!-- -->|[[Category:Candidates for speedy deletion]]<!-- -->|{{#switch:{{NAMESPACE}}<!-- -->||Citations|Transwiki|Reconstruction=<!-- -->{{categorize<!-- -->|{{{1|}}}<!-- -->|Requests for deletion in {{langname|{{{1|}}}}} entries<!-- -->|{{#if:{{{topic|}}}|Entries needing topical attention}}<!-- -->|sort={{{sort|}}}<!-- -->}}<!-- -->|#default=[[Category:Requests for deletion/Others]]<!-- -->}}<!-- -->}}<!-- -->{{#if:{{{topic|}}}|[[Category:rfd with topic]]}}<!-- -->}}<!-- --></includeonly><!-- --><noinclude>{{documentation}}</noinclude> qjbm4pfvb7fkn7ao7nl869ax67zuehg Tempolete:maintenance box 10 2971 8283 2022-07-21T19:19:30Z Rebel Agent 2678 Ke dirile tempolete 8283 wikitext text/x-wiki <div class="noprint maintenance-box maintenance-box-{{{1|blue}}}" style="background:#{{#switch:{{{1|blue}}}||blue=EEEEFF|red=FFE7DD|yellow=FFFFDD|grey=F0F0F0|orange=FFDD44}}; width:90%; margin: 0.75em auto; border:1px dashed #{{#switch:{{{1|blue}}}||blue=4444AA|red=884444|yellow=888822|grey=444444|orange=DDAA00}}; padding: 0.25em; "> {| | rowspan="2" | {{{image}}} ! style="text-align: left;" | {{{title}}} |- | {{{text}}} |}</div><noinclude>{{documentation}}</noinclude> n8lldvtjper0ph2s663yda8kyuifv9z Module:string 828 2972 8284 2022-07-21T19:21:24Z Rebel Agent 2678 Ke dirile module 8284 Scribunto text/plain local str = {} -- Cannot include null byte. local UTF8_char = "[\1-\127\194-\244][\128-\191]*" --[[ ulen Counts UTF-8 characters. Faster than mw.ustring.len. Assumes that the encoding is correct. Unlike mw.ustring.len, does not return nil if encoding is invalid. Does not count the bytes 192, 193, and 245-255. They are not used in UTF-8 and will not occur if the string is valid. They are replaced with the replacement character (U+FFFD) on MediaWiki pages. --]] function str.ulen(text) local _, length = string.gsub(text, UTF8_char, "") return length end --[[ len This function returns the length of the target string. Usage: {{#invoke:string|len|target_string|}} OR {{#invoke:string|len|s=target_string}} Parameters s: The string whose length to report If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function str.len(frame) local new_args = str._getParameters(frame.args, { 's' }); local s = new_args['s'] or ''; return mw.ustring.len(s) end --[[ sub This function returns a substring of the target string at specified indices. Usage: {{#invoke:string|sub|target_string|start_index|end_index}} OR {{#invoke:string|sub|s=target_string|i=start_index|j=end_index}} Parameters s: The string to return a subset of i: The fist index of the substring to return, defaults to 1. j: The last index of the string to return, defaults to the last character. The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. If the requested indices are out of range for the given string, an error is reported. ]] function str.sub(frame) local new_args = str._getParameters(frame.args, { 's', 'i', 'j' }); local s = new_args['s'] or ''; local i = tonumber(new_args['i']) or 1; local j = tonumber(new_args['j']) or -1; local len = mw.ustring.len(s); -- Convert negatives for range checking if i < 0 then i = len + i + 1; end if j < 0 then j = len + j + 1; end if i > len or j > len or i < 1 or j < 1 then return str._error('String subset index out of range'); end if j < i then return str._error('String subset indices out of order'); end return mw.ustring.sub(s, i, j) end --[[ This function implements that features of {{str sub old}} and is kept in order to maintain these older templates. ]] function str.sublength(frame) local i = tonumber(frame.args.i) or 0 local len = tonumber(frame.args.len) return mw.ustring.sub(frame.args.s, i + 1, len and (i + len)) end --[[ match This function returns a substring from the source string that matches a specified pattern. Usage: {{#invoke:string|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}} OR {{#invoke:string|pos|s=source_string|pattern=pattern_string|start=start_index |match=match_number|plain=plain_flag|nomatch=nomatch_output}} Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain: A flag indicating that the pattern should be understood as plain text. Defaults to false. nomatch: If no match is found, output the "nomatch" value rather than an error. If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from each string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. If the match_number or start_index are out of range for the string being queried, then this function generates an error. An error is also generated if no match is found. If one adds the parameter ignore_errors=true, then the error will be suppressed and an empty string will be returned on any failure. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] function str.match(frame) local new_args = str._getParameters(frame.args, { 's', 'pattern', 'start', 'match', 'plain', 'nomatch' }); local s = new_args['s'] or ''; local start = tonumber(new_args['start']) or 1; local plain_flag = str._getBoolean(new_args['plain'] or false); local pattern = new_args['pattern'] or ''; local match_index = math.floor(tonumber(new_args['match']) or 1); local nomatch = new_args['nomatch']; if s == '' then return str._error('Target string is empty'); end if pattern == '' then return str._error('Pattern string is empty'); end if math.abs(start) < 1 or math.abs(start) > mw.ustring.len(s) then return str._error('Requested start is out of range'); end if match_index == 0 then return str._error('Match index is out of range'); end if plain_flag then pattern = str.pattern_escape(pattern); end local result if match_index == 1 then -- Find first match is simple case result = mw.ustring.match(s, pattern, start) else if start > 1 then s = mw.ustring.sub(s, start); end local iterator = mw.ustring.gmatch(s, pattern); if match_index > 0 then -- Forward search for w in iterator do match_index = match_index - 1; if match_index == 0 then result = w; break; end end else -- Reverse search local result_table = {}; local count = 1; for w in iterator do result_table[count] = w; count = count + 1; end result = result_table[count + match_index]; end end if result == nil then if nomatch == nil then return str._error('Match not found'); else return nomatch; end else return result; end end --[[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:string|pos|target_string|index_value}} OR {{#invoke:string|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]] function str.pos(frame) local new_args = str._getParameters(frame.args, { 'target', 'pos' }); local target_str = new_args['target'] or ''; local pos = tonumber(new_args['pos']) or 0; if pos == 0 or math.abs(pos) > mw.ustring.len(target_str) then return str._error('String index out of range'); end return mw.ustring.sub(target_str, pos, pos); end --[[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]] function str.str_find(frame) local new_args = str._getParameters(frame.args, { 'source', 'target' }); local source_str = new_args['source'] or ''; local target_str = new_args['target'] or ''; if target_str == '' then return 1; end local start = mw.ustring.find(source_str, target_str, 1, true) if start == nil then start = -1 end return start end --[[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:string|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:string|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns an empty string. If either "source" or "target" are missing / empty, this function also returns an empty string. This function should be safe for UTF-8 strings. ]] function str.find(frame) local params = { [1] = { required = true, allow_empty = true }, [2] = { required = true, allow_empty = true }, [3] = { type = "number" }, [4] = { type = "boolean" }, } local args = require("Module:parameters").process(frame.args, params) return mw.ustring.find(args[1], args[2], args[3], args[4]) end --[[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:string|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:string|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]] function str.replace(frame) local new_args = str._getParameters(frame.args, { 'source', 'pattern', 'replace', 'count', 'plain' }); local source_str = new_args['source'] or ''; local pattern = new_args['pattern'] or ''; local replace = new_args['replace'] or ''; local count = tonumber(new_args['count']); local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return source_str; end plain = str._getBoolean(plain); if plain then pattern = str.pattern_escape(pattern); replace = mw.ustring.gsub(replace, "%%", "%%%%"); --Only need to escape replacement sequences. end local result; result = mw.ustring.gsub(source_str, pattern, replace, count); return result; end function str.gsub(frame) local params = { [1] = { required = true, allow_empty = true, allow_whitespace = true}, [2] = { required = true, allow_empty = true, allow_whitespace = true}, [3] = { required = true, allow_empty = true, allow_whitespace = true}, [4] = { type = "number" }, } local args = require("Module:parameters").process(frame.args, params) return (mw.ustring.gsub(args[1], args[2], args[3], args[4])) end --[[ simple function to pipe string.rep to templates. ]] function str.rep(frame) local repetitions = tonumber(frame.args[2]) if not repetitions then return str._error('function rep expects a number as second parameter, received "' .. (frame.args[2] or '') .. '"') end return string.rep(frame.args[1] or '', repetitions) end function str.lower(frame) local text = frame.args[1] or '' return mw.ustring.lower(text) end str.lc = str.lower --[[ format This function allows one to format strings according to a template. This is a direct interface onto str.format() in Lua, and works like the C printf() function. For example: {{#invoke:string|format|page_%04d.html|65}} will produce the result page_0065.html Parameters 1: The format template. See https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#string.format 2, 3, ...: Arguments to be inserted into the template. Note that leading and trailing whitespace is not removed from the arguments. ]] function str.format(frame) local fmt = frame.args[1] -- You can't call unpack() directly on frame.args because it isn't really a -- table, and doesn't support the # operator. local args = {} local i = 2 while true do local val = frame.args[i] if not val then break end table.insert(args, val) i = i + 1 end return fmt:format(unpack(args)) end --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function str._getParameters(frame_args, arg_list) local new_args = {}; local index = 1; local value; for _, arg in ipairs(arg_list) do value = frame_args[arg] if value == nil then value = frame_args[index]; index = index + 1; end new_args[arg] = value; end return new_args; end --[[ Helper function to handle error messages. ]] function str._error(error_str) local frame = mw.getCurrentFrame(); local error_category = frame.args.error_category or 'Errors reported by Module String'; local ignore_errors = frame.args.ignore_errors or false; local no_category = frame.args.no_category or false; if str._getBoolean(ignore_errors) then return ''; end local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>'; if error_category ~= '' and not str._getBoolean(no_category) then error_str = '[[Category:' .. error_category .. ']]' .. error_str; end return error_str; end --[[ Helper Function to interpret boolean strings ]] function str._getBoolean(boolean_str) local boolean_value; if type(boolean_str) == 'string' then boolean_str = boolean_str:lower(); if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' or boolean_str == '' then boolean_value = false; else boolean_value = true; end elseif type(boolean_str) == 'boolean' then boolean_value = boolean_str; else error('No boolean value found'); end return boolean_value end --[[ Helper function that escapes all pattern characters – ().%+-*?[^$] – so that they will be treated as plain text. ]] function str.pattern_escape(pattern_str) local invoked = false local escape = require("Module:string/pattern_escape") if type(pattern_str) == "table" then if pattern_str.args then local frame = pattern_str invoked = true if frame.args[1] then pattern_str = frame.args[1] else pattern_str = frame:getParent().args[1] end else error("First argument to pattern_escape should be a string, a number, or a frame object.") end elseif not (type(pattern_str) == "string" or type(pattern_str) == "number") then error("First argument to pattern_escape should be a string or a number.") end if invoked then return (escape(pattern_str)) -- only the first value else return escape(pattern_str) end end function str.count(text, pattern, plain) if not (type(text) == "string" or type(text) == "number") then error('The first argument to the function "count" must be a string or a number, not a ' .. type(text) .. '.') end if not (type(pattern) == "string" or type(pattern) == "number") then error('The first argument to the function "count" must be a string or a number, not a ' .. type(text) .. '.') end if plain then pattern = str.pattern_escape(pattern) end local _, count = mw.ustring.gsub(text, pattern, "") return count end function str.plain_gsub(text, pattern, replacement) local invoked = false if type(text) == "table" then invoked = true if text.args then local frame = text local params = { [1] = {}, [2] = {}, [3] = { allow_empty = true }, } local args = require("Module:parameters").process(frame.args, params) text = args[1] pattern = args[2] replacement = args[3] else error("If the first argument to plain_gsub is a table, it should be a frame object.") end else if not (type(pattern) == "string" or type(pattern) == "number") then error("The second argument to plain_gsub should be a string or a number.") end if not (type(replacement) == "string" or type(replacement) == "number") then error("The third argument to plain_gsub should be a string or a number.") end end pattern = str.pattern_escape(pattern) if invoked then text = mw.ustring.gsub(text, pattern, replacement) return text else return mw.ustring.gsub(text, pattern, replacement) end end function str.matchToArray(text, pattern) local invoked = false if type(text) == "table" then invoked = true if text.args then local frame = text local params = { [1] = { required = true }, [2] = { required = true }, } local args = require("Module:parameters").process(frame.args, params) text = args[1] pattern = args[2] else error("If the first argument to matchToArray is a table, it should be a frame object.") end else if not (type(pattern) == "string" or type(pattern) == "number") then error("The second argument to matchToArray should be a string or a number.") end end local matches = {} local i = 0 for match in mw.ustring.gmatch(text, pattern) do i = i + 1 matches[i] = match end if i > 0 then if invoked then return table.concat(matches, ", ") else return matches end else if invoked then return "" else return nil end end end --[=[ Similar to gmatch, but it returns the count of the match in addition to the list of captures, something like ipairs(). If the pattern doesn't contain any captures, the whole match is returned. Invoke thus: for i, whole_match in require("Module:string").imatch(text, pattern) do [ do something with i and whole_match ] end or for i, capture1[, capture2[, capture3[, ...]]] in require("Module:string").imatch(text, pattern) do [ do something with i and capture1 ] end For example, this code for i, whole_match in require("Module:string").imatch("a b c", "[a-z]") do mw.log(i, whole_match) end will log 1 a 2 b 3 c ]=] function str.imatch(text, pattern, pos, plain, use_basic_Lua_function) local i = 0 pos = pos or 0 if not string.find(pattern, "%b()") then pattern = "(" .. pattern .. ")" end local find = use_basic_Lua_function and string.find or mw.ustring.find return function() i = i + 1 local return_values = { find(text, pattern, pos, plain) } local j = return_values[2] if return_values[3] then pos = j + 1 -- Skip the first two returned values, which are the indices of the -- whole match. return i, unpack(return_values, 3) end end end function str.escapebytes(s) return (string.gsub(s, '.', function(char) return ('\\%03d'):format(string.byte(char)) end)) end function str.URIdecode(frame) return mw.uri.decode(frame.args[1], frame.args[2] or "PATH") end return str oeq6i4dx2v1wn2dviuppuuuutmkonbn Tempolete:documentation 10 2973 8425 8285 2022-10-03T09:55:12Z Rebel Agent 2678 Teko 8425 wikitext text/x-wiki {{#invoke:documentation|main|_content={{ {{#invoke:documentation|contentTitle}}}}}}<noinclude> <!-- Add categories to the /doc subpage --> </noinclude> ii1kftoonz87mztj4siz1yhyqeg6agm Module:documentation 828 2974 8669 8426 2024-11-04T22:19:36Z Zulf 3670 Update from [[d:Special:GoToLinkedPage/enwiki/Q14357839|master]] using [[mw:Synchronizer| #Synchronizer]] 8669 Scribunto text/plain -- This module implements {{documentation}}. -- Get required modules. local getArgs = require('Module:Arguments').getArgs -- Get the config table. local cfg = mw.loadData('Module:Documentation/config') local p = {} -- Often-used functions. local ugsub = mw.ustring.gsub local format = mw.ustring.format ---------------------------------------------------------------------------- -- Helper functions -- -- These are defined as local functions, but are made available in the p -- table for testing purposes. ---------------------------------------------------------------------------- local function message(cfgKey, valArray, expectType) --[[ -- Gets a message from the cfg table and formats it if appropriate. -- The function raises an error if the value from the cfg table is not -- of the type expectType. The default type for expectType is 'string'. -- If the table valArray is present, strings such as $1, $2 etc. in the -- message are substituted with values from the table keys [1], [2] etc. -- For example, if the message "foo-message" had the value 'Foo $2 bar $1.', -- message('foo-message', {'baz', 'qux'}) would return "Foo qux bar baz." --]] local msg = cfg[cfgKey] expectType = expectType or 'string' if type(msg) ~= expectType then error('message: type error in message cfg.' .. cfgKey .. ' (' .. expectType .. ' expected, got ' .. type(msg) .. ')', 2) end if not valArray then return msg end local function getMessageVal(match) match = tonumber(match) return valArray[match] or error('message: no value found for key $' .. match .. ' in message cfg.' .. cfgKey, 4) end return ugsub(msg, '$([1-9][0-9]*)', getMessageVal) end p.message = message local function makeWikilink(page, display) if display then return format('[[%s|%s]]', page, display) else return format('[[%s]]', page) end end p.makeWikilink = makeWikilink local function makeCategoryLink(cat, sort) local catns = mw.site.namespaces[14].name return makeWikilink(catns .. ':' .. cat, sort) end p.makeCategoryLink = makeCategoryLink local function makeUrlLink(url, display) return format('[%s %s]', url, display) end p.makeUrlLink = makeUrlLink local function makeToolbar(...) local ret = {} local lim = select('#', ...) if lim < 1 then return nil end for i = 1, lim do ret[#ret + 1] = select(i, ...) end -- 'documentation-toolbar' return format( '<span class="%s">(%s)</span>', message('toolbar-class'), table.concat(ret, ' &#124; ') ) end p.makeToolbar = makeToolbar ---------------------------------------------------------------------------- -- Argument processing ---------------------------------------------------------------------------- local function makeInvokeFunc(funcName) return function (frame) local args = getArgs(frame, { valueFunc = function (key, value) if type(value) == 'string' then value = value:match('^%s*(.-)%s*$') -- Remove whitespace. if key == 'heading' or value ~= '' then return value else return nil end else return value end end }) return p[funcName](args) end end ---------------------------------------------------------------------------- -- Entry points ---------------------------------------------------------------------------- function p.nonexistent(frame) if mw.title.getCurrentTitle().subpageText == 'testcases' then return frame:expandTemplate{title = 'module test cases notice'} else return p.main(frame) end end p.main = makeInvokeFunc('_main') function p._main(args) --[[ -- This function defines logic flow for the module. -- @args - table of arguments passed by the user --]] local env = p.getEnvironment(args) local root = mw.html.create() root :wikitext(p._getModuleWikitext(args, env)) :wikitext(p.protectionTemplate(env)) :wikitext(p.sandboxNotice(args, env)) :tag('div') -- 'documentation-container' :addClass(message('container')) :attr('role', 'complementary') :attr('aria-labelledby', args.heading ~= '' and 'documentation-heading' or nil) :attr('aria-label', args.heading == '' and 'Documentation' or nil) :newline() :tag('div') -- 'documentation' :addClass(message('main-div-classes')) :newline() :wikitext(p._startBox(args, env)) :wikitext(p._content(args, env)) :tag('div') -- 'documentation-clear' :addClass(message('clear')) :done() :newline() :done() :wikitext(p._endBox(args, env)) :done() :wikitext(p.addTrackingCategories(env)) -- 'Module:Documentation/styles.css' return mw.getCurrentFrame():extensionTag ( 'templatestyles', '', {src=cfg['templatestyles'] }) .. tostring(root) end ---------------------------------------------------------------------------- -- Environment settings ---------------------------------------------------------------------------- function p.getEnvironment(args) --[[ -- Returns a table with information about the environment, including title -- objects and other namespace- or path-related data. -- @args - table of arguments passed by the user -- -- Title objects include: -- env.title - the page we are making documentation for (usually the current title) -- env.templateTitle - the template (or module, file, etc.) -- env.docTitle - the /doc subpage. -- env.sandboxTitle - the /sandbox subpage. -- env.testcasesTitle - the /testcases subpage. -- -- Data includes: -- env.protectionLevels - the protection levels table of the title object. -- env.subjectSpace - the number of the title's subject namespace. -- env.docSpace - the number of the namespace the title puts its documentation in. -- env.docpageBase - the text of the base page of the /doc, /sandbox and /testcases pages, with namespace. -- env.compareUrl - URL of the Special:ComparePages page comparing the sandbox with the template. -- -- All table lookups are passed through pcall so that errors are caught. If an error occurs, the value -- returned will be nil. --]] local env, envFuncs = {}, {} -- Set up the metatable. If triggered we call the corresponding function in the envFuncs table. The value -- returned by that function is memoized in the env table so that we don't call any of the functions -- more than once. (Nils won't be memoized.) setmetatable(env, { __index = function (t, key) local envFunc = envFuncs[key] if envFunc then local success, val = pcall(envFunc) if success then env[key] = val -- Memoise the value. return val end end return nil end }) function envFuncs.title() -- The title object for the current page, or a test page passed with args.page. local title local titleArg = args.page if titleArg then title = mw.title.new(titleArg) else title = mw.title.getCurrentTitle() end return title end function envFuncs.templateTitle() --[[ -- The template (or module, etc.) title object. -- Messages: -- 'sandbox-subpage' --> 'sandbox' -- 'testcases-subpage' --> 'testcases' --]] local subjectSpace = env.subjectSpace local title = env.title local subpage = title.subpageText if subpage == message('sandbox-subpage') or subpage == message('testcases-subpage') then return mw.title.makeTitle(subjectSpace, title.baseText) else return mw.title.makeTitle(subjectSpace, title.text) end end function envFuncs.docTitle() --[[ -- Title object of the /doc subpage. -- Messages: -- 'doc-subpage' --> 'doc' --]] local title = env.title local docname = args[1] -- User-specified doc page. local docpage if docname then docpage = docname else docpage = env.docpageBase .. '/' .. message('doc-subpage') end return mw.title.new(docpage) end function envFuncs.sandboxTitle() --[[ -- Title object for the /sandbox subpage. -- Messages: -- 'sandbox-subpage' --> 'sandbox' --]] return mw.title.new(env.docpageBase .. '/' .. message('sandbox-subpage')) end function envFuncs.testcasesTitle() --[[ -- Title object for the /testcases subpage. -- Messages: -- 'testcases-subpage' --> 'testcases' --]] return mw.title.new(env.docpageBase .. '/' .. message('testcases-subpage')) end function envFuncs.protectionLevels() -- The protection levels table of the title object. return env.title.protectionLevels end function envFuncs.subjectSpace() -- The subject namespace number. return mw.site.namespaces[env.title.namespace].subject.id end function envFuncs.docSpace() -- The documentation namespace number. For most namespaces this is the -- same as the subject namespace. However, pages in the Article, File, -- MediaWiki or Category namespaces must have their /doc, /sandbox and -- /testcases pages in talk space. local subjectSpace = env.subjectSpace if subjectSpace == 0 or subjectSpace == 6 or subjectSpace == 8 or subjectSpace == 14 then return subjectSpace + 1 else return subjectSpace end end function envFuncs.docpageBase() -- The base page of the /doc, /sandbox, and /testcases subpages. -- For some namespaces this is the talk page, rather than the template page. local templateTitle = env.templateTitle local docSpace = env.docSpace local docSpaceText = mw.site.namespaces[docSpace].name -- Assemble the link. docSpace is never the main namespace, so we can hardcode the colon. return docSpaceText .. ':' .. templateTitle.text end function envFuncs.compareUrl() -- Diff link between the sandbox and the main template using [[Special:ComparePages]]. local templateTitle = env.templateTitle local sandboxTitle = env.sandboxTitle if templateTitle.exists and sandboxTitle.exists then local compareUrl = mw.uri.canonicalUrl( 'Special:ComparePages', { page1 = templateTitle.prefixedText, page2 = sandboxTitle.prefixedText} ) return tostring(compareUrl) else return nil end end return env end ---------------------------------------------------------------------------- -- Auxiliary templates ---------------------------------------------------------------------------- p.getModuleWikitext = makeInvokeFunc('_getModuleWikitext') function p._getModuleWikitext(args, env) local currentTitle = mw.title.getCurrentTitle() if currentTitle.contentModel ~= 'Scribunto' then return end pcall(require, currentTitle.prefixedText) -- if it fails, we don't care local moduleWikitext = package.loaded["Module:Module wikitext"] if moduleWikitext then return moduleWikitext.main() end end function p.sandboxNotice(args, env) --[=[ -- Generates a sandbox notice for display above sandbox pages. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'sandbox-notice-image' --> '[[File:Sandbox.svg|50px|alt=|link=]]' -- 'sandbox-notice-blurb' --> 'This is the $1 for $2.' -- 'sandbox-notice-diff-blurb' --> 'This is the $1 for $2 ($3).' -- 'sandbox-notice-pagetype-template' --> '[[Wikipedia:Template test cases|template sandbox]] page' -- 'sandbox-notice-pagetype-module' --> '[[Wikipedia:Template test cases|module sandbox]] page' -- 'sandbox-notice-pagetype-other' --> 'sandbox page' -- 'sandbox-notice-compare-link-display' --> 'diff' -- 'sandbox-notice-testcases-blurb' --> 'See also the companion subpage for $1.' -- 'sandbox-notice-testcases-link-display' --> 'test cases' -- 'sandbox-category' --> 'Template sandboxes' -- 'module-sandbox-category' --> 'Module sandboxes' -- 'other-sandbox-category' --> 'Sandboxes outside of template or module namespace' --]=] local title = env.title local sandboxTitle = env.sandboxTitle local templateTitle = env.templateTitle local subjectSpace = env.subjectSpace if not (subjectSpace and title and sandboxTitle and templateTitle and mw.title.equals(title, sandboxTitle)) then return nil end -- Build the table of arguments to pass to {{ombox}}. We need just two fields, "image" and "text". local omargs = {} omargs.image = message('sandbox-notice-image') -- Get the text. We start with the opening blurb, which is something like -- "This is the template sandbox for [[Template:Foo]] (diff)." local text = '__EXPECTUNUSEDTEMPLATE__' local pagetype, sandboxCat if subjectSpace == 10 then pagetype = message('sandbox-notice-pagetype-template') sandboxCat = message('sandbox-category') elseif subjectSpace == 828 then pagetype = message('sandbox-notice-pagetype-module') sandboxCat = message('module-sandbox-category') else pagetype = message('sandbox-notice-pagetype-other') sandboxCat = message('other-sandbox-category') end local templateLink = makeWikilink(templateTitle.prefixedText) local compareUrl = env.compareUrl if compareUrl then local compareDisplay = message('sandbox-notice-compare-link-display') local compareLink = makeUrlLink(compareUrl, compareDisplay) text = text .. message('sandbox-notice-diff-blurb', {pagetype, templateLink, compareLink}) else text = text .. message('sandbox-notice-blurb', {pagetype, templateLink}) end -- Get the test cases page blurb if the page exists. This is something like -- "See also the companion subpage for [[Template:Foo/testcases|test cases]]." local testcasesTitle = env.testcasesTitle if testcasesTitle and testcasesTitle.exists then if testcasesTitle.contentModel == "Scribunto" then local testcasesLinkDisplay = message('sandbox-notice-testcases-link-display') local testcasesRunLinkDisplay = message('sandbox-notice-testcases-run-link-display') local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay) local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay) text = text .. '<br />' .. message('sandbox-notice-testcases-run-blurb', {testcasesLink, testcasesRunLink}) else local testcasesLinkDisplay = message('sandbox-notice-testcases-link-display') local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay) text = text .. '<br />' .. message('sandbox-notice-testcases-blurb', {testcasesLink}) end end -- Add the sandbox to the sandbox category. omargs.text = text .. makeCategoryLink(sandboxCat) -- 'documentation-clear' return '<div class="' .. message('clear') .. '"></div>' .. require('Module:Message box').main('ombox', omargs) end function p.protectionTemplate(env) -- Generates the padlock icon in the top right. -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'protection-template' --> 'pp-template' -- 'protection-template-args' --> {docusage = 'yes'} local protectionLevels = env.protectionLevels if not protectionLevels then return nil end local editProt = protectionLevels.edit and protectionLevels.edit[1] local moveProt = protectionLevels.move and protectionLevels.move[1] if editProt then -- The page is edit-protected. return require('Module:Protection banner')._main{ message('protection-reason-edit'), small = true } elseif moveProt and moveProt ~= 'autoconfirmed' then -- The page is move-protected but not edit-protected. Exclude move -- protection with the level "autoconfirmed", as this is equivalent to -- no move protection at all. return require('Module:Protection banner')._main{ action = 'move', small = true } else return nil end end ---------------------------------------------------------------------------- -- Start box ---------------------------------------------------------------------------- p.startBox = makeInvokeFunc('_startBox') function p._startBox(args, env) --[[ -- This function generates the start box. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- The actual work is done by p.makeStartBoxLinksData and p.renderStartBoxLinks which make -- the [view] [edit] [history] [purge] links, and by p.makeStartBoxData and p.renderStartBox -- which generate the box HTML. --]] env = env or p.getEnvironment(args) local links local content = args.content if not content or args[1] then -- No need to include the links if the documentation is on the template page itself. local linksData = p.makeStartBoxLinksData(args, env) if linksData then links = p.renderStartBoxLinks(linksData) end end -- Generate the start box html. local data = p.makeStartBoxData(args, env, links) if data then return p.renderStartBox(data) else -- User specified no heading. return nil end end function p.makeStartBoxLinksData(args, env) --[[ -- Does initial processing of data to make the [view] [edit] [history] [purge] links. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'view-link-display' --> 'view' -- 'edit-link-display' --> 'edit' -- 'history-link-display' --> 'history' -- 'purge-link-display' --> 'purge' -- 'module-preload' --> 'Template:Documentation/preload-module-doc' -- 'docpage-preload' --> 'Template:Documentation/preload' -- 'create-link-display' --> 'create' --]] local subjectSpace = env.subjectSpace local title = env.title local docTitle = env.docTitle if not title or not docTitle then return nil end if docTitle.isRedirect then docTitle = docTitle.redirectTarget end -- Create link if /doc doesn't exist. local preload = args.preload if not preload then if subjectSpace == 828 then -- Module namespace preload = message('module-preload') else preload = message('docpage-preload') end end return { title = title, docTitle = docTitle, -- View, display, edit, and purge links if /doc exists. viewLinkDisplay = message('view-link-display'), editLinkDisplay = message('edit-link-display'), historyLinkDisplay = message('history-link-display'), purgeLinkDisplay = message('purge-link-display'), preload = preload, createLinkDisplay = message('create-link-display') } end function p.renderStartBoxLinks(data) --[[ -- Generates the [view][edit][history][purge] or [create][purge] links from the data table. -- @data - a table of data generated by p.makeStartBoxLinksData --]] local docTitle = data.docTitle -- yes, we do intend to purge the template page on which the documentation appears local purgeLink = makeWikilink("Special:Purge/" .. data.title.prefixedText, data.purgeLinkDisplay) if docTitle.exists then local viewLink = makeWikilink(docTitle.prefixedText, data.viewLinkDisplay) local editLink = makeWikilink("Special:EditPage/" .. docTitle.prefixedText, data.editLinkDisplay) local historyLink = makeWikilink("Special:PageHistory/" .. docTitle.prefixedText, data.historyLinkDisplay) return "&#91;" .. viewLink .. "&#93; &#91;" .. editLink .. "&#93; &#91;" .. historyLink .. "&#93; &#91;" .. purgeLink .. "&#93;" else local createLink = makeUrlLink(docTitle:canonicalUrl{action = 'edit', preload = data.preload}, data.createLinkDisplay) return "&#91;" .. createLink .. "&#93; &#91;" .. purgeLink .. "&#93;" end return ret end function p.makeStartBoxData(args, env, links) --[=[ -- Does initial processing of data to pass to the start-box render function, p.renderStartBox. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- @links - a string containing the [view][edit][history][purge] links - could be nil if there's an error. -- -- Messages: -- 'documentation-icon-wikitext' --> '[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]' -- 'template-namespace-heading' --> 'Template documentation' -- 'module-namespace-heading' --> 'Module documentation' -- 'file-namespace-heading' --> 'Summary' -- 'other-namespaces-heading' --> 'Documentation' -- 'testcases-create-link-display' --> 'create' --]=] local subjectSpace = env.subjectSpace if not subjectSpace then -- Default to an "other namespaces" namespace, so that we get at least some output -- if an error occurs. subjectSpace = 2 end local data = {} -- Heading local heading = args.heading -- Blank values are not removed. if heading == '' then -- Don't display the start box if the heading arg is defined but blank. return nil end if heading then data.heading = heading elseif subjectSpace == 10 then -- Template namespace data.heading = message('documentation-icon-wikitext') .. ' ' .. message('template-namespace-heading') elseif subjectSpace == 828 then -- Module namespace data.heading = message('documentation-icon-wikitext') .. ' ' .. message('module-namespace-heading') elseif subjectSpace == 6 then -- File namespace data.heading = message('file-namespace-heading') else data.heading = message('other-namespaces-heading') end -- Heading CSS local headingStyle = args['heading-style'] if headingStyle then data.headingStyleText = headingStyle else -- 'documentation-heading' data.headingClass = message('main-div-heading-class') end -- Data for the [view][edit][history][purge] or [create] links. if links then -- 'mw-editsection-like plainlinks' data.linksClass = message('start-box-link-classes') data.links = links end return data end function p.renderStartBox(data) -- Renders the start box html. -- @data - a table of data generated by p.makeStartBoxData. local sbox = mw.html.create('div') sbox -- 'documentation-startbox' :addClass(message('start-box-class')) :newline() :tag('span') :addClass(data.headingClass) :attr('id', 'documentation-heading') :cssText(data.headingStyleText) :wikitext(data.heading) local links = data.links if links then sbox:tag('span') :addClass(data.linksClass) :attr('id', data.linksId) :wikitext(links) end return tostring(sbox) end ---------------------------------------------------------------------------- -- Documentation content ---------------------------------------------------------------------------- p.content = makeInvokeFunc('_content') function p._content(args, env) -- Displays the documentation contents -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment env = env or p.getEnvironment(args) local docTitle = env.docTitle local content = args.content if not content and docTitle and docTitle.exists then content = args._content or mw.getCurrentFrame():expandTemplate{title = docTitle.prefixedText} end -- The line breaks below are necessary so that "=== Headings ===" at the start and end -- of docs are interpreted correctly. return '\n' .. (content or '') .. '\n' end p.contentTitle = makeInvokeFunc('_contentTitle') function p._contentTitle(args, env) env = env or p.getEnvironment(args) local docTitle = env.docTitle if not args.content and docTitle and docTitle.exists then return docTitle.prefixedText else return '' end end ---------------------------------------------------------------------------- -- End box ---------------------------------------------------------------------------- p.endBox = makeInvokeFunc('_endBox') function p._endBox(args, env) --[=[ -- This function generates the end box (also known as the link box). -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- --]=] -- Get environment data. env = env or p.getEnvironment(args) local subjectSpace = env.subjectSpace local docTitle = env.docTitle if not subjectSpace or not docTitle then return nil end -- Check whether we should output the end box at all. Add the end -- box by default if the documentation exists or if we are in the -- user, module or template namespaces. local linkBox = args['link box'] if linkBox == 'off' or not ( docTitle.exists or subjectSpace == 2 or subjectSpace == 828 or subjectSpace == 10 ) then return nil end -- Assemble the link box. local text = '' if linkBox then text = text .. linkBox else text = text .. (p.makeDocPageBlurb(args, env) or '') -- "This documentation is transcluded from [[Foo]]." if subjectSpace == 2 or subjectSpace == 10 or subjectSpace == 828 then -- We are in the user, template or module namespaces. -- Add sandbox and testcases links. -- "Editors can experiment in this template's sandbox and testcases pages." text = text .. (p.makeExperimentBlurb(args, env) or '') .. '<br />' if not args.content and not args[1] then -- "Please add categories to the /doc subpage." -- Don't show this message with inline docs or with an explicitly specified doc page, -- as then it is unclear where to add the categories. text = text .. (p.makeCategoriesBlurb(args, env) or '') end text = text .. ' ' .. (p.makeSubpagesBlurb(args, env) or '') --"Subpages of this template" end end local box = mw.html.create('div') -- 'documentation-metadata' box:attr('role', 'note') :addClass(message('end-box-class')) -- 'plainlinks' :addClass(message('end-box-plainlinks')) :wikitext(text) :done() return '\n' .. tostring(box) end function p.makeDocPageBlurb(args, env) --[=[ -- Makes the blurb "This documentation is transcluded from [[Template:Foo]] (edit, history)". -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'edit-link-display' --> 'edit' -- 'history-link-display' --> 'history' -- 'transcluded-from-blurb' --> -- 'The above [[Wikipedia:Template documentation|documentation]] -- is [[Help:Transclusion|transcluded]] from $1.' -- 'module-preload' --> 'Template:Documentation/preload-module-doc' -- 'create-link-display' --> 'create' -- 'create-module-doc-blurb' --> -- 'You might want to $1 a documentation page for this [[Wikipedia:Lua|Scribunto module]].' --]=] local docTitle = env.docTitle if not docTitle then return nil end if docTitle.exists then -- /doc exists; link to it. local docLink = makeWikilink(docTitle.prefixedText) local editDisplay = message('edit-link-display') local editLink = makeWikilink("Special:EditPage/" .. docTitle.prefixedText, editDisplay) local historyDisplay = message('history-link-display') local historyLink = makeWikilink("Special:PageHistory/" .. docTitle.prefixedText, historyDisplay) return message('transcluded-from-blurb', {docLink}) .. ' ' .. makeToolbar(editLink, historyLink) .. '<br />' elseif env.subjectSpace == 828 then -- /doc does not exist; ask to create it. local createUrl = docTitle:canonicalUrl{action = 'edit', preload = message('module-preload')} local createDisplay = message('create-link-display') local createLink = makeUrlLink(createUrl, createDisplay) return message('create-module-doc-blurb', {createLink}) .. '<br />' end end function p.makeExperimentBlurb(args, env) --[[ -- Renders the text "Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages." -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'sandbox-link-display' --> 'sandbox' -- 'sandbox-edit-link-display' --> 'edit' -- 'compare-link-display' --> 'diff' -- 'module-sandbox-preload' --> 'Template:Documentation/preload-module-sandbox' -- 'template-sandbox-preload' --> 'Template:Documentation/preload-sandbox' -- 'sandbox-create-link-display' --> 'create' -- 'mirror-edit-summary' --> 'Create sandbox version of $1' -- 'mirror-link-display' --> 'mirror' -- 'mirror-link-preload' --> 'Template:Documentation/mirror' -- 'sandbox-link-display' --> 'sandbox' -- 'testcases-link-display' --> 'testcases' -- 'testcases-edit-link-display'--> 'edit' -- 'template-sandbox-preload' --> 'Template:Documentation/preload-sandbox' -- 'testcases-create-link-display' --> 'create' -- 'testcases-link-display' --> 'testcases' -- 'testcases-edit-link-display' --> 'edit' -- 'module-testcases-preload' --> 'Template:Documentation/preload-module-testcases' -- 'template-testcases-preload' --> 'Template:Documentation/preload-testcases' -- 'experiment-blurb-module' --> 'Editors can experiment in this module's $1 and $2 pages.' -- 'experiment-blurb-template' --> 'Editors can experiment in this template's $1 and $2 pages.' --]] local subjectSpace = env.subjectSpace local templateTitle = env.templateTitle local sandboxTitle = env.sandboxTitle local testcasesTitle = env.testcasesTitle local templatePage = templateTitle.prefixedText if not subjectSpace or not templateTitle or not sandboxTitle or not testcasesTitle then return nil end -- Make links. local sandboxLinks, testcasesLinks if sandboxTitle.exists then local sandboxPage = sandboxTitle.prefixedText local sandboxDisplay = message('sandbox-link-display') local sandboxLink = makeWikilink(sandboxPage, sandboxDisplay) local sandboxEditDisplay = message('sandbox-edit-link-display') local sandboxEditLink = makeWikilink("Special:EditPage/" .. sandboxPage, sandboxEditDisplay) local compareUrl = env.compareUrl local compareLink if compareUrl then local compareDisplay = message('compare-link-display') compareLink = makeUrlLink(compareUrl, compareDisplay) end sandboxLinks = sandboxLink .. ' ' .. makeToolbar(sandboxEditLink, compareLink) else local sandboxPreload if subjectSpace == 828 then sandboxPreload = message('module-sandbox-preload') else sandboxPreload = message('template-sandbox-preload') end local sandboxCreateUrl = sandboxTitle:canonicalUrl{action = 'edit', preload = sandboxPreload} local sandboxCreateDisplay = message('sandbox-create-link-display') local sandboxCreateLink = makeUrlLink(sandboxCreateUrl, sandboxCreateDisplay) local mirrorSummary = message('mirror-edit-summary', {makeWikilink(templatePage)}) local mirrorPreload = message('mirror-link-preload') local mirrorUrl = sandboxTitle:canonicalUrl{action = 'edit', preload = mirrorPreload, summary = mirrorSummary} if subjectSpace == 828 then mirrorUrl = sandboxTitle:canonicalUrl{action = 'edit', preload = templateTitle.prefixedText, summary = mirrorSummary} end local mirrorDisplay = message('mirror-link-display') local mirrorLink = makeUrlLink(mirrorUrl, mirrorDisplay) sandboxLinks = message('sandbox-link-display') .. ' ' .. makeToolbar(sandboxCreateLink, mirrorLink) end if testcasesTitle.exists then local testcasesPage = testcasesTitle.prefixedText local testcasesDisplay = message('testcases-link-display') local testcasesLink = makeWikilink(testcasesPage, testcasesDisplay) local testcasesEditUrl = testcasesTitle:canonicalUrl{action = 'edit'} local testcasesEditDisplay = message('testcases-edit-link-display') local testcasesEditLink = makeWikilink("Special:EditPage/" .. testcasesPage, testcasesEditDisplay) -- for Modules, add testcases run link if exists if testcasesTitle.contentModel == "Scribunto" and testcasesTitle.talkPageTitle and testcasesTitle.talkPageTitle.exists then local testcasesRunLinkDisplay = message('testcases-run-link-display') local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay) testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink, testcasesRunLink) else testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink) end else local testcasesPreload if subjectSpace == 828 then testcasesPreload = message('module-testcases-preload') else testcasesPreload = message('template-testcases-preload') end local testcasesCreateUrl = testcasesTitle:canonicalUrl{action = 'edit', preload = testcasesPreload} local testcasesCreateDisplay = message('testcases-create-link-display') local testcasesCreateLink = makeUrlLink(testcasesCreateUrl, testcasesCreateDisplay) testcasesLinks = message('testcases-link-display') .. ' ' .. makeToolbar(testcasesCreateLink) end local messageName if subjectSpace == 828 then messageName = 'experiment-blurb-module' else messageName = 'experiment-blurb-template' end return message(messageName, {sandboxLinks, testcasesLinks}) end function p.makeCategoriesBlurb(args, env) --[[ -- Generates the text "Please add categories to the /doc subpage." -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'doc-link-display' --> '/doc' -- 'add-categories-blurb' --> 'Please add categories to the $1 subpage.' --]] local docTitle = env.docTitle if not docTitle then return nil end local docPathLink = makeWikilink(docTitle.prefixedText, message('doc-link-display')) return message('add-categories-blurb', {docPathLink}) end function p.makeSubpagesBlurb(args, env) --[[ -- Generates the "Subpages of this template" link. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'template-pagetype' --> 'template' -- 'module-pagetype' --> 'module' -- 'default-pagetype' --> 'page' -- 'subpages-link-display' --> 'Subpages of this $1' --]] local subjectSpace = env.subjectSpace local templateTitle = env.templateTitle if not subjectSpace or not templateTitle then return nil end local pagetype if subjectSpace == 10 then pagetype = message('template-pagetype') elseif subjectSpace == 828 then pagetype = message('module-pagetype') else pagetype = message('default-pagetype') end local subpagesLink = makeWikilink( 'Special:PrefixIndex/' .. templateTitle.prefixedText .. '/', message('subpages-link-display', {pagetype}) ) return message('subpages-blurb', {subpagesLink}) end ---------------------------------------------------------------------------- -- Tracking categories ---------------------------------------------------------------------------- function p.addTrackingCategories(env) --[[ -- Check if {{documentation}} is transcluded on a /doc or /testcases page. -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'display-strange-usage-category' --> true -- 'doc-subpage' --> 'doc' -- 'testcases-subpage' --> 'testcases' -- 'strange-usage-category' --> 'Wikipedia pages with strange ((documentation)) usage' -- -- /testcases pages in the module namespace are not categorised, as they may have -- {{documentation}} transcluded automatically. --]] local title = env.title local subjectSpace = env.subjectSpace if not title or not subjectSpace then return nil end local subpage = title.subpageText if message('display-strange-usage-category', nil, 'boolean') and ( subpage == message('doc-subpage') or subjectSpace ~= 828 and subpage == message('testcases-subpage') ) then return makeCategoryLink(message('strange-usage-category')) end return '' end return p ky7myqtha9rjaznz4jxomjtdpuanlqs Module:array 828 2975 8287 2022-07-21T19:26:28Z Rebel Agent 2678 Ke dirile module 8287 Scribunto text/plain local Array = {} local array_constructor -- Copy table library so as not to unexpectedly change the behavior of code that -- uses it. local array_methods = mw.clone(table) -- Create version of table.sort that returns the table. array_methods.sort = function (t, comp) table.sort(t, comp) return t end -- ipairs and unpack operate on arrays. array_methods.ipairs = ipairs array_methods.unpack = unpack function array_methods:type() local mt = getmetatable(self) return type(mt) == "table" and mt.__type or nil end function array_methods:adjustIndex(index) index = math.floor(index) if index < 0 then index = #self + index + 1 end return index end -- string.sub-style slicing. function array_methods:slice(i, j) if i == nil then i = 1 elseif type(i) == "number" then i = self:adjust_index(i) else error("Expected number, got " .. type(i)) end if j == nil or type(j) == "number" then j = self:adjust_index(j or -1) else error("Expected number, got " .. type(j)) end local new_arr = array_constructor() local k = 0 for index = i, j do k = k + 1 new_arr[k] = self[index] end return new_arr end -- A function to convert string key-table modules such -- as [[Module:languages/data2]] into arrays. -- "from" is a bad name. -- field_for_key supplies the field name in which the -- key will be stored. local function to_array(map, field_for_key) m_table = m_table or require "Module:table" local arr = {} local i = 0 for key, val in pairs(map) do i = i + 1 local new_val = m_table.shallowcopy(val) if field_for_key then new_val[field_for_key] = key end arr[i] = new_val end return array_constructor(arr) end -- Functions from [[Module:table]] that operate on arrays or sparse arrays. -- List copied from [[Module:table/documentation]]. local operate_on_array = { -- non-sparse "removeDuplicates", "length", "contains", "serialCommaJoin", "reverseIpairs", "reverse", "invert", "listToSet", "isArray", -- sparse "numKeys", "maxIndex", "compressSparseArray", "sparseIpairs", -- tables in general "shallowcopy", "deepcopy", } -- Not all of these operate on arrays. local create_new_array = { -- Functions from [[Module:table]] that create an array. -- List copied from [[Module:table/documentation]]. "removeDuplicates", "numKeys", "affixNums", "compressSparseArray", "keysToList", "reverse", -- Functions from [[Module:table]] that create an table. "shallowcopy", "deepcopy", -- Functions from [[Module:fun]] that create an array. "map", "filter", } -- Functions from [[Module:fun]] that take an array in the second argument. -- They just have to have the argument order reversed to work as methods of the -- array object. local second_argument_is_array = { "map", "some", "all", "filter" } -- Add aliases for the functions from [[Module:table]] whose names -- contain "array" or "list", which is redundant, and whose names don't conform -- to the usual camel case. -- The key redirects to the value. local alias_of = { compress = "compressSparseArray", keys = "keysToList", toSet = "listToSet", deepCopy = "deepcopy", shallowCopy = "shallowcopy", } local function get_module_function(key, module, module_name) return module[key] or error("No function named " .. tostring(key) .. " in Module:" .. module_name) end local function wrap_in_array_constructor(func) return function (...) return array_constructor(func(...)) end end local function create_array_generating_func(key, module, module_name) return wrap_in_array_constructor(get_module_function(key, module, module_name)) end local function reverse_arguments(func) return function (a, b) return func(b, a, true) end end local function underscore_to_camel_case(str) if type(str) ~= "string" then return str end str = str:gsub("_(.)", string.upper) return str end local m_table, m_fun local Array = {} Array.__type = "array" function Array:__index(key) if type(key) ~= "string" then return nil end -- Convert underscores to camel case: num_keys -> numKeys. key = underscore_to_camel_case(key) local val = array_methods[key] if val then return val end key = alias_of[key] or key local func m_table = m_table or require "Module:table" if m_table.contains(operate_on_array, key) then if m_table.contains(create_new_array, key) then func = create_array_generating_func(key, m_table, "table") else func = m_table[key] end elseif m_table.contains(second_argument_is_array, key) then m_fun = m_fun or require "Module:fun" local raw_func = reverse_arguments(get_module_function(key, m_fun, "fun")) if m_table.contains(create_new_array, key) then func = wrap_in_array_constructor(raw_func) else func = raw_func end elseif key == "fold" then m_fun = m_fun or require "Module:fun" local raw_func = get_module_function(key, m_fun, "fun") func = function(t, func, accum) return raw_func(func, t, accum) end end if func then array_methods[key] = func return func end end function Array.__add(a, b) if type(a) == 'table' and type(b) == 'table' then m_table = m_table or require "Module:table" local new_arr = array_constructor(m_table.shallowcopy(a)) for _, val in ipairs(b) do new_arr:insert(val) end return new_arr end end function Array:new(...) local arr if select("#", ...) == 1 and type((...)) == "table" then arr = ... local mt = getmetatable(arr) -- If table has been loaded with mw.loadData, copy it to avoid the -- limitations of it being a virtual table. if mt and mt.mw_loadData then m_table = m_table or require "Module:table" arr = m_table.shallowcopy(arr) end else arr = { ... } end return setmetatable(arr, self) end -- Declared as local above. function array_constructor(...) return Array:new(...) end local array_generating_funcs = { from = to_array } local Array_library_mt = { __call = Array.new, __index = array_generating_funcs } setmetatable(Array, Array_library_mt) function Array_library_mt:__index(key) key = underscore_to_camel_case(key) key = alias_of[key] or key if array_generating_funcs[key] then return array_generating_funcs[key] end m_table = m_table or require "Module:table" if m_table.contains(create_new_array, key) then local func = create_array_generating_func(key, m_table, "table") array_generating_funcs[key] = func return func end end return Array 0xqegsnmoi0ytt538j00om4leq9onzn Tempolete:temp 10 2976 8288 2022-07-22T03:00:08Z Rebel Agent 2678 Ke dirile tempolete 8288 wikitext text/x-wiki {{safesubst:<noinclude></noinclude>#invoke:template link|format_link}}<noinclude>{{documentation}}</noinclude> hxjpg9dwvwj7zi4ktw8vqtcsxfwdnh0 Module:template link 828 2977 8289 2022-07-22T03:03:10Z Rebel Agent 2678 Ke dirile module 8289 Scribunto text/plain local export = {} local date_and_time = "mw:Help:Magic words#Date and time" local technical_metadata = "mw:Help:Magic words#Technical metadata" local tech_meta_another_page = "mw:Help:Magic words#Technical metadata of another page" local page_names = "mw:Help:Magic words#Page names" local namespaces = "mw:Help:Magic words#Namespaces" local formatting = "mw:Help:Magic words#Formatting" local URL_data = "mw:Help:Magic words#URL data" local localization = "mw:Help:Magic words#Localization" local miscellaneous = "mw:Help:Magic words#Miscellaneous" local parser_functions_link = "mw:Help:Extension:ParserFunctions" local LST = "mw:Extension:Labeled Section Transclusion" local variables_nullary = { ["CURRENTYEAR" ] = date_and_time; ["CURRENTMONTH" ] = date_and_time; ["CURRENTMONTH1" ] = date_and_time; -- undocumented ["CURRENTMONTH2" ] = date_and_time; -- undocumented ["CURRENTMONTHNAME" ] = date_and_time; ["CURRENTMONTHNAMEGEN"] = date_and_time; ["CURRENTMONTHABBREV" ] = date_and_time; ["CURRENTDAY" ] = date_and_time; ["CURRENTDAY2" ] = date_and_time; ["CURRENTDOW" ] = date_and_time; ["CURRENTDAYNAME" ] = date_and_time; ["CURRENTTIME" ] = date_and_time; ["CURRENTHOUR" ] = date_and_time; ["CURRENTWEEK" ] = date_and_time; ["CURRENTTIMESTAMP" ] = date_and_time; ["LOCALYEAR" ] = date_and_time; ["LOCALMONTH" ] = date_and_time; ["LOCALMONTH1" ] = date_and_time; -- undocumented ["LOCALMONTH2" ] = date_and_time; -- undocumented ["LOCALMONTHNAME" ] = date_and_time; ["LOCALMONTHNAMEGEN" ] = date_and_time; ["LOCALMONTHABBREV" ] = date_and_time; ["LOCALDAY" ] = date_and_time; ["LOCALDAY2" ] = date_and_time; ["LOCALDOW" ] = date_and_time; ["LOCALDAYNAME" ] = date_and_time; ["LOCALTIME" ] = date_and_time; ["LOCALHOUR" ] = date_and_time; ["LOCALWEEK" ] = date_and_time; ["LOCALTIMESTAMP" ] = date_and_time; ["SITENAME" ] = technical_metadata; ["SERVER" ] = technical_metadata; ["SERVERNAME" ] = technical_metadata; ["DIRMARK" ] = technical_metadata; ["DIRECTIONMARK" ] = technical_metadata; ["ARTICLEPATH" ] = technical_metadata; -- undocumented ["SCRIPTPATH" ] = technical_metadata; ["STYLEPATH" ] = technical_metadata; ["CURRENTVERSION" ] = technical_metadata; ["CONTENTLANGUAGE" ] = technical_metadata; ["CONTENTLANG" ] = technical_metadata; ["PAGEID" ] = technical_metadata; ["CASCADINGSOURCES" ] = technical_metadata; ["REVISIONID" ] = technical_metadata; ["REVISIONDAY" ] = technical_metadata; ["REVISIONDAY2" ] = technical_metadata; ["REVISIONMONTH" ] = technical_metadata; ["REVISIONMONTH1" ] = technical_metadata; ["REVISIONYEAR" ] = technical_metadata; ["REVISIONTIMESTAMP" ] = technical_metadata; ["REVISIONUSER" ] = technical_metadata; ["REVISIONSIZE" ] = technical_metadata; ["NUMBEROFPAGES" ] = technical_metadata; ["NUMBEROFARTICLES" ] = technical_metadata; ["NUMBEROFFILES" ] = technical_metadata; ["NUMBEROFEDITS" ] = technical_metadata; ["NUMBEROFVIEWS" ] = technical_metadata; ["NUMBEROFUSERS" ] = technical_metadata; ["NUMBEROFADMINS" ] = technical_metadata; ["NUMBEROFACTIVEUSERS"] = technical_metadata; ["FULLPAGENAME" ] = page_names; ["PAGENAME" ] = page_names; ["BASEPAGENAME" ] = page_names; ["SUBPAGENAME" ] = page_names; ["SUBJECTPAGENAME" ] = page_names; ["ARTICLEPAGENAME" ] = page_names; ["TALKPAGENAME" ] = page_names; ["ROOTPAGENAME" ] = page_names; -- undocumented ["FULLPAGENAMEE" ] = page_names; ["PAGENAMEE" ] = page_names; ["BASEPAGENAMEE" ] = page_names; ["SUBPAGENAMEE" ] = page_names; ["SUBJECTPAGENAMEE" ] = page_names; ["ARTICLEPAGENAMEE" ] = page_names; ["TALKPAGENAMEE" ] = page_names; ["ROOTPAGENAMEE" ] = page_names; -- undocumented ["NAMESPACE" ] = namespaces; ["NAMESPACENUMBER" ] = namespaces; ["SUBJECTSPACE" ] = namespaces; ["ARTICLESPACE" ] = namespaces; ["TALKSPACE" ] = namespaces; ["NAMESPACEE" ] = namespaces; ["SUBJECTSPACEE" ] = namespaces; ["TALKSPACEE" ] = namespaces; ["!" ] = "mw:Help:Magic words#Other"; } local variables_nonnullary = { ["PROTECTIONLEVEL" ] = technical_metadata; ["DISPLAYTITLE" ] = technical_metadata; ["DEFAULTSORT" ] = technical_metadata; ["PAGESINCATEGORY" ] = technical_metadata; ["PAGESINCAT" ] = technical_metadata; ["NUMBERINGROUP" ] = technical_metadata; ["PAGESINNS" ] = technical_metadata; ["PAGESINNAMESPACE" ] = technical_metadata; ["FULLPAGENAME" ] = page_names; ["PAGENAME" ] = page_names; ["BASEPAGENAME" ] = page_names; ["SUBPAGENAME" ] = page_names; ["SUBJECTPAGENAME" ] = page_names; ["ARTICLEPAGENAME" ] = page_names; ["TALKPAGENAME" ] = page_names; ["ROOTPAGENAME" ] = page_names; -- undocumented ["FULLPAGENAMEE" ] = page_names; ["PAGENAMEE" ] = page_names; ["BASEPAGENAMEE" ] = page_names; ["SUBPAGENAMEE" ] = page_names; ["SUBJECTPAGENAMEE" ] = page_names; ["ARTICLEPAGENAMEE" ] = page_names; ["TALKPAGENAMEE" ] = page_names; ["ROOTPAGENAMEE" ] = page_names; -- undocumented ["NAMESPACE" ] = namespaces; ["NAMESPACENUMBER" ] = namespaces; ["SUBJECTSPACE" ] = namespaces; ["ARTICLESPACE" ] = namespaces; ["TALKSPACE" ] = namespaces; ["NAMESPACEE" ] = namespaces; ["SUBJECTSPACEE" ] = namespaces; ["TALKSPACEE" ] = namespaces; ["PAGEID" ] = tech_meta_another_page; ["PAGESIZE" ] = tech_meta_another_page; ["PROTECTIONLEVEL" ] = tech_meta_another_page; ["CASCADINGSOURCES" ] = tech_meta_another_page; ["REVISIONID" ] = tech_meta_another_page; ["REVISIONDAY" ] = tech_meta_another_page; ["REVISIONDAY2" ] = tech_meta_another_page; ["REVISIONMONTH" ] = tech_meta_another_page; ["REVISIONMONTH1" ] = tech_meta_another_page; ["REVISIONYEAR" ] = tech_meta_another_page; ["REVISIONTIMESTAMP" ] = tech_meta_another_page; ["REVISIONUSER" ] = tech_meta_another_page; } local parser_functions = { -- built-ins ["localurl" ] = URL_data; ["localurle" ] = URL_data; ["fullurl" ] = URL_data; ["fullurle" ] = URL_data; ["canonicalurl" ] = URL_data; ["canonicalurle"] = URL_data; ["filepath" ] = URL_data; ["urlencode" ] = URL_data; ["urldecode" ] = URL_data; ["anchorencode" ] = URL_data; ["ns" ] = namespaces; ["nse" ] = namespaces; ["formatnum" ] = formatting; ["#dateformat" ] = formatting; ["#formatdate" ] = formatting; ["lc" ] = formatting; ["lcfirst" ] = formatting; ["uc" ] = formatting; ["ucfirst" ] = formatting; ["padleft" ] = formatting; ["padright" ] = formatting; ["plural" ] = localization; ["grammar" ] = localization; ["gender" ] = localization; ["int" ] = localization; ["#language" ] = miscellaneous; ["#special" ] = miscellaneous; ["#speciale" ] = miscellaneous; ["#tag" ] = miscellaneous; -- [[mw:Extension:ParserFunctions]] ["#expr" ] = parser_functions_link .. "##expr"; ["#if" ] = parser_functions_link .. "##if"; ["#ifeq" ] = parser_functions_link .. "##ifeq"; ["#iferror" ] = parser_functions_link .. "##iferror"; ["#ifexpr" ] = parser_functions_link .. "##ifexpr"; ["#ifexist" ] = parser_functions_link .. "##ifexist"; ["#rel2abs" ] = parser_functions_link .. "##rel2abs"; ["#switch" ] = parser_functions_link .. "##switch"; ["#time" ] = parser_functions_link .. "##time"; ["#timel" ] = parser_functions_link .. "##timel"; ["#titleparts" ] = parser_functions_link .. "##titleparts"; -- other extensions ["#invoke" ] = "mw:Extension:Scribunto"; ["#babel" ] = "mw:Extension:Babel"; ["#categorytree" ] = "mw:Extension:CategoryTree#The {{#categorytree}} parser function"; ["#lst" ] = LST; ["#lstx" ] = LST; ["#lsth" ] = LST; -- not available, it seems ["#lqtpagelimit" ] = "mw:Extension:LiquidThreads"; ["#useliquidthreads"] = "mw:Extension:LiquidThreads"; ["#target" ] = "mw:Extension:MassMessage"; -- not documented yet } -- rudimentary local function is_valid_pagename(pagename) if (pagename == "") or pagename:match("[%[%]%|%{%}#\127<>]") then return false end return true end local function hook_special(page) if is_valid_pagename(page) then return "[[Special:" .. page .. "|" .. page .. "]]" else return page end end local parser_function_hooks = { ["#special" ] = hook_special; ["#speciale"] = hook_special; ["int"] = function (mesg) if is_valid_pagename(mesg) then return ("[[:MediaWiki:" .. mesg .. "|" .. mesg .. "]]") else return mesg end end; ["#categorytree"] = function (cat) if is_valid_pagename(cat) and not (mw.title.getCurrentTitle().fullText == ("Category:" .. cat)) then return ("[[:Category:" .. cat .. "|" .. cat .. "]]") else return cat end end; ["#invoke"] = function (mod) if is_valid_pagename(mod) and not (mw.title.getCurrentTitle().fullText == ("Module:" .. mod)) then return ("[[Module:%s|%s]]"):format(mod, mod) else return mod end end; ["#tag"] = function (tag) local doc_table = require('Module:wikitag link').doc_table if doc_table[tag] then return ("[[%s|%s]]"):format(doc_table[tag], tag) else return tag end end; } function export.format_link(frame) if mw.isSubsting() then return require('Module:unsubst').unsubst_template("format_link") end local args = (frame.getParent and frame:getParent().args) or frame -- Allows function to be called from other modules. local output = { (frame.args and frame.args.nested) and "&#123;&#123;" or "<code>&#123;&#123;" } local templ = (frame.args and frame.args.annotate) or args[1] local noargs = (frame.args and not frame.args.annotate) and next(args) == nil if not templ then if mw.title.getCurrentTitle().fullText == frame:getParent():getTitle() then -- demo mode return "<code>{{<var>{{{1}}}</var>|<var>{{{2}}}</var>|...}}</code>" else error("The template name must be given.") end end local function render_title(templ) local marker, rest marker, rest = templ:match("^([Ss][Uu][Bb][Ss][Tt]):(.*)") if not marker then marker, rest = templ:match("^([Ss][Aa][Ff][Ee][Ss][Uu][Bb][Ss][Tt]):(.*)") end if marker then templ = rest table.insert(output, ("[[mw:Manual:Substitution|%s]]:"):format(marker)) end if noargs and variables_nullary[templ] then table.insert(output, ("[[%s|%s]]"):format(variables_nullary[templ], templ)) return end marker, rest = templ:match("^([Mm][Ss][Gg][Nn][Ww]):(.*)") if marker then templ = rest -- not the most accurate documentation ever table.insert(output, ("[[m:Help:Magic words#Template modifiers|%s]]:"):format(marker)) else marker, rest = templ:match("^([Mm][Ss][Gg]):(.*)") if marker then templ = rest table.insert(output, ("[[m:Help:Magic words#Template modifiers|%s]]:"):format(marker)) -- ditto end end marker, rest = templ:match("^([Rr][Aa][Ww]):(.*)") if marker then table.insert(output, ("[[m:Help:Magic words#Template modifiers|%s]]:"):format(marker)) -- missingno. templ = rest end if templ:match("^%s*/") then table.insert(output, ("[[%s]]"):format(templ)) return end marker, rest = templ:match("^(.-):(.*)") if marker then local lcmarker = marker:lower() if parser_functions[lcmarker] then if parser_function_hooks[lcmarker] then rest = parser_function_hooks[lcmarker](rest) end table.insert(output, ("[[%s|%s]]:%s"):format(mw.uri.encode(parser_functions[lcmarker], "WIKI"), marker, rest)) return elseif variables_nonnullary[marker] then table.insert(output, ("[[%s|%s]]:%s"):format(variables_nonnullary[marker], marker, rest)) return end end if not is_valid_pagename(templ) then table.insert(output, templ) return end if marker then if mw.site.namespaces[marker] then if (title == "") or (mw.title.getCurrentTitle().fullText == templ) then -- ?? no such variable "title" table.insert(output, templ) elseif marker == "" and templ:find("^:") then -- for cases such as {{temp|:entry}}; MediaWiki displays [[:entry]] without a colon, like [[entry]], but colon should be shown table.insert(output, ("[[%s|%s]]"):format(templ, templ)) else table.insert(output, ("[[:%s|%s]]"):format(templ, templ)) end return elseif mw.site.interwikiMap()[marker:lower()] then -- XXX: not sure what to do now… table.insert(output, ("[[:%s:|%s]]:%s"):format(marker, marker, rest)) return end end if (templ == "") or (mw.title.getCurrentTitle().fullText == ("Template:" .. templ)) then table.insert(output, templ) else table.insert(output, ("[[Template:%s|%s]]"):format(templ, templ)) end end render_title(templ) local i = (frame.args and frame.args.annotate) and 1 or 2 while args[i] do table.insert(output, "&#124;" .. args[i]) i = i + 1 end for key, value in require("Module:table").sortedPairs(args) do if type(key) == "string" then table.insert(output, "&#124;" .. key .. "=" .. value) end end table.insert(output, (frame.args and frame.args.nested) and "&#125;&#125;" or "&#125;&#125;</code>") return table.concat(output) end return export cy6xa1x3igx8v32yt0p1sxatf4d38ex Tempolete:l 10 2978 8290 2022-07-22T08:45:00Z Rebel Agent 2678 Ke dirile template 8290 wikitext text/x-wiki {{#invoke:links/templates|l_term_t<noinclude>|demo=term</noinclude>}}<!-- -->{{#ifeq:{{PAGENAME}}|RecentChanges||<!-- -->{{#ifeq:{{{1|}}}|und|[[Category:Undetermined language links]]}}<!-- -->}}<!-- -->{{redlink category|{{{1|}}}|{{{2|}}}|template=l}}<!-- --><noinclude>{{documentation}}</noinclude> 99mqntzbd62dvi0u0aty63zyqj6joo9 Module:links/templates 828 2979 8291 2022-07-22T08:47:32Z Rebel Agent 2678 Ke dirile module 8291 Scribunto text/plain local export = {} --[=[ Modules used: [[Module:links]] [[Module:languages]] [[Module:scripts]] [[Module:parameters]] [[Module:debug]] ]=] -- Used in [[Template:l]] and [[Template:m]]. function export.l_term_t(frame) local face = frame.args["face"] local allowSelfLink = frame.args["notself"]; allowSelfLink = not allowSelfLink or allowSelfLink == "" local params = { [1] = {required = true}, [2] = {}, [3] = {}, [4] = {alias_of = "gloss"}, ["accel-form"] = {}, ["accel-translit"] = {}, ["accel-lemma"] = {}, ["accel-lemma-translit"] = {}, ["accel-gender"] = {}, ["accel-nostore"] = {type = "boolean"}, ["g"] = {list = true}, ["gloss"] = {}, ["id"] = {}, ["lit"] = {}, ["pos"] = {}, ["t"] = {alias_of = "gloss"}, ["tr"] = {}, ["ts"] = {}, ["sc"] = {}, } -- Compatibility mode for {{term}}. -- If given a nonempty value, the function uses lang= to specify the -- language, and all the positional parameters shift one number lower. local compat = (frame.args["compat"] or "") ~= "" if compat then params["lang"] = {}, table.remove(params, 1) end local args = require("Module:parameters").process(frame:getParent().args, params) local lang = args[compat and "lang" or 1] -- Tracking for missing language or und if not lang then require("Module:debug").track("link/no lang") elseif lang == "und" then require("Module:debug").track("link/und") end lang = lang or "und" local sc = args["sc"] local term = args[(compat and 1 or 2)] local alt = args[(compat and 2 or 3)] -- Check parameters lang = require("Module:languages").getByCode(lang, 1, "allow etym") lang = require("Module:languages").getNonEtymological(lang) if sc then sc = require("Module:scripts").getByCode(sc, "sc") end if not term and not alt and frame.args["demo"] then term = frame.args["demo"] end -- Forward the information to full_link return require("Module:links").full_link( { lang = lang, sc = sc, term = term, alt = alt, id = args["id"], tr = args["tr"], ts = args["ts"], genders = args["g"], gloss = args["gloss"], pos = args["pos"], lit = args["lit"], accel = args["accel-form"] and { form = args["accel-form"], translit = args["accel-translit"], lemma = args["accel-lemma"], lemma_translit = args["accel-lemma-translit"], gender = args["accel-gender"], nostore = args["accel-nostore"], } or nil, }, face, allowSelfLink ) end -- Used in [[Template:ll]]. function export.ll(frame) local params = { [1] = { required = true }, [2] = { allow_empty = true }, [3] = {}, ["notself"] = { type = "boolean", default = false }, ["id"] = {}, } local args = require("Module:parameters").process(frame:getParent().args, params) local allowSelfLink = not args["notself"] local lang = args[1] lang = require("Module:languages").getByCode(lang, 1, "allow etym") lang = require("Module:languages").getNonEtymological(lang) local text = args[2] local alt = args[3] if text == "" then return alt or "" end local id = args["id"] return require("Module:links").language_link( { term = text, alt = alt, lang = lang, id = id }, allowSelfLink ) end function export.def_t(frame) local params = { [1] = {required = true, default = ""}, } local args = require("Module:parameters").process(frame:getParent().args, params) return require("Module:links").english_links(args[1]) end function export.linkify_t(frame) local params = { [1] = {required = true, default = ""}, } local args = require("Module:parameters").process(frame:getParent().args, params) args[1] = mw.text.trim(args[1]) if args[1] == "" or args[1]:find("[[", nil, true) then return args[1] else return "[[" .. args[1] .. "]]" end end function export.section_link_t(frame) local params = { [1] = {}, } local args = require("Module:parameters").process(frame:getParent().args, params) return require("Module:links").section_link(args[1]) end function export.language_name_link_t(frame) local face = frame.args["face"] local allowSelfLink = frame.args["notself"]; allowSelfLink = not allowSelfLink or allowSelfLink == "" local params = { [1] = {required = true}, [2] = {}, [3] = {}, [4] = {alias_of = "gloss"}, ["g"] = {list = true}, ["gloss"] = {}, ["id"] = {}, ["lit"] = {}, ["pos"] = {}, ["t"] = {alias_of = "gloss"}, ["tr"] = {}, ["ts"] = {}, ["sc"] = {}, ["w"] = { type = "boolean", default = false }, } -- Compatibility mode for {{term}}. -- If given a nonempty value, the function uses lang= to specify the -- language, and all the positional parameters shift one number lower. local compat = (frame.args["compat"] or "") ~= "" if compat then params["lang"] = {}, table.remove(params, 1) end local args = require("Module:parameters").process(frame:getParent().args, params) local lang = args[compat and "lang" or 1] -- Tracking for missing language or und if not lang then require("Module:debug").track("link/no lang") elseif lang == "und" then require("Module:debug").track("link/und") end lang = lang or "und" local sc = args["sc"] local term = args[(compat and 1 or 2)] local alt = args[(compat and 2 or 3)] -- Check parameters lang = require("Module:languages").getByCode(lang, 1, "allow etym") local non_etym_lang = require("Module:languages").getNonEtymological(lang) if sc then sc = require("Module:scripts").getByCode(sc, "sc") end if not term and not alt and frame.args["demo"] then term = frame.args["demo"] end --[[ Add a language name, linked to Wikipedia if the Wikipedia parameter is set to true. Forward the information to full_link. ]] local language_name = args.w and lang:makeWikipediaLink() or lang:getCanonicalName() if term == "-" then return language_name else return language_name .. " " .. require("Module:links").full_link( { lang = non_etym_lang, sc = sc, term = term, alt = alt, id = args["id"], tr = args["tr"], ts = args["ts"], genders = args["g"], gloss = args["gloss"], pos = args["pos"], lit = args["lit"] }, face, allowSelfLink ) end end return export c74idvbcjv5qumy4nemez9113m0f9co Module:debug 828 2980 8475 8292 2022-10-04T03:21:09Z Rebel Agent 2678 Paakanyo 8475 Scribunto text/plain local export = {} local escape do local escapes = { ["\a"] = "a", ["\b"] = "b", ["\f"] = "f", ["\n"] = "n", ["\r"] = "r", ["\t"] = "t", ["\v"] = "v", ["\\"] = "\\", ["\""] = '"', ["'"] = "'", } local function helper(char) return escapes[char] and "\\" .. escapes[char] or ("\\%03d"):format(char:byte()) end -- Escape control characters, backslash, double quote, and bytes that aren't -- used in UTF-8. -- Escape stuff that can't be saved in a MediaWiki page, like invalid UTF-8 -- and NFD character sequences? Hard. -- Similar to string.format("%q", str), which does not use C-like simple -- escapes and does not escape bytes that are not used in UTF-8. escape = function (str) return (str:gsub("[%z\1-\31\\\"\127\192\193\245-\255]", helper)) end end export.escape = escape -- Convert a value to a string function export.dump(value, prefix, tsort) local t = type(value) prefix = prefix or "" if t == "string" then return '"' .. escape(value) .. '"' elseif t == "table" then local str_table = {} table.insert(str_table, " {") for key, val in require("Module:table").sortedPairs(value, tsort) do table.insert(str_table, " " .. prefix .. "\t[" .. export.dump(key, prefix .. "\t") .. "] = " .. export.dump(val, prefix .. "\t"):gsub("^ ", "") .. ",") end table.insert(str_table, " " .. prefix .. "}") return table.concat(str_table, "\n") else return tostring(value) end end function export.highlight_dump(value, prefix, tsort, options) options = options or {} local func = options.modified and "modified_dump" or "dump" local dump = export[func](value, prefix, tsort) -- Remove spaces at beginnings of lines (which are simply to force a <pre></pre> tag). dump = dump:gsub("^ ", "") dump = dump:gsub("\n ", "\n") return export.highlight(dump) end -- Returns true if table contains a table as one of its values local function containsTable(t) for key, value in pairs(t) do if type(value) == "table" then return true end end return false end local function containsTablesWithSize(t, size) for key, value in pairs(t) do if type(value) == "table" and require("Module:table").size(value) ~= size then return false end end return true end --[=[ Convert a value to a string. Like dump below, but if a table has consecutive numbered keys and does not have a table as one of its values, it will be placed on a single line. Used by [[Module:User:Erutuon/script recognition]]. ]=] function export.modified_dump(value, prefix, tsort) local t = type(value) prefix = prefix or "" if t == "string" then return '"' .. value .. '"' elseif t == "table" then local str_table = {} local containsTable = containsTable(value) local consecutive = require("Module:table").isArray(value) if consecutive and not containsTable or containsTable and containsTablesWithSize(value, 3) then table.insert(str_table, "{") for key, val in require("Module:table").sortedPairs(value, tsort) do if containsTable then table.insert(str_table, "\n\t" .. prefix) else table.insert(str_table, " ") end if type(key) == "string" then table.insert(str_table, "[" .. export.modified_dump(key) .. "] = ") end table.insert(str_table, type(key) == "number" and type(val) == "number" and string.format("0x%05X", val) or export.modified_dump(val)) if not (consecutive and #value == 3) or type(key) == "number" and value[key + 1] then table.insert(str_table, ",") end end if containsTable then table.insert(str_table, "\n" .. prefix) else table.insert(str_table, " ") end table.insert(str_table, "}") return table.concat(str_table) end table.insert(str_table, " {") for key, val in require("Module:table").sortedPairs(value, tsort) do table.insert(str_table, " " .. prefix .. "\t[" .. export.modified_dump(key, prefix .. "\t") .. "] = " .. export.modified_dump(val, prefix .. "\t"):gsub("^ ", "") .. ",") end table.insert(str_table, " " .. prefix .. "}") return table.concat(str_table, "\n") elseif t == "number" and value > 46 then return string.format("0x%05X", value) else return tostring(value) end end function export.track(key) local frame = mw.getCurrentFrame() if key then if type(key) ~= "table" then key = { key } end for i, value in pairs(key) do pcall(frame.expandTemplate, frame, { title = 'tracking/' .. value }) end else error('No tracking key supplied to the function "' .. track .. '".') end end -- Trigger a script error from a template function export.error(frame) error(frame.args[1] or "(no message specified)") end --[[ Convenience function for generating syntaxhighlight tags. Display defaults to block. Options is a table. To display inline text with HTML highlighting: { inline = true, lang = "html" } ]] function export.highlight(content, options) if type(content) == "table" then options = content options = { lang = options.lang or "lua", inline = options.inline and true } return function(content) return mw.getCurrentFrame():extensionTag{ name = "syntaxhighlight", content = content, args = options } end else return mw.getCurrentFrame():extensionTag{ name = "syntaxhighlight", content = content, args = { lang = options and options.lang or "lua", inline = options and options.inline and true or nil } } end end function export.track_unrecognized_args(args, template_name) local function track(code) export.track(template_name .. "/" .. code) end track("unrecognized arg") local arg_list = {} for arg, value in pairs(args) do track("unrecognized arg/" .. arg) table.insert(arg_list, ("|%s=%s"):format(arg, value)) end mw.log( ("Unrecognized parameter%s in {{%s}}: %s."):format( arg_list[2] and "s" or "", template_name, table.concat(arg_list, ", "))) end return export bbo15n2nu1u0rrqqrcena3usqb0g5kx Module:debug/track 828 2981 8293 2022-07-22T08:53:19Z Rebel Agent 2678 Ke dirile module 8293 Scribunto text/plain return function (key) local frame = mw.getCurrentFrame() if key then if type(key) ~= "table" then key = { key } end for i, value in pairs(key) do pcall(frame.expandTemplate, frame, { title = 'tracking/' .. value }) end else error('No tracking key supplied to the function "' .. track .. '".') end end 332d44anbo5v9lwub0vhfkjrof53szz Module:accent qualifier/data 828 2982 8294 2022-07-22T08:56:33Z Rebel Agent 2678 Ke dirile module 8294 Scribunto text/plain local labels = {} local aliases = {} local CE = '<small class="ce-date2">CE</small>' local BCE = '<small class="ce-date2">BCE</small>' -- A labels["AAVE"] = { link = "African American Vernacular English", display = "AAVE" } aliases["African American Vernacular English"] = "AAVE" aliases["African American Vernacular"] = "AAVE" aliases["African-American Vernacular English"] = "AAVE" aliases["African-American Vernacular"] = "AAVE" labels["æ-tensing"] = { link = "æ-tensing", type = "sound change" } aliases["ae-tensing"] = "æ-tensing" labels["afb"] = { link = "Gulf Arabic", display = "Gulf Arabic" } aliases["Gulf"] = "afb" aliases["Khaleeji"] = "afb" aliases["Gulfie"] = "afb" labels["Ala-Laukaa"] = { link = "Ingrian phonology#Ala-Laukaa dialect", display = "Ala-Laukaa" } labels["Anglicised"] = { link = "Anglicisation#Anglicisation of non-English-language vocabulary and names", display = "Anglicised" } aliases["Anglicized"] = "Anglicised" labels["Aran"] = { link = "Aran Islands", display = "Aran" } labels["ar-Cairene"] = { link = "Egyptian Arabic", display = "Cairene" } aliases["Cairene"] = "ar-Cairene" labels["Arvanite"] = { link = "Arvanitika", display = "Arvanite" } labels["Ashkenazi Hebrew"] = { link = "Ashkenazi Hebrew", display = "Ashkenazi Hebrew" } aliases["Ashkenazi"] = "Ashkenazi Hebrew" labels["Australia"] = { link = "Australian English phonology", display = "General Australian" } aliases["AU"] = "Australia" aliases["AuE"] = "Australia" aliases["Aus"] = "Australia" aliases["AusE"] = "Australia" aliases["GenAus"] = "Australia" aliases["General Australian"] = "Australia" -- B labels["Balearic Catalan"] = { link = "Balearic dialect", display = "Balearic", } aliases["Balearic"] = "Balearic Catalan" labels["Batangas"] = { link = "Batangas Tagalog", display = "Batangas" } aliases["Batangas Tagalog"] = "Batangas" aliases["Batangueño"] = "Batangas" labels["BE-nl"] = { link = "Belgian Dutch", display = "Belgium" } aliases["BE"] = "BE-nl" labels["Beijing"] = { link = "Beijing dialect", display = "Beijing" } labels["Bohol"] = { link = "Boholano dialect", display = "Bohol" } aliases["Binol-anon"] = "Bohol" aliases["Boholano"] = "Bohol" aliases["Bohol Island"] = "Bohol" aliases["Bohol Province"] = "Bohol" labels["Bosnia"] = { link = "Comparison of standard Bosnian, Croatian, Montenegrin and Serbian#Accentuation", display = "Bosnia" } aliases["Bosnian"] = "Bosnia" labels["Boston"] = { link = "Boston English", display = "Boston" } aliases["Bos"] = "Boston" labels["Brazil"] = { link = "Brazilian Portuguese", display = "Brazil" } aliases["BP"] = "Brazil" aliases["BR"] = "Brazil" aliases["Brazilian Portuguese"] = "Brazil" labels["Burträsk"] = { link = "Burträsk", } labels["Bygdeå"] = { link = "Bygdeå", } -- C labels["Canada"] = { link = "Canadian English", display = "Canada" } aliases["CA"] = "Canada" aliases["Canadian"] = "Canada" labels["Canadian Shift"] = { link = "Canadian Shift", display = "Canadian Vowel Shift", type = "sound change" } aliases["Canadian shift"] = "Canadian Shift" aliases["Canadian Vowel Shift"] = "Canadian Shift" aliases["Canadian vowel shift"] = "Canadian Shift" labels["Rio de Janeiro"] = { link = "Carioca#Sociolect", display = "Rio de Janeiro" } aliases["RJ"] = "Rio de Janeiro" aliases["Carioca"] = "Rio de Janeiro" labels["Castilian"] = { link = "Castilian Spanish", display = "Castilian" } aliases["Spain"] = "Castilian" labels["Central Catalan"] = { link = "Central Catalan", display = "Central", } labels["central Germany"] = { display = "central Germany" } aliases["central German"] = "central Germany" aliases["Central German"] = "central Germany" aliases["Central Germany"] = "central Germany" labels["central Italy"] = { link = "Central Italian", display = "central Italy" } aliases["central Italian"] = "central Italy" aliases["Central Italian"] = "central Italy" aliases["Central Italy"] = "central Italy" labels["Central Scotland"] = { link = "Central Scots", display = "Central Scotland" } labels["Central Sweden"] = { link = "Central Swedish", display = "Central Sweden" } aliases["Central Swedish"] = "Central Sweden" labels["ceceo"] = { link = "ceceo", display = "''ceceo'' merger", type = "sound change" } labels["Clay"] = { link = "Clay Frisian", display = "Clay", } labels["Classical"] = { link = "Classical Latin", display = "Classical" } labels["Classical Persian"] = { link = "Persian_language#Classical_Persian", display = "Classical Persian" } labels["Classical Sanskrit"] = { link = "Sanskrit#Classical Sanskrit", display = "Classical" } labels["Cois Fharraige"] = { link = "Gaeltacht Cois Fharraige", display = "Cois Fharraige" } aliases["CF"] = "Cois Fharraige" labels["Connacht"] = { link = "Connacht Irish", display = "Connacht" } labels["Connemara"] = { link = "Connemara", display = "Connemara" } aliases["Conamara"] = "Connemara" labels["Cork"] = { link = "Gaeltacht#Cork Gaeltacht", display = "Cork" } aliases["West Cork"] = "Cork" aliases["West Muskerry"] = "Cork" labels["cot-caught"] = { link = "Cot–caught merger", display = "''cot''–''caught'' merger", type = "sound change" } aliases["caught-cot"] = "cot-caught" labels["Croatia"] = { link = "Comparison of standard Bosnian, Croatian, Montenegrin and Serbian#Accentuation", display = "Croatia" } aliases["Croatian"] = "Croatia" labels["cure-force"] = { link = "Cure–force merger", display = "''cure''–''force'' merger", type = "sound change" } aliases["pour-poor"] = "cure-force" labels["cure-nurse"] = { link = "Cure-nurse merger", display = "''cure''–''nurse'' merger", type = "sound change" } aliases["cure-fir"] = "cure-nurse" labels["cy-N"] = { link = "Welsh language#Dialects", display = "North Wales" } aliases["cy-g"] = "cy-N" aliases["North Wales"] = "cy-N" labels["cy-S"] = { link = "Welsh language#Dialects", display = "South Wales" } aliases["cy-h"] = "cy-S" aliases["South Wales"] = "cy-S" -- D labels["Dhakaiya"] = { link = "Dhakaiya Urdu", display = "Dhakaiya" } aliases["Khoshbas"] = "Dhakaiya" aliases["Sobbasi"] = "Dhakaiya" labels["Dari"] = { link = "Dari Persian", display = "Dari" } aliases["Dari Persian"] = "Dari" labels["Deccani"] = { link = "Deccani language", display = "Deccani" } aliases["Hyderabadi"] = "Deccani" aliases["Telangana"] = "Deccani" aliases["Dakhni"] = "Deccani" aliases["Dakhini"] = "Deccani" labels["Delhi"] = { display = "Delhi Hindi" } labels["Delhi"] = { display = "Delhi Hindi" } labels["distinción"] = { link = "distinción", display = "''z''-''s'' distinction", type = "sound change" } aliases["distincion"] = "distinción" labels["DE"] = { link = "Dublin English", display = "Dublin English" } aliases["Dublin English"] = "DE" labels["Doabi"] = { link = "Doabi dialect", display = "Doabi" } -- E labels["Ecclesiastical"] = { link = "Ecclesiastical Latin", display = "Ecclesiastical" } labels["Egyptological"] = { link = "Egyptian language#Egyptological pronunciation", display = "modern Egyptological" } aliases["modern Egyptological"] = "Egyptological" labels["Estuary English"] = { link = "Estuary English" } -- F labels["father-bother"] = { link = "Father–bother merger", display = "''father''-''bother'' merger", type = "sound change" } labels["Finland"] = { link = "Finland Swedish#Phonology", display = "Finland" } aliases["Finland Swedish"] = "Finland" aliases["Fenno-Swedish"] = "Finland" labels["FS"] = { link = "Standard French", display = "FS" } labels["FV"] = { link = "French Flemish", display = "French Flanders" } -- G labels["Galway"] = { link = "Gaeltacht#Galway Gaeltacht", display = "Galway" } labels["GenAm"] = { link = "General American" } aliases["GA"] = "GenAm" aliases["General American"] = "GenAm" labels["General Cebuano"] = { link = "Cebuano language#Dialects", display = "General Cebuano" } aliases["Carcar-Dalaguete"] = "General Cebuano" aliases["GCeb"] = "General Cebuano" aliases["Sialo"] = "General Cebuano" aliases["Standard Cebuano"] = "General Cebuano" labels["Geordie"] = { link = "Geordie" } labels["Ghawa"] = { display = "[[Ghawa syndrome]]" } labels["Gheg"] = { link = "Gheg Albanian", display = "Gheg" } labels["Givi"] = { link = "Giv, South Khorasan", display = "Givi" } labels["Glenties"] = { link = "Glenties", display = "The Glenties" } labels["grc-byz1"] = { link = "Medieval Greek", display = '10<sup>th</sup> ' .. CE .. ' Byzantine' } labels["grc-byz2"] = { link = "Medieval Greek", display = '15<sup>th</sup> ' .. CE .. ' Constantinopolitan' } labels["grc-cla"] = { link = "Ancient Greek phonology", display = '5<sup>th</sup> ' .. BCE .. ' Attic' } labels["grc-koi1"] = { link = "Koine Greek phonology", display = '1<sup>st</sup> ' .. CE .. ' Egyptian' } labels["grc-koi2"] = { link = "Koine Greek phonology", display = '4<sup>th</sup> ' .. CE .. ' Koine' } labels["Gwenedeg"] = { link = "Gwenedeg", display = "Gwened" } -- H labels["hbo"] = { link = "Biblical Hebrew#Phonology", display = "Biblical Hebrew" } aliases["Biblical Hebrew"] = "hbo" labels["Hevaha"] = { link = "Ingrian language#Dialects", display = "Hevaha" } labels["Hong Kong"] = { link = "Hong Kong English", display = "Hong Kong" } aliases["HK"] = "Hong Kong" labels["horse-hoarse"] = { link = "horse–hoarse merger", display = "without the ''horse''–''hoarse'' merger", type = "sound change" } labels["Hössjö"] = { link = "sv:Hössjö", } labels["Hure"] = { link = "Hure Banner", } labels["hy-E"] = { link = "Eastern Armenian", display = "Eastern Armenian, standard" } labels["hy-IR"] = { link = "Armenian Iranians#Culture and language", display = "Eastern Armenian, Iran" } labels["hy-W"] = { link = "Western Armenian", display = "Western Armenian, standard" } labels["hy-Y"] = { link = "Yerevan dialect", display = "Eastern Armenian, Yerevan" } -- I labels["IL"] = { link = "Modern Hebrew phonology", display = "Modern Israeli Hebrew" } aliases["Israeli Hebrew"] = "IL" aliases["Modern Hebrew"] = "IL" aliases["Modern Israeli"] = "IL" aliases["Modern Israeli Hebrew"] = "IL" aliases["Modern/Israeli Hebrew"] = "IL" labels["InE"] = { link = "Indian English", display = "Indian English" } labels["Inland North"] = { link = "Inland Northern American English", display = "Inland Northern American" } aliases["US Inland North"] = "Inland North" aliases["Inland Northern"] = "Inland North" aliases["Inland Northern American"] = "Inland North" aliases["Inland Northern English"] = "Inland North" aliases["Inland Northern American English"] = "Inland North" aliases["Great Lakes"] = "Inland North" aliases["Northern Cities Vowel Shift"] = "Inland North" aliases["northern cities vowel shift"] = "Inland North" labels["intrusive r"] = { link = "Intrusive r", display = "intrusive r", type = "sound change" } labels["Iranian Persian"] = { link = "Western Persian", display = "Iranian Persian" } aliases["IR"] = "Iranian Persian" aliases["Western Persian"] = "Iranian Persian" labels["Ireland"] = { link = "Hiberno-English", display = "Ireland" } aliases["HE"] = "Ireland" aliases["IE"] = "Ireland" labels["Italian Hebrew"] = { link = "Italian Hebrew", display = "Italian Hebrew" } -- J labels["Johor-Selangor"] = { link = "Malayan languages", display = "Johor-Selangor" } -- K labels["Kabul, Peshawar"] = { link = "Pashto dialects", display = "Kabul, Peshawar" } labels["Kalix"] = { link = "Kalix dialect", display = "Kalix" } labels["Kandahar"] = { link = "Kandahari Pashto", display = "Kandahar" } aliases["ps-Kandahar"] = "Kandahar" labels["Karachi"] = { display = "Karachi Urdu" } labels["Kerry"] = { link = "Gaeltacht#Kerry Gaeltacht", display = "Kerry" } aliases["West Kerry"] = "Kerry" labels["khk"] = { link = "Khalkha Mongolian", display = "Mongolia Khalkha", } labels["kw"] = { link = "Kuwaiti Arabic", display = "Kuwaiti Gulf Arabic" } aliases["Q8"] = "kw" aliases["KW"] = "kw" aliases["Kuwait"] = "kw" aliases["Kuwaiti"] = "kw" aliases["Kuwaiti Gulf Arabic"] = "kw" labels["xme-ham"] = { display = "Hamadani", link = "Kermanic languages", } labels["xme-mah"] = { display = "Mahallati", link = "Kermanic languages", } labels["xme-von"] = { display = "Vonishuni", link = "Kermanic languages", } labels["xme-del"] = { display = "Delijani", link = "Kermanic languages", } labels["xme-kas"] = { display = "Kashani", link = "Kermanic languages", } labels["xme-kes"] = { display = "Kese'i", link = "Kermanic languages", } labels["xme-mey"] = { display = "Meyme'i", link = "Kermanic languages", } labels["xme-abz"] = { display = "Abuzeydabadi", link = "Kermanic languages", } labels["xme-aby"] = { display = "Abyanehi", link = "Kermanic languages", } labels["xme-far"] = { display = "Farizandi", link = "Kermanic languages", } labels["xme-jow"] = { display = "Jowshaqani", link = "Kermanic languages", } labels["xme-qoh"] = { display = "Qohrudi", link = "Kermanic languages", } labels["xme-yar"] = { display = "Yarandi", link = "Kermanic languages", } labels["xme-tar"] = { display = "Tari", link = "Kermanic languages", } labels["xme-sed"] = { display = "Sedehi", link = "Kermanic languages", } labels["xme-ard"] = { display = "Ardestani", link = "Kermanic languages", } labels["xme-zef"] = { display = "Zefre'i", link = "Kermanic languages", } labels["xme-isf"] = { display = "Isfahani", link = "Kermanic languages", } labels["xme-kaf"] = { display = "Kafroni", link = "Kermanic languages", } labels["xme-var"] = { display = "Varzenei", link = "Kermanic languages", } labels["xme-nay"] = { display = "Nayini", link = "Nayini language", } labels["xme-vaf"] = { display = "Vafsi", link = "Vafsi dialect", } labels["xme-ast"] = { display = "Ashtiani language", link = "nyq", } labels["xme-xun"] = { display = "Khunsari", link = "Khunsari language", } labels["xme-nat"] = { display = "Natanzi", link = "Natanzi language", } labels["xme-soi"] = { display = "Soi", link = "Soi language", } labels["xme-gaz"] = { display = "Gazi", link = "Gazi language", } labels["xme-ana"] = { display = "Anaraki", link = "Nayini language", } labels["xme-ker"] = { display = "Kermani", link = "Zoroastrian Dari language", } labels["xme-yaz"] = { display = "Yazdi", link = "Zoroastrian Dari language", } -- L labels["Lyallpuri"] = { link = "Faisalabad", display = "Lyallpuri" } aliases["Faisalabad"] = "Lyallpuri" labels["LAm"] = { link = "Spanish language in the Americas", display = "Latin American" } labels["Late Egyptian"] = { link = "Late Egyptian language", display = "reconstructed Late Egyptian" } labels["Latinate"] = { link = "Latin#Phonology", display = "Latinate" } labels["lleísmo"] = { link = "Yeísmo", display = "''ll''-''y'' distinction", type = "sound change" } labels["Lövånger"] = { link = "Lövånger", } labels["Luleå"] = { link = "Luleå", } -- M labels["Malwai"] = { link = "Malwai dialect", display = "Malwai" } labels["Majha"] = { link = "Punjabi dialects and languages#Standard_Punjabi", display = "Standard Punjabi" } aliases["pa"] = "Majha" aliases["Majhi"] = "Majha" labels["Mary-marry-merry"] = { link = "Mary–marry–merry merger", display = "''Mary''–''marry''–''merry'' merger", type = "sound change" } aliases["Mmmm"] = "Mary-marry-merry" labels["Mayo"] = { link = "Gaeltacht Iorrais agus Acaill", display = "Mayo" } labels["Medio-Late Egyptian"] = { link = "Late Egyptian language", display = "reconstructed Medio-Late Egyptian" } labels["Metro Cebu"] = { link = "Metro Cebu" } aliases["Cebu City"] = "Metro Cebu" aliases["Urban Cebuano"] = "Metro Cebu" labels["Middle Egyptian"] = { link = "Egyptian language#Middle Egyptian", display = "reconstructed Middle Egyptian" } labels["Midwestern US"] = { link = "Midwestern United States#Linguistic characteristics", display = "Midwestern US" } aliases["Midwest US"] = "Midwestern US" aliases["Midwest US English"] = "Midwestern US" aliases["Midwestern US English"] = "Midwestern US" labels["Mizrahi Hebrew"] = { link = "Mizrahi Hebrew", display = "Mizrahi Hebrew" } aliases["Mizrahi"] = "Mizrahi Hebrew" aliases["Mizrakhi"] = "Mizrahi Hebrew" aliases["Mizrachi"] = "Mizrahi Hebrew" aliases["Mizrakhi Hebrew"] = "Mizrahi Hebrew" aliases["Mizrachi Hebrew"] = "Mizrahi Hebrew" labels["MLE"] = { link = "Multicultural London English", display = "MLE" } aliases["Multicultural London English"] = "MLE" labels["MTE"] = { link = "Multicultural Toronto English", display = "MTE" } aliases["Multicultural Toronto English"] = "MTE" aliases["Greater Toronto English"] = "MTE" aliases["GTE"] = "MTE" labels["Montenegro"] = { link = "Comparison of standard Bosnian, Croatian, Montenegrin and Serbian#Accentuation", display = "Montenegro" } aliases["Montenegrin"] = "Montenegro" labels["Munster"] = { link = "Munster Irish", display = "Munster" } -- N labels["near-square"] = { link = "near-square merger", display = "''near''–''square'' merger", type = "sound change" } labels["Netherlands"] = { link = "Dutch phonology", display = "Netherlands" } aliases["NL"] = "Netherlands" labels["New Latin"] = { link = "New Latin" } labels["New York"] = { link = "New York accent", display = "NYC" } aliases["NY"] = "New York" aliases["NYC"] = "New York" aliases["New York City"] = "New York" labels["New Zealand"] = { link = "New Zealand English phonology", display = "New Zealand" } aliases["NZ"] = "New Zealand" aliases["GNZ"] = "New Zealand" aliases["General New Zealand"] = "New Zealand" labels["non-cure-force"] = { link = "Cure–force merger", display = "''cure''–''force'' distinction", type = "sound change" } aliases["non-pour-poor"] = "non-cure-force" labels["non-Mary-marry-merry"] = { link = "Mary–marry–merry merger", display = "''Mary''–''marry''–''merry'' distinction", type = "sound change" } aliases["nMmmm"] = "non-Mary-marry-merry" labels["non-rhotic"] = { link = "Rhoticity in English", display = "non-rhotic" } aliases["nonrhotic"] = "non-rhotic" labels["non-weak vowel"] = { link = "Weak vowel merger", display = "weak vowel distinction", type = "sound change" } labels["northern and central Germany"] = { display = "northern Germany, central Germany" } aliases["north and central German"] = "northern and central Germany" aliases["North and Central German"] = "northern and central Germany" aliases["north and central Germany"] = "northern and central Germany" aliases["North and Central Germany"] = "northern and central Germany" aliases["northern and central German"] = "northern and central Germany" aliases["Northern and Central German"] = "northern and central Germany" aliases["Northern and Central Germany"] = "northern and central Germany" labels["Northern England"] = { link = "English language in Northern England", display = "Northern England" } aliases["North England"] = "Northern England" labels["northern Germany"] = { display = "northern Germany" } aliases["north German"] = "northern Germany" aliases["North German"] = "northern Germany" aliases["north Germany"] = "northern Germany" aliases["North Germany"] = "northern Germany" aliases["northern German"] = "northern Germany" aliases["Northern German"] = "northern Germany" aliases["Northern Germany"] = "northern Germany" labels["Northern Scotland"] = { link = "Northern Scots", display = "Northern Scotland" } -- O labels["Old Egyptian"] = { link = "Egyptian language#Old Egyptian", display = "reconstructed Old Egyptian" } labels["Osaka"] = { link = "Kansai dialect", display = "Osaka" } -- P labels["pa-IN"] = { link = "Punjabi dialects and languages", display = "India" } aliases["pan"] = "pa-IN" aliases["East Punjab"] = "pa-PK" labels["pa-PK"] = { link = "Punjabi dialects and languages", display = "Pakistan" } aliases["pnb"] = "pa-PK" aliases["Lahnda"] = "pa-PK" aliases["West Punjab"] = "pa-PK" labels["Palestinian Hebrew"] = { link = "Palestinian vocalization", display = "Palestinian Hebrew" } labels["pin-pen"] = { link = "pin–pen merger", display = "''pin''–''pen'' merger", type = "sound change" } aliases["pen-pin"] = "pin-pen" labels["Philippine"] = { link = "Philippine English", display = "Philippine" } aliases["Philippines"] = "Philippine" labels["Portugal"] = { link = "European Portuguese", display = "Portugal" } aliases["EP"] = "Portugal" aliases["PT"] = "Portugal" labels["ps-Kabul"] = { link = "Pashto dialects", display = "Kabuli" } -- Q labels["Quanzhou"] = { link = "Quanzhou" } labels["Quebec"] = { link = "Quebec French phonology", display = "Quebec" } aliases["Québec"] = "Quebec" aliases["Joual"] = "Quebec" labels["Quetta"] = { link = "Pashto dialects", display = "Quetta" } -- R labels["r-dissimilation"] = { link = "Dissimilation", display = "''r''-dissimilation", type = "sound change" } labels["Rālik"] = { link = "Rālik Chain", display = "Rālik" } aliases["Ralik"] = "Rālik"; labels["Ratak"] = { link = "Ratak Chain", display = "Ratak" } labels["rhotic"] = { link = "Rhotic and non-rhotic accents", display = "rhotic", type = "sound change" } labels["Riau-Lingga"] = { link = "Riau-Lingga Sultanate", display = "Riau-Lingga" } labels["Rioplatense"] = { link = "Rioplatense Spanish", display = "Rioplatense" } labels["RP"] = { link = "Received Pronunciation" } aliases["Received Pronunciation"] = "RP" aliases["Received Standard"] = "RP" aliases["RS"] = "RP" labels["Rosmuc"] = { link = "Rosmuc", display = "Rosmuc" } aliases["Ros Muc"] = "Rosmuc" -- S labels["São Paulo"] = { link = "Brazilian Portuguese", display = "São Paulo" } labels["Scania"] = { link = "Scanian dialect", display = "Scania" } labels["Scotland"] = { link = "Scottish English", display = "Scotland" } labels["Sephardi Hebrew"] = { link = "Sephardi Hebrew", display = "Sephardi Hebrew" } aliases["Sephardi"] = "Sephardi Hebrew" labels["Serbia"] = { link = "Comparison of standard Bosnian, Croatian, Montenegrin and Serbian#Accentuation", display = "Serbia" } aliases["Serbian"] = "Serbia" labels["seseo"] = { link = "seseo", display = "''seseo'' merger", type = "sound change" } labels["Sistani"] = { link = "Sistani dialect", display = "Sistani" } labels["Skellefteå"] = { link = "Skellefteå" } labels["Soikkola"] = { link = "Ingrian phonology#Soikkola dialect", display = "Soikkola" } labels["South Africa"] = { link = "South African English phonology", display = "General South African" } aliases["SAE"] = "South Africa" aliases["GSAE"] = "South Africa" aliases["GenSAE"] = "South Africa" aliases["General South African"] = "South Africa" labels["Southern American English"] = { link = "Southern American English" } aliases["Southern US"] = "Southern American English" aliases["Southern US English"] = "Southern American English" aliases["Southern U.S. English"] = "Southern American English" aliases["US South"] = "Southern American English" labels["South Brazil"] = { link = "Brazilian Portuguese", display = "South Brazil" } labels["southern Germany"] = { display = "southern Germany" } aliases["south German"] = "southern Germany" aliases["South German"] = "southern Germany" aliases["south Germany"] = "southern Germany" aliases["South Germany"] = "southern Germany" aliases["southern German"] = "southern Germany" aliases["Southern German"] = "southern Germany" aliases["Southern Germany"] = "southern Germany" labels["Southern Leyte"] = { link = "Southern Leyte" } aliases["Kana Habagatan"] = "Southern Leyte" labels["Southern Scotland"] = { link = "Southern Scots", display = "Southern Scotland" } aliases["Southern Scots"] = "Southern Scotland" labels["St. Louis"] = { link = "North American regional phonology#St. Louis and vicinity", display = "St. Louis (Missouri)" } aliases["STL"] = "St. Louis" labels["standard"] = { display = "standard" } aliases["Standard"] = "standard" labels["Standard Basque"] = { link = "Standard Basque", display = "standard" } labels["Standard Southern British English"] = { link = "Standard Southern British English", display = "Standard Southern British English" } aliases["SSBE"] = "Standard Southern British English" labels["Standard Zhuang"] = { link = "Standard Zhuang", display = "Standard Zhuang" } labels["Stockholm e"] = { link = "Swedish phonology", display = "with Stockholm ''e''", type = "sound change" } labels["Sweden"] = { link = "Swedish phonology", display = "Sweden" } aliases["Swedish"] = "Sweden" labels["Syrian Hebrew"] = { link = "Syrian Jews#Pronunciation of Hebrew", display = "Syrian Hebrew" } -- T labels["t-glottalization"] = { link = "T-glottalization", display = "''t''-glottalization", type = "sound change" } aliases["t-glottaling"] = "t-glottalization" labels["Tajik"] = { link = "Tajik language", display = "Tajik" } aliases["Tajiki"] = "Tajik" labels["Tehrani"] = { link = "Tehrani accent", display = "Tehrani" } labels["th-fronting"] = { link = "th-fronting", type = "sound change" } labels["Tiberian Hebrew"] = { link = "Tiberian Hebrew", display = "Tiberian Hebrew" } aliases["Tiberian"] = "Tiberian Hebrew" labels["Tosk"] = { link = "Tosk Albanian", display = "Tosk" } -- U labels["UK"] = { link = "British English", display = "UK" } aliases["British"] = "UK" aliases["U.K."] = "UK" labels["Ulaanbaatar"] = { link = "Ulaanbaatar" } aliases["UlaanBaatar"] = "Ulaanbaatar" labels["Ulster"] = { link = "Ulster Irish", display = "Ulster" } aliases["Donegal"] = "Ulster" labels["Umeå"] = { link = "Umeå", } labels["ur"] = { link = "Urdu#Phonology", display = "Standard Urdu" } aliases["urd"] = "ur" labels["ur-KPK"] = { link = "Khyber Pakhtunkhwa", display = "Khyber Pakhtunkhwa" } labels["US"] = { link = "American English", display = "US" } aliases["U.S."] = "US" -- V labels["Valencia"] = { link = "Valencian" } aliases["Valencian"] = "Valencia" aliases["Vannetais"] = "Gwenedeg" labels["Vedic Sanskrit"] = { link = "Vedic Sanskrit", display = "Vedic" } aliases["Vedic"] = "Vedic Sanskrit" labels["Rigvedic Sanskrit"] = { link = "wikt:Rigvedic", display = "Rigvedic" } aliases["Rigvedic"] = "Rigvedic Sanskrit" labels["Samavedic"] = { link = "wikt:Samavedic", display = "Samavedic" } labels["Yajurvedic"] = { link = "wikt:Yajurvedic", display = "Yajurvedic" } labels["Atharvavedic"] = { link = "wikt:Atharvavedic", display = "Atharvavedic" } labels["Vulgar"] = { link = "Vulgar Latin", display = "Vulgar" } -- W labels["Wales"] = { link = "Welsh English", display = "Wales" } aliases["Welsh"] = "Wales" labels["Wardak"] = { link = "Pashto dialects", display = "Wardak" } labels["Waterford"] = { link = "Gaeltacht na nDéise", display = "Waterford" } aliases["Ring"] = "Waterford" labels["Wazirwola"] = { link = "Wazirwola dialect", display = "Wazirwola" } labels["weak vowel"] = { link = "Weak vowel merger", display = "weak vowel merger", type = "sound change" } labels["wine/whine"] = { link = "wine–whine merger", display = "without the ''wine''–''whine'' merger", type = "sound change" } aliases["wine-whine"] = "wine/whine" labels["Wood"] = { link = "Wood Frisian", display = "Wood", } -- X labels["Xiamen"] = { link = "Xiamen" } -- Y labels["yeísmo"] = { link = "Yeísmo", display = "''ll''-''y'' neutralization", type = "sound change" } labels["Yemenite Hebrew"] = { link = "Yemenite Hebrew", display = "Yemenite Hebrew" } labels["YIVO"] = { link = "YIVO" } labels["Ylä-Laukaa"] = { link = "Ingrian language#Dialects", display = "Ylä-Laukaa" } labels["yod-coalescence"] = { link = "yod-coalescence", display = "yod-coalescence", type = "sound change" } -- Z labels["Zhangzhou"] = { link = "Zhangzhou" } labels["Zurich"] = { link = "Zürich German", display = "Zurich" } aliases["Zürich"] = "Zurich" return { labels = labels, aliases = aliases } akyh5yejwy5y2vphcwixg8kjecyo9iq Module:IPA/tracking 828 2983 8295 2022-07-22T08:58:14Z Rebel Agent 2678 Ke dirile module 8295 Scribunto text/plain local export = {} --[[ symb is what is tracked. It can be a literal symbol or a Lua pattern. If it is a table, tracking is added for any of the symbols in the list. cat is the subtemplate that is added to the default path "IPA/" + language code + "/". ]] local U = mw.ustring.char local syllabic = U(0x329) -- The validity of this table is checked by documentation function -- in [[Module:User:Erutuon/sandbox]]. export.tracking = { en = { { symb = "iə", cat = "ambig", }, { symb = { "ɪi", "ʊu", "ɪj", "ʊw" }, cat = "eeoo", }, { symb = { "r" }, cat = "plain r", }, }, cs = { { symb = "[mnrl]" .. syllabic, cat = "syllabic-consonant", }, }, ps = { { symb = "ɤ", cat = "Pashto", }, }, fa = { { symb = "ʔ", cat = "glottal-stop", }, }, { { symb = "", cat = "", }, }, } function export.run_tracking(IPA, lang) if not IPA or IPA == "" then return end lang = lang:getCode() if not export.tracking[lang] then return end for i, arguments in ipairs(export.tracking[lang]) do local symbols = arguments.symb local category = arguments.cat if type(symbols) == "string" then symbols = { symbols } end for _, symbol in pairs(symbols) do if mw.ustring.find(IPA, symbol) then require("Module:debug/track")("IPA/" .. lang .. "/" .. category) end end end end return export ioeemmyd720mxl78g3poo7owgj72fqh Tempolete:trans-see 10 2984 8296 2022-07-22T09:17:21Z Rebel Agent 2678 Ke dirile tsebe 8296 wikitext text/x-wiki <div class="pseudo NavFrame"><div class="NavHead" style="text-align: left;" {{#if:{{{id|}}}|id{{=}}"Translations-{{anchorencode:{{{id}}}}}"}}>{{{1}}} <!-- --><span style="font-weight: normal" >— <i>see</i></span> <!-- -->{{#if:{{{id|}}}|[[{{{2|{{{1}}}}}}#Translations-{{{id}}}|{{{2|{{{1}}}}}}]]|[[{{{2|{{{1}}}}}}]]}}<!-- -->{{#if:{{{3|}}}|,&lrm; {{#if:{{{id|}}}|[[{{{3}}}#Translations-{{{id}}}|{{{3}}}]]|[[{{{3}}}]]}}}}<!-- -->{{#if:{{{4|}}}|,&lrm; {{#if:{{{id|}}}|[[{{{4}}}#Translations-{{{id}}}|{{{4}}}]]|[[{{{4}}}]]}}}}<!-- -->{{#if:{{{5|}}}|,&lrm; {{#if:{{{id|}}}|[[{{{5}}}#Translations-{{{id}}}|{{{5}}}]]|[[{{{5}}}]]}}}}<!-- -->{{#if:{{{6|}}}|,&lrm; {{#if:{{{id|}}}|[[{{{6}}}#Translations-{{{id}}}|{{{6}}}]]|[[{{{6}}}]]}}}}<!-- -->{{#if:{{{7|}}}|,&lrm; {{#if:{{{id|}}}|[[{{{7}}}#Translations-{{{id}}}|{{{7}}}]]|[[{{{7}}}]]}}}}<!-- -->{{#if:{{{8|}}}|,&lrm; {{#if:{{{id|}}}|[[{{{8}}}#Translations-{{{id}}}|{{{8}}}]]|[[{{{8}}}]]}}}}<!-- -->{{#if:{{{9|}}}|,&lrm; {{#if:{{{id|}}}|[[{{{9}}}#Translations-{{{id}}}|{{{9}}}]]|[[{{{9}}}]]}}}}<!-- -->{{#if:{{{10|}}}|,&lrm; {{#if:{{{id|}}}|[[{{{10}}}#Translations-{{{id}}}|{{{10}}}]]|[[{{{10}}}]]}}[[Category:Limit of template reached]]}}<!-- --></div></div><!-- --><noinclude>{{documentation}}</noinclude> 8mzmeasmjynwfxu7zgdnheawzi9ko23 Tempolete:rhymes 10 2985 8297 2022-07-22T09:46:24Z Rebel Agent 2678 Ke dirile template 8297 wikitext text/x-wiki {{check deprecated lang param usage|lang={{{lang|}}}|<!-- -->{{#invoke:rhymes|show}}<!-- -->}}<!-- --><noinclude>{{documentation}}</noinclude> cylhiuhtttqu3tsw64glng6vzvai220 Module:rhymes 828 2986 8298 2022-07-22T09:47:56Z Rebel Agent 2678 Ke dirile module 8298 Scribunto text/plain local export = {} local force_cat = false -- for testing local function tag_rhyme(rhyme, lang) local formatted_rhyme, cat -- FIXME, should not be here. Telugu should use IPA as well. if lang:getCode() == "te" then formatted_rhyme = require("Module:script utilities").tag_text(rhyme, lang) cat = "" else formatted_rhyme, cat = require("Module:IPA").format_IPA(lang, rhyme, true) end return formatted_rhyme, cat end local function make_rhyme_link(lang, link_rhyme, display_rhyme, qualifiers) local retval if not link_rhyme then retval = table.concat{"[[Rhymes:", lang:getCanonicalName(), "|", lang:getCanonicalName(), "]]"} else local formatted_rhyme, cat = tag_rhyme(display_rhyme or link_rhyme, lang) retval = table.concat{"[[Rhymes:", lang:getCanonicalName(), "/", link_rhyme, "|", formatted_rhyme, "]]", cat} end if qualifiers and #qualifiers > 0 then return require("Module:qualifier").format_qualifier(qualifiers) .. " " .. retval else return retval end end function export.show_row(frame) local params = { [1] = {required = true}, [2] = {required = true}, [3] = {}, } local args = frame.getParent and frame:getParent().args or frame if (not args[1] or args[1] == "") and mw.title.getCurrentTitle().nsText == "Template" then return '[[Rhymes:English/aɪmz|<span class="IPA">-aɪmz</span>]]' end local args = require("Module:parameters").process(args, params) local lang = require("Module:languages").getByCode(args[1], 1) return make_rhyme_link(lang, args[2], "-" .. args[2]) .. (args[3] and (" (''" .. args[3] .. "'')") or "") end local function add_syllable_categories(categories, lang, rhyme, num_syl) local prefix = "Rhymes:" .. lang .. "/" .. rhyme table.insert(categories, prefix) if num_syl then for _, n in ipairs(num_syl) do local c if n > 1 then c = prefix .. "/" .. n .. " syllables" else c = prefix .. "/1 syllable" end table.insert(categories, c) end end end --[=[ Meant to be called from a module. `data` is a table in the following format: { lang = LANGUAGE_OBJECT, rhymes = {{rhyme = "RHYME", qualifiers = nil or {"QUALIFIER", "QUALIFIER", ...}, num_syl = nil or {#SYL, #SYL, ...}}, ...}, qualifiers = nil or {"QUALIFIER", "QUALIFIER", ...}, num_syl = nil or {#SYL, #SYL, ...}, caption = nil or "CAPTION", nocaption = BOOLEAN, sort = nil or "SORTKEY", force_cat = BOOLEAN, } Here: * `lang` is a language object. * `rhymes` is the list of rhymes to display. RHYME is the IPA rhyme, without initial hyphen. QUALIFIER is a qualifier string to display before the specific rhyme in question, formatted using format_qualifier() in [[Module:qualifier]]. #SYL is the number of syllables of the word or words containing this rhyme, for categorization purposes (see below). * `qualifiers` (at top level), if non-nil, is a list of qualifier strings to display after the caption "Rhymes:" and before the formatted rhymes, formatted using format_qualifier() in [[Module:qualifier]]. * `num_syl` (at top level), if non-nil, a list of the number(s) of syllables of the word or words with each rhyme specified in `rhymes`. This applies to all rhymes specified in `rhymes`, while the corresponding `num_syl` attached to an individual rhyme applies only to that rhyme (and overrides the global `num_syl`, if both are given). * `caption`, if specified, overrides the default caption "Rhymes". A colon and space is automatically added after the caption. * `nocaption`, if specified, suppresses the caption entirely. * `sort`, if specified, is the sort key for categories. * `force_cat`, if specified, forces categories even on non-mainspace pages (for testing). Note that the number of syllables is currently used only for categorization; if present, an extra category will be added such as [[Category:Rhymes:Italian/ino/3 syllables]] in addition to [[Category:Rhymes:Italian/ino]]. ]=] function export.format_rhymes(data) local langname = data.lang:getCanonicalName() local links = {} local categories = {} for i, r in ipairs(data.rhymes) do local rhyme = r.rhyme table.insert(links, make_rhyme_link(data.lang, rhyme, "-" .. rhyme, r.qualifiers)) add_syllable_categories(categories, langname, rhyme, r.num_syl or data.num_syl) end local ret = data.nocaption and "" or (data.caption or "Rhymes") .. ": " if data.qualifiers and data.qualifiers[1] then ret = require("Module:qualifier").format_qualifier(data.qualifiers) .. " " .. ret end return ret .. table.concat(links, ", ") .. require("Module:utilities").format_categories(categories, data.lang, data.sort, nil, force_cat or data.force_cat) end function export.show(frame) local args = frame.getParent and frame:getParent().args or frame local compat = args["lang"] local offset = compat and 0 or 1 local params = { [1 + offset] = {required = true, list = true, default = "aɪmz"}, [compat and "lang" or 1] = {required = true, default = "en"}, ["s"] = {}, ["srhymes"] = {list = "s", allow_holes = true, require_index = true}, ["q"] = {}, ["qrhymes"] = {list = "q", allow_holes = true, require_index = true}, ["caption"] = {}, ["nocaption"] = {type = "boolean"}, ["sort"] = {}, } local args = require("Module:parameters").process(args, params) local lang = args[compat and "lang" or 1] lang = require("Module:languages").getByCode(lang, compat and "lang" or 1) -- temporary tracking code to find usage of {{rhymes}} in various languages -- [[Special:WhatLinksHere/Template:tracking/rhymes/LANGCODE]] local code = lang:getCode() if code == "it" or code == "es" then require("Module:debug").track("rhymes/" .. code) end local function parse_num_syl(val) val = mw.text.split(val, "%s*,%s*") local ret = {} for _, v in ipairs(val) do local n = tonumber(v) or error("Unrecognized #syllables '" .. v .. "', should be a number") table.insert(ret, n) end return ret end local rhymes = {} for i, rhyme in ipairs(args[1 + offset]) do local rhymeobj = {rhyme = rhyme} if args.srhymes[i] then rhymeobj.num_syl = parse_num_syl(args.srhymes[i]) end if args.qrhymes[i] then rhymeobj.qualifiers = {args.qrhymes[i]} end table.insert(rhymes, rhymeobj) end return export.format_rhymes { lang = lang, rhymes = rhymes, num_syl = args.s and parse_num_syl(args.s) or nil, qualifiers = args.q and {args.q} or nil, caption = args.caption, nocaption = args.nocaption, sort = args.sort, } end -- {{rhymes nav}} function export.show_nav(frame) -- Gather parameters local args = frame:getParent().args local lang = args[1] or (mw.title.getCurrentTitle().nsText == "Template" and "und") or error("Language code has not been specified. Please pass parameter 1 to the template.") lang = require("Module:languages").getByCode(lang, 1) local parts = {} local i = 2 while args[i] do local part = args[i]; if part == "" then part = nil end table.insert(parts, part) i = i + 1 end -- Create steps local steps = {"» [[Wiktionary:Rhymes|Rhymes]]", "» " .. make_rhyme_link(lang)} local categories = {} if #parts > 0 then local last = parts[#parts] parts[#parts] = nil local prefix = "" for i, part in ipairs(parts) do prefix = prefix .. part parts[i] = prefix end for _, part in ipairs(parts) do table.insert(steps, "» " .. make_rhyme_link(lang, part .. "-", "-" .. part .. "-")) end if last == "-" then table.insert(steps, "» " .. make_rhyme_link(lang, prefix, "-" .. prefix)) table.insert(categories, "[[Category:" .. lang:getCanonicalName() .. " rhymes" .. (prefix == "" and "" or "/" .. prefix .. "-") .. "| ]]") elseif mw.title.getCurrentTitle().text == lang:getCanonicalName() .. "/" .. prefix .. last .. "-" then table.insert(steps, "» " .. make_rhyme_link(lang, prefix .. last .. "-", "-" .. prefix .. last .. "-")) table.insert(categories, "[[Category:" .. lang:getCanonicalName() .. " rhymes/" .. prefix .. last .. "-|-]]") else table.insert(steps, "» " .. make_rhyme_link(lang, prefix .. last, "-" .. prefix .. last)) table.insert(categories, "[[Category:" .. lang:getCanonicalName() .. " rhymes" .. (prefix == "" and "" or "/" .. prefix .. "-") .. "|" .. last .. "]]") end elseif lang:getCode() ~= "und" then table.insert(categories, "[[Category:" .. lang:getCanonicalName() .. " rhymes| ]]") end frame:callParserFunction("DISPLAYTITLE", mw.title.getCurrentTitle().fullText:gsub( "/(.+)$", function (rhyme) return "/" .. tag_rhyme(rhyme, lang) end)) return table.concat(steps, " ") .. table.concat(categories) end return export kwa1fseql6qtl47csps6mlpm917dvni Module:syllables 828 2987 8299 2022-07-22T09:50:12Z Rebel Agent 2678 Ke dirile module 8299 Scribunto text/plain local export = {} local diphthongs = mw.loadData("Module:IPA/data").diphthongs local vowels = mw.loadData("Module:IPA/data/symbols").vowels .. "ᵻ" .. "ᵿ" local U = mw.ustring.char --[[ No use for this at the moment, though it is an interesting catalogue. It might be usable for phonetic transcriptions. Diacritics added to vowels: inverted breve above, inverted breve below, up tack, down tack, left tack, right tack, diaeresis (above), diaeresis below, right half ring, left half ring, plus sign below, minus sign below, combining x above, rhotic hook, tilde (above), tilde below ligature tie (combining double breve), ligature tie below ]] local diacritics = U(0x311)..U(0x32F) ..U(0x31D)..U(0x31E) ..U(0x318)..U(0x319) ..U(0x308)..U(0x324) ..U(0x339)..U(0x31C) ..U(0x31F)..U(0x320) ..U(0x33D)..U(0x2DE) ..U(0x303)..U(0x330) ..U(0x361)..U(0x35C) --[[ combining acute and grave tone marks, circumflex ]]-- local tone = "[" .. U(0x341) .. U(0x340) ..U (0x302) .. "]" local nonsyllabicDiacritics = U(0x311) .. U(0x32F) local syllabicDiacritics = U(0x0329) .. U(0x030D) local ties = U(0x361) .. U(0x35C) -- long, half-long, extra short local lengthDiacritics = U(0x2D0) .. U(0x2D1) .. U(0x306) local vowel = "[" .. vowels .. "]" .. tone .. "?" local tie = "[" .. ties .. "]" local nonsyllabicDiacritic = "[" .. nonsyllabicDiacritics .. "]" local syllabicDiacritic = "[" .. syllabicDiacritics .. "]" local UTF8Char = "[\1-\127\194-\244][\128-\191]*" function export.getVowels(remainder, lang) if string.find(remainder, "^[%\[/]?%-") or string.find(remainder, "%-[%\[/]?$") then return nil end -- If a hyphen is at the beginning or end of the transcription, do not count syllables. local count = 0 local diphs = diphthongs[lang:getCode()] or {} remainder = mw.ustring.toNFD(remainder) remainder = string.gsub(remainder, "%((.*)%)", "%1") -- Remove parentheses. while remainder ~= "" do -- Ignore nonsyllabic vowels remainder = mw.ustring.gsub(remainder, "^" .. vowel .. nonsyllabicDiacritic, "") local m = mw.ustring.match(remainder, "^." .. syllabicDiacritic) or -- Syllabic consonant mw.ustring.match(remainder, "^" .. vowel .. tie .. vowel) -- Tie bar -- Starts with a recognised diphthong? for _, diph in ipairs(diphs) do if m then break end m = m or mw.ustring.match(remainder, "^" .. diph) end -- If we haven't found anything yet, just match on a single vowel m = m or mw.ustring.match(remainder, "^" .. vowel) if m then -- Found a vowel, add it count = count + 1 remainder = string.sub(remainder, #m + 1) else -- Found a non-vowel, skip it remainder = string.gsub(remainder, "^" .. UTF8Char, "") end end if count ~= 0 then return count end return nil end function export.countVowels2Test(frame) local params = { [1] = {required = true}, [2] = {default = ""}, } local args = require("Module:parameters").process(frame.args, params) local lang = require("Module:languages").getByCode(args[1]) or require("Module:languages").err(args[1], 1) local count = export.getVowels(args[2], lang) return 'The text "' .. args[2] .. '" contains ' .. count .. ' vowels.' end local function countVowels(text) text = mw.ustring.toNFD(text) or error("Invalid UTF-8") local _, count = mw.ustring.gsub(text, vowel, "") local _, sequenceCount = mw.ustring.gsub(text, vowel.."+", "") local _, nonsyllabicCount = mw.ustring.gsub(text, vowel .. nonsyllabicDiacritic, "") local _, tieCount = mw.ustring.gsub(text, vowel .. tie .. vowel, "") local diphthongCount = count - (nonsyllabicCount + tieCount) return count, sequenceCount, diphthongCount end local function countDiphthongs(text, lang) text = mw.ustring.toNFD(text) or error("Invalid UTF-8") local diphthongs = diphthongs[lang:getCode()] or {} local _, count local total = 0 if diphthongs then for i, diphthong in pairs(diphthongs) do _, count = mw.ustring.gsub(text, diphthong, "") total = total + count end end return total end function export.countVowels(frame) local params = { [1] = {default = ""}, } local args = require("Module:parameters").process(frame.args, params) local count, sequenceCount, diphthongCount = countVowels(args[1]) local outputs = {} table.insert(outputs, (count or 'an unknown number of') .. ' vowels') table.insert(outputs, (sequenceCount or 'an unknown number of') .. ' vowel sequences') table.insert(outputs, (diphthongCount or 'an unknown number of') .. ' vowels or vowels and diphthongs') return 'The text "' .. args[1] .. '" contains ' .. mw.text.listToText(outputs) .. "." end function export.countVowelsDiphthongs(frame) local params = { [1] = {required = true}, [2] = {default = ""}, } local args = require("Module:parameters").process(frame.args, params) local lang = require("Module:languages").getByCode(args[1]) or require("Module:languages").err(args[1], 1) local vowels = countVowels(args[2]) local count = vowels - countDiphthongs(args[2], lang) or 0 local out = 'The text "' .. args[2] .. '" contains ' .. (count or 'an unknown number of') if count == 1 then out = out .. ' vowel or diphthong.' else out = out .. ' vowels or diphthongs.' end return out end return export 89qaat609gtr1wjnqtjv2m5kljpokku Tempolete:rfap 10 2988 8300 2022-07-22T09:52:45Z Rebel Agent 2678 Ke dirile template 8300 wikitext text/x-wiki {{check deprecated lang param usage|lang={{{lang|}}}|<!-- -->{{request box<!-- -->|1=[[Image:Headset_icon.svg|20px]]<!-- -->|2=This {{<noinclude>temp|</noinclude>pagetype}} needs [[:Category:Requests for audio pronunciation in {{langname|{{#if:{{{lang|}}}|{{{lang|}}}|{{{1<noinclude>|und</noinclude>}}}}}}} entries|audio files]]. If you are a native speaker with a microphone, please [[Help:Audio pronunciations|record some]] and [[commons:Special:Upload|upload]] them. <small>(For audio required quickly, visit [[WT:APR]].)</small> {{#if:{{#if:{{{lang|}}}|{{{1|}}}|{{{2|}}}}}| <br />Particularly: "{{#if:{{{lang|}}}|{{{1|}}}|{{{2|}}}}}"}}<!-- -->|inline={{{inline|no}}}}}<!-- -->}}<!-- (end of {{check deprecated lang param usage}}) --><includeonly><!-- -->{{#if:{{{nocat|}}}||<!-- -->{{categorize<!-- -->|{{#if:{{{lang|}}}|{{{lang|}}}|{{{1|}}}}}<!-- -->|Requests for audio pronunciation in {{langname|{{#if:{{{lang|}}}|{{{lang|}}}|{{{1|}}}}}}} entries<!-- -->|{{#if:{{{variety|}}}|Requests for audio pronunciation from {{{variety}}} in {{langname|{{#if:{{{lang|}}}|{{{lang|}}}|{{{1|}}}}}}} entries}}<!-- -->|sort={{{sort|}}}<!-- -->}}<!-- -->{{#if:{{{variety|}}}|[[Category:rfap with variety]]}}<!-- -->}}<!-- --></includeonly><!-- --><noinclude>{{documentation}}</noinclude> s98sn3zc10ecovsdrusc5cfx863d9xq Tempolete:request box 10 2989 8301 2022-07-22T09:54:05Z Rebel Agent 2678 Ke dirile template 8301 wikitext text/x-wiki {{#ifeq:{{yesno|{{{inline|}}}}}|yes|{{maintenance line|{{{2}}}}} |<div class="noprint request-box" style="width: auto; margin: 0; padding: 0.5em; border-collapse: collapse;overflow: hidden;"> {{{!}} style="background:#FFFFFF; width:90%; margin: auto; border:1px dashed #999999; text-align:left" {{!}}{{{1}}} {{!}}{{{2}}} {{!}}}</div>}}<noinclude>{{documentation}}[[Category:Template boxes]]</noinclude> m65gyylguoazwtajli7p8owsxngezm7 Module:table 828 2990 8302 2022-07-22T09:56:23Z Rebel Agent 2678 Ke dirile module 8302 Scribunto text/plain --[[ ------------------------------------------------------------------------------------ -- table (formerly TableTools) -- -- -- -- This module includes a number of functions for dealing with Lua tables. -- -- It is a meta-module, meant to be called from other Lua modules, and should -- -- not be called directly from #invoke. -- ------------------------------------------------------------------------------------ --]] --[[ Inserting new values into a table using a local "index" variable, which is incremented each time, is faster than using "table.insert(t, x)" or "t[#t + 1] = x". See the talk page. ]] local libraryUtil = require('libraryUtil') local export = {} -- Define often-used variables and functions. local floor = math.floor local infinity = math.huge local checkType = libraryUtil.checkType local checkTypeMulti = libraryUtil.checkTypeMulti local function _check(funcName, expectType) if type(expectType) == "string" then return function(argIndex, arg, nilOk) checkType(funcName, argIndex, arg, expectType, nilOk) end else return function(argIndex, arg, expectType, nilOk) if type(expectType) == "table" then checkTypeMulti(funcName, argIndex, arg, expectType, nilOk) else checkType(funcName, argIndex, arg, expectType, nilOk) end end end end --[[ ------------------------------------------------------------------------------------ -- isPositiveInteger -- -- This function returns true if the given value is a positive integer, and false -- if not. Although it doesn't operate on tables, it is included here as it is -- useful for determining whether a given table key is in the array part or the -- hash part of a table. ------------------------------------------------------------------------------------ --]] function export.isPositiveInteger(v) return type(v) == 'number' and v >= 1 and floor(v) == v and v < infinity end --[[ ------------------------------------------------------------------------------------ -- isNan -- -- This function returns true if the given number is a NaN value, and false -- if not. Although it doesn't operate on tables, it is included here as it is -- useful for determining whether a value can be a valid table key. Lua will -- generate an error if a NaN is used as a table key. ------------------------------------------------------------------------------------ --]] function export.isNan(v) if type(v) == 'number' and tostring(v) == '-nan' then return true else return false end end --[[ ------------------------------------------------------------------------------------ -- shallowcopy -- -- This returns a clone of an object. If the object is a table, the value -- returned is a new table, but all subtables and functions are shared. -- Metamethods are respected, but the returned table will have no metatable of -- its own. ------------------------------------------------------------------------------------ --]] function export.shallowcopy(orig) local orig_type = type(orig) local copy if orig_type == 'table' then copy = {} for orig_key, orig_value in pairs(orig) do copy[orig_key] = orig_value end else -- number, string, boolean, etc copy = orig end return copy end -- An alias for shallowcopy(); prefer shallowcopy(). function export.shallowClone(t) return export.shallowcopy(t) end --[[ Recursive deep copy function Equivalent to mw.clone? ]] local function deepcopy(orig, includeMetatable, already_seen) -- Stores copies of tables indexed by the original table. already_seen = already_seen or {} local copy = already_seen[orig] if copy ~= nil then return copy end if type(orig) == 'table' then copy = {} for orig_key, orig_value in pairs(orig) do copy[deepcopy(orig_key, includeMetatable, already_seen)] = deepcopy(orig_value, includeMetatable, already_seen) end already_seen[orig] = copy if includeMetatable then local mt = getmetatable(orig) if mt ~= nil then local mt_copy = deepcopy(mt, includeMetatable, already_seen) setmetatable(copy, mt_copy) end end else -- number, string, boolean, etc copy = orig end return copy end function export.deepcopy(orig, noMetatable, already_seen) checkType("deepcopy", 3, already_seen, "table", true) return deepcopy(orig, not noMetatable, already_seen) end --[[ ------------------------------------------------------------------------------------ -- append -- -- This appends any number of tables together and returns the result. Compare the Lisp -- expression (append list1 list2 ...). ------------------------------------------------------------------------------------ --]] function export.append(...) local ret = {} for i=1,select('#', ...) do local argt = select(i, ...) checkType('append', i, argt, 'table') for _, v in ipairs(argt) do table.insert(ret, v) end end return ret end --[[ ------------------------------------------------------------------------------------ -- removeDuplicates -- -- This removes duplicate values from an array. Non-positive-integer keys are -- ignored. The earliest value is kept, and all subsequent duplicate values are -- removed, but otherwise the array order is unchanged. ------------------------------------------------------------------------------------ --]] function export.removeDuplicates(t) checkType('removeDuplicates', 1, t, 'table') local isNan = export.isNan local ret, exists = {}, {} local index = 1 for _, v in ipairs(t) do if isNan(v) then -- NaNs can't be table keys, and they are also unique, so we don't need to check existence. ret[index] = v index = index + 1 else if not exists[v] then ret[index] = v index = index + 1 exists[v] = true end end end return ret end --[[ ------------------------------------------------------------------------------------ -- numKeys -- -- This takes a table and returns an array containing the numbers of any numerical -- keys that have non-nil values, sorted in numerical order. ------------------------------------------------------------------------------------ --]] function export.numKeys(t, checked) if not checked then checkType('numKeys', 1, t, 'table') end local isPositiveInteger = export.isPositiveInteger local nums = {} local index = 1 for k, _ in pairs(t) do if isPositiveInteger(k) then nums[index] = k index = index + 1 end end table.sort(nums) return nums end function export.maxIndex(t) checkType('maxIndex', 1, t, 'table') local positiveIntegerKeys = export.numKeys(t) if positiveIntegerKeys[1] then return math.max(unpack(positiveIntegerKeys)) else return 0 -- ??? end end --[[ ------------------------------------------------------------------------------------ -- affixNums -- -- This takes a table and returns an array containing the numbers of keys with the -- specified prefix and suffix. -- affixNums({a1 = 'foo', a3 = 'bar', a6 = 'baz'}, "a") -- ↓ -- {1, 3, 6}. ------------------------------------------------------------------------------------ --]] function export.affixNums(t, prefix, suffix) local check = _check('affixNums') check(1, t, 'table') check(2, prefix, 'string', true) check(3, suffix, 'string', true) local function cleanPattern(s) -- Cleans a pattern so that the magic characters ()%.[]*+-?^$ are interpreted literally. s = s:gsub('([%(%)%%%.%[%]%*%+%-%?%^%$])', '%%%1') return s end prefix = prefix or '' suffix = suffix or '' prefix = cleanPattern(prefix) suffix = cleanPattern(suffix) local pattern = '^' .. prefix .. '([1-9]%d*)' .. suffix .. '$' local nums = {} local index = 1 for k, _ in pairs(t) do if type(k) == 'string' then local num = mw.ustring.match(k, pattern) if num then nums[index] = tonumber(num) index = index + 1 end end end table.sort(nums) return nums end --[[ ------------------------------------------------------------------------------------ -- numData -- -- Given a table with keys like ("foo1", "bar1", "foo2", "baz2"), returns a table -- of subtables in the format -- { [1] = {foo = 'text', bar = 'text'}, [2] = {foo = 'text', baz = 'text'} } -- Keys that don't end with an integer are stored in a subtable named "other". -- The compress option compresses the table so that it can be iterated over with -- ipairs. ------------------------------------------------------------------------------------ --]] function export.numData(t, compress) local check = _check('numData') check(1, t, 'table') check(2, compress, 'boolean', true) local ret = {} for k, v in pairs(t) do local prefix, num = tostring(k):match('^([^0-9]*)([1-9][0-9]*)$') if num then num = tonumber(num) local subtable = ret[num] or {} if prefix == '' then -- Positional parameters match the blank string; put them at the start of the subtable instead. prefix = 1 end subtable[prefix] = v ret[num] = subtable else local subtable = ret.other or {} subtable[k] = v ret.other = subtable end end if compress then local other = ret.other ret = export.compressSparseArray(ret) ret.other = other end return ret end --[[ ------------------------------------------------------------------------------------ -- compressSparseArray -- -- This takes an array with one or more nil values, and removes the nil values -- while preserving the order, so that the array can be safely traversed with -- ipairs. ------------------------------------------------------------------------------------ --]] function export.compressSparseArray(t) checkType('compressSparseArray', 1, t, 'table') local ret = {} local index = 1 local nums = export.numKeys(t) for _, num in ipairs(nums) do ret[index] = t[num] index = index + 1 end return ret end --[[ ------------------------------------------------------------------------------------ -- sparseIpairs -- -- This is an iterator for sparse arrays. It can be used like ipairs, but can -- handle nil values. ------------------------------------------------------------------------------------ --]] function export.sparseIpairs(t) checkType('sparseIpairs', 1, t, 'table') local nums = export.numKeys(t) local i = 0 return function() i = i + 1 local key = nums[i] if key then return key, t[key] else return nil, nil end end end --[[ ------------------------------------------------------------------------------------ -- size -- -- This returns the size of a key/value pair table. It will also work on arrays, -- but for arrays it is more efficient to use the # operator. ------------------------------------------------------------------------------------ --]] function export.size(t) checkType('size', 1, t, 'table') local i = 0 for _ in pairs(t) do i = i + 1 end return i end --[[ -- This returns the length of a table, or the first integer key n counting from -- 1 such that t[n + 1] is nil. It is similar to the operator #, but may return -- a different value when there are gaps in the array portion of the table. -- Intended to be used on data loaded with mw.loadData. For other tables, use #. --]] function export.length(t) local i = 0 repeat i = i + 1 until t[i] == nil return i - 1 end --[[ Recursively compare two values that may be tables, including tables with nested tables as values. Return true if both values are structurally equal. Note that this handles arbitary levels of nesting. If all tables are known to be lists (with only integral keys), use export.deepEqualsList, which will be more efficient. NOTE: This is *NOT* smart enough to properly handle cycles; in such a case, it will get into an infinite loop. ]] function export.deepEquals(x, y) if type(x) == "table" and type(y) == "table" then -- Two tables are the same if they have the same number of elements -- and all keys that are present in one of the tables compare equal -- to the corresponding keys in the other table, using structural -- comparison. local sizex = 0 for key, value in pairs(x) do if not export.deepEquals(value, y[key]) then return false end sizex = sizex + 1 end local sizey = export.size(y) if sizex ~= sizey then return false end return true end return x == y end --[[ Recursively compare two values that may be lists (i.e. tables with integral keys), including lists with nested lists as values. Return true if both values are structurally equal. Note that this handles arbitary levels of nesting. Results are undefined if tables with non-integral keys are present anywhere in either structure; if that may be the case, use export.deepEquals, which will handle such tables correctly but be less efficient on lists than export.deepEqualsList. NOTE: This is *NOT* smart enough to properly handle cycles; in such a case, it will get into an infinite loop. ]] function export.deepEqualsList(x, y) if type(x) == "table" and type(y) == "table" then if #x ~= #y then return false end for key, value in ipairs(x) do if not export.deepEqualsList(value, y[key]) then return false end end return true end return x == y end --[[ Given a list and a value to be found, return true if the value is in the array portion of the list. Comparison is by value, using `deepEquals`. NOTE: This used to do shallow comparison by default and accepted a third 'deepCompare' param to do deep comparison. This param is still accepted but now ignored. ]] function export.contains(list, x) checkType('contains', 1, list, 'table') for _, v in ipairs(list) do if export.deepEquals(v, x) then return true end end return false end --[[ Given a general table and a value to be found, return true if the value is in either the array or hashmap portion of the table. Comparison is by value, using `deepEquals`. NOTE: This used to do shallow comparison by default and accepted a third 'deepCompare' param to do deep comparison. This param is still accepted but now ignored. ]] function export.tableContains(tbl, x) checkType('tableContains', 1, tbl, 'table') for _, v in pairs(tbl) do if export.deepEquals(v, x) then return true end end return false end --[[ Given a list and a value to be inserted, append or insert the value if not already present in the list. Comparison is by value, using `deepEquals`. Appends to the end, like the default behavior of table.insert(), unless `pos` is given, in which case insertion happens at position `pos` (i.e. before the existing item at position `pos`). NOTE: The order of `item` and `pos` is reversed in comparison to table.insert(), which uses `table.insert(list, item)` to insert at the end but `table.insert(list, pos, item)` to insert at position POS. NOTE: This used to do shallow comparison by default and accepted a fourth 'deepCompare' param to do deep comparison. This param is still accepted but now ignored. ]] function export.insertIfNot(list, item, pos) if not export.contains(list, item) then if pos then table.insert(list, pos, item) else table.insert(list, item) end end end --[[ Finds key for specified value in a given table. Roughly equivalent to reversing the key-value pairs in the table – reversed_table = { [value1] = key1, [value2] = key2, ... } – and then returning reversed_table[valueToFind]. The value can only be a string or a number (not nil, a boolean, a table, or a function). Only reliable if there is just one key with the specified value. Otherwise, the function returns the first key found, and the output is unpredictable. ]] function export.keyFor(t, valueToFind) local check = _check('keyFor') check(1, t, 'table') check(2, valueToFind, { 'string', 'number' }) for key, value in pairs(t) do if value == valueToFind then return key end end return nil end --[[ The default sorting function used in export.keysToList if no keySort is defined. ]] local function defaultKeySort(key1, key2) -- "number" < "string", so numbers will be sorted before strings. local type1, type2 = type(key1), type(key2) if type1 ~= type2 then return type1 < type2 else return key1 < key2 end end --[[ Returns a list of the keys in a table, sorted using either the default table.sort function or a custom keySort function. If there are only numerical keys, numKeys is probably more efficient. ]] function export.keysToList(t, keySort, checked) if not checked then local check = _check('keysToList') check(1, t, 'table') check(2, keySort, 'function', true) end local list = {} local index = 1 for key, _ in pairs(t) do list[index] = key index = index + 1 end -- Place numbers before strings, otherwise sort using <. if not keySort then keySort = defaultKeySort end table.sort(list, keySort) return list end --[[ Iterates through a table, with the keys sorted using the keysToList function. If there are only numerical keys, sparseIpairs is probably more efficient. ]] function export.sortedPairs(t, keySort) local check = _check('keysToList') check(1, t, 'table') check(2, keySort, 'function', true) local list = export.keysToList(t, keySort, true) local i = 0 return function() i = i + 1 local key = list[i] if key ~= nil then return key, t[key] else return nil, nil end end end function export.reverseIpairs(list) checkType('reverse_ipairs', 1, list, 'table') local i = #list + 1 return function() i = i - 1 if list[i] ~= nil then return i, list[i] else return nil, nil end end end --[=[ Joins an array with serial comma and serial conjunction, normally "and". An improvement on mw.text.listToText, which doesn't properly handle serial commas. Options: - conj Conjunction to use; defaults to "and". - italicizeConj Italicize conjunction: for [[Module:Template:also]] - dontTag Don't tag the serial comma and serial "and". For error messages, in which HTML cannot be used. ]=] function export.serialCommaJoin(seq, options) local check = _check("serialCommaJoin", "table") check(1, seq) check(2, options, true) local length = #seq if not options then options = {} end local conj if length > 1 then conj = options.conj or "and" if options.italicizeConj then conj = "''" .. conj .. "''" end end if length == 0 then return "" elseif length == 1 then return seq[1] -- nothing to join elseif length == 2 then return seq[1] .. " " .. conj .. " " .. seq[2] else local comma = options.dontTag and "," or '<span class="serial-comma">,</span>' conj = options.dontTag and ' ' .. conj .. " " or '<span class="serial-and"> ' .. conj .. '</span> ' return table.concat(seq, ", ", 1, length - 1) .. comma .. conj .. seq[length] end end --[[ Concatenates all values in the table that are indexed by a number, in order. sparseConcat{ a, nil, c, d } => "acd" sparseConcat{ nil, b, c, d } => "bcd" ]] function export.sparseConcat(t, sep, i, j) local list = {} local list_i = 0 for _, v in export.sparseIpairs(t) do list_i = list_i + 1 list[list_i] = v end return table.concat(list, sep, i, j) end --[[ Values of numberic keys in array portion of table are reversed: { "a", "b", "c" } -> { "c", "b", "a" } --]] function export.reverse(t) checkType("reverse", 1, t, "table") local new_t = {} local new_t_i = 1 for i = #t, 1, -1 do new_t[new_t_i] = t[i] new_t_i = new_t_i + 1 end return new_t end function export.reverseConcat(t, sep, i, j) return table.concat(export.reverse(t), sep, i, j) end -- { "a", "b", "c" } -> { a = 1, b = 2, c = 3 } function export.invert(array) checkType("invert", 1, array, "table") local map = {} for i, v in ipairs(array) do map[v] = i end return map end --[[ { "a", "b", "c" } -> { ["a"] = true, ["b"] = true, ["c"] = true } --]] function export.listToSet(t) checkType("listToSet", 1, t, "table") local set = {} for _, item in ipairs(t) do set[item] = true end return set end --[[ Returns true if all keys in the table are consecutive integers starting at 1. --]] function export.isArray(t) checkType("isArray", 1, t, "table") local i = 0 for _ in pairs(t) do i = i + 1 if t[i] == nil then return false end end return true end return export qngdifkzhm48c4ao05cne39capwc0ti Tempolete:langname 10 2991 8303 2022-07-22T10:01:53Z Rebel Agent 2678 Ke dirile template 8303 wikitext text/x-wiki <includeonly>{{safesubst:#invoke:languages/templates|getByCode|{{{1}}}|getCanonicalName}}</includeonly><noinclude> {{documentation}} </noinclude> ie1odf96p0hd3cw3do2bii2qoengusl Module:languages/templates 828 2992 8304 2022-07-22T10:04:18Z Rebel Agent 2678 Ke dirile module 8304 Scribunto text/plain local export = {} function export.exists(frame) local args = frame.args local lang = args[1] or error("Language code has not been specified. Please pass parameter 1 to the module invocation.") lang = require("Module:languages").getByCode(lang) if lang then return "1" else return "" end end -- Used by the following JS: -- * [[WT:ACCEL]] -- * [[WT:EDIT]] -- * [[WT:NEC]] function export.getByCode(frame) local iparams = { [1] = {required = true}, [2] = {required = true}, [3] = {}, [4] = {}, [5] = {}, } local iargs = require("Module:parameters").process(frame.args, iparams) local langcode = iargs[1] local lang = require("Module:languages").getByCode(langcode, true) return require("Module:language-like").templateGetByCode(lang, iargs, function(itemname) local list if itemname == "getWikimediaLanguages" then list = lang:getWikimediaLanguages() elseif itemname == "getScripts" then list = lang:getScriptCodes() elseif itemname == "getAncestors" then list = lang:getAncestors() end if list then local index = iargs[3] index = tonumber(index) or error("Please specify the numeric index of the desired item.") local retval = list[index] if retval then if type(retval) == "string" then return retval else return retval:getCode() end else return "" end end if itemname == "transliterate" then local text = iargs[3] local sc = iargs[4] local module_override = iargs[5] sc = require("Module:scripts").getByCode(sc, 4) return lang:transliterate(text, sc, module_override) or "" elseif itemname == "makeEntryName" then local text = iargs[3] return lang:makeEntryName(text) or "" elseif itemname == "makeSortKey" then local text = iargs[3] return lang:makeSortKey(text) or "" elseif itemname == "countCharacters" then local text = args[3] or "" local sc = require("Module:scripts").getByCode(iargs[4], 4, "disallow nil") return sc:countCharacters(text) end end ) end function export.getByCanonicalName(frame) local args = frame.args local langname = args[1] or error("Language name has not been specified. Please pass parameter 1 to the module invocation.") local lang = require("Module:languages").getByCanonicalName(langname) if lang then return lang:getCode() else return "" end end function export.getByName(frame) local args = frame.args local langname = args[1] or error("Language name has not been specified. Please pass parameter 1 to the module invocation.") local lang = require("Module:languages").getByName(langname) if lang then return lang:getCode() else return "" end end function export.makeEntryName(frame) local args = frame.args local langname = args[1] or error("Language name has not been specified. Please pass parameter 1 to the module invocation.") local lang = require("Module:languages").getByCode(langname) if lang then return lang:makeEntryName(args[2]) else return "" end end function export.getCanonicalName(frame) local langCode, args if require("Module:yesno")(frame.args.parent) then args = frame:getParent().args else args = frame.args end langCode = args[1] if not langCode or langCode == "" then error("Supply a language code in parameter 1.") end return mw.loadData("Module:languages/code to canonical name")[langCode] or not args.return_if_invalid and "" or langCode end return export lw6ouppnon2ycbze4i1ulntb02ss8qf Module:language-like 828 2993 8305 2022-07-22T10:07:15Z Rebel Agent 2678 Ke dirile module 8305 Scribunto text/plain local export = {} -- Implementation of getOtherNames() for languages, etymology languages, -- families and scripts. If `onlyOtherNames` is passed in, only return -- the names in the `otherNames` field, otherwise combine `otherNames`, -- `aliases` and `varieties`. function export.getOtherNames(self, onlyOtherNames) local data if self._extraData then data = self._extraData else data = self._rawData end if onlyOtherNames then return data.otherNames or {} end -- Combine otherNames, aliases and varieties. First try to optimize and not create any -- new memory. This is possible if exactly one of the three exist, and if it's `varieties`, -- there are no nested lists in `varieties`. if data.otherNames and not data.aliases and not data.varieties then return data.otherNames elseif data.aliases and not data.otherNames and not data.varieties then return data.aliases elseif data.varieties and not data.otherNames and not data.aliases then local saw_table = false for _, name in ipairs(data.varieties) do if type(name) == "table" then saw_table = true break end end if not saw_table then return data.varieties end end -- Have to do it the "hard way". local ret = {} if data.otherNames then for _, name in ipairs(data.otherNames) do table.insert(ret, name) end end if data.aliases then for _, name in ipairs(data.aliases) do table.insert(ret, name) end end if data.varieties then for _, name in ipairs(data.varieties) do if type(name) == "table" then for _, n in ipairs(name) do table.insert(ret, n) end else table.insert(ret, name) end end end return ret end -- Implementation of getVarieties() for languages, etymology languages, -- families and scripts. If `flatten` is passed in, flatten down to a -- list of stings; otherwise, keep the structure. function export.getVarieties(self, flatten) local data if self._extraData then data = self._extraData else data = self._rawData end if data.varieties then -- If flattening not requested, just return them. if not flatten then return data.varieties end -- Check if no nested table; if so, just return the result. local saw_table = false for _, name in ipairs(data.varieties) do if type(name) == "table" then saw_table = true break end end if not saw_table then return data.varieties end -- At this point, we need to flatten the varieties. local ret = {} for _, name in ipairs(data.varieties) do if type(name) == "table" then for _, n in ipairs(name) do table.insert(ret, n) end else table.insert(ret, name) end end return ret else return {} end end -- Implementation of template-callable getByCode() function for languages, -- etymology languages, families and scripts. `item` is the language, -- family or script in question; `args` is the arguments passed in by the -- module invocation; `extra_processing`, if specified, is a function of -- one argument (the requested property) and should return the value to -- be returned to the caller, or nil if the property isn't recognized. -- `extra_processing` is called after special-cased properties are handled -- and before general-purpose processing code that works for all string -- properties. function export.templateGetByCode(item, args, extra_processing) -- The item that the caller wanted to look up local itemname = args[2] or error("Function to call (parameter 2) has not been specified.") local list if itemname == "getOtherNames" then list = item:getOtherNames() elseif itemname == "getOnlyOtherNames" then list = item:getOtherNames(true) elseif itemname == "getAliases" then list = item:getAliases() elseif itemname == "getVarieties" then list = item:getVarieties(true) end if list then local index = args[3]; if index == "" then index = nil end index = tonumber(index or error("Numeric index of the desired item in the list (parameter 3) has not been specified.")) return list[index] or "" end if itemname == "getFamily" and item.getFamily then return item:getFamily():getCode() end if extra_processing then local retval = extra_processing(itemname) if retval then return retval end end if item[itemname] then local ret = item[itemname](item) if type(ret) == "string" then return ret else error("The function \"" .. itemname .. "\" did not return a string value.") end end error("Requested invalid item name \"" .. itemname .. "\".") end return export 3jgkiy44irau7thwbogjol2d5vqovih Tempolete:pagetype 10 2994 8306 2022-07-22T15:50:09Z Rebel Agent 2678 Ke dirile tempolete 8306 wikitext text/x-wiki <includeonly><!-- Decide whether to make the first letter uppercase or not -->{{{{#ifeq:{{{2|{{{1}}}}}}|U|ucfirst|#titleparts}}:<!-- -->{{#ifeq:{{{1}}}|a|<!-- Decide whether to prefix indefinite article -->{{#ifeq:{{TALKSPACE}}|{{NAMESPACE}}|a talk page|{{#switch:{{NAMESPACE}}|<!--main-->=an entry|Category=a category|Appendix=an appendix|Wiktionary=a project page|Index=an index|File=an image page|Template|Module=a {{#ifeq: {{SUBPAGENAME}} | documentation | {{lc:{{NAMESPACE}}}} documentation | {{lc:{{NAMESPACE}}}}}} page|Wikisaurus=a Wikisaurus page|MediaWiki=a MediaWiki page|#default=a {{lc:{{NAMESPACE}}}} page}}}}<!-- -->|<!-- -->{{#ifeq:{{TALKSPACE}}|{{NAMESPACE}}|talk page|{{#switch:{{NAMESPACE}}|<!--main-->=entry|Category|Appendix|Index={{lc:{{NAMESPACE}}}}|Wiktionary=project page|Wikisaurus=Wikisaurus page|File=image page|Template|Module={{#ifeq: {{SUBPAGENAME}} | documentation | {{lc:{{NAMESPACE}}}} documentation | {{lc:{{NAMESPACE}}}}}} page|MediaWiki=MediaWiki page|#default={{lc:{{NAMESPACE}}}} page}}}}<!-- -->}}<!-- -->}}<!-- --></includeonly><noinclude>{{documentation}}</noinclude> lz1j6py64tdk83n020p98vaz8ysw0tf Tempolete:redlink category 10 2995 8307 2022-07-24T05:48:30Z Rebel Agent 2678 Ke dirile Tempolete 8307 wikitext text/x-wiki <noinclude>{{rfd}}</noinclude><!-- This is a list of entries that won't be checked for redlinks. Usually, they are large entries, where redlink checking can cause module errors. -->{{#switch:{{PAGENAME}}<!-- -->|-ere|A|a|Albania|ala|all|ama|an|and|animal|answer|ant<!-- -->|arma|Armenia|as|Asia|ash|Australia<!-- -->|B|b|baba|back|bank|bar|bat|be|bed|bee|beer<!-- -->|big|bird|black|blue|body|bone|book|box|bow|boy<!-- -->|brain|bread|bridge|brown|bus|butterfly<!-- -->|C|c|car|chair|cheese|chicken|child|China|Chinese|church<!-- -->|clock|coffee|cold|color|come|copper|corpse|country<!-- -->|da|de|death|do|drink|drop|duck<!-- -->|e|ear|earth|east|eat|eight|el|en|English|es|et<!-- -->|face|family|fan|far|fat|father|fear<!-- -->|first|fish|five|flag|flower|fly<!-- -->|foot|forest|four|fog|for|fox|French|friend|fruit<!-- -->|German|girl|glass|God|gold|good|grass|grave|green<!-- -->|H|hair|hammer|hat|he|heart|hello|here|hit|home|hot|house<!-- -->|I|i|ice|in|India|iron|is|it<!-- -->|key|kill|king|knife|know<!-- -->|la|lake|lama|land|language|leaf|leg<!-- -->|life|light|listen|little|live|liver<!-- -->|lo|London|long|love<!-- -->|ma|mal|mama|man|mare|Mars|me|meat<!-- -->|mi|mies|mind|money|mouse|mouth<!-- -->|N|n|na|name|neck|nest|net|new<!-- -->|ni|night|nine|no|non|number<!-- -->|o|oil|old|on|one|open|orange<!-- -->|papa|paper|Paris|penis|people<!-- -->|pig|plant|play|po|port|Portugal|queen|question<!-- -->|rainbow|rat|red|rice|right|ring|river|root|rose|run<!-- -->|salt|say|se|sea|second|see|seven|sex|shadow<!-- -->|si|silver|sin|sister|sit|six|skin|sky|smoke<!-- -->|snake|snow|sol|speak|spring<!-- -->|stand|stone|strong|sugar|sweet<!-- -->|ta|tail|table|take|te|tea|ten|think|three|ti|time<!-- -->|to|tongue|tooth|tree|tu|two|työ|U|u|ver<!-- -->|walk|war|water|welcome|west|what|when|white<!-- -->|wind|winter|wolf|woman|wood|word<!-- -->|year|yellow|yes<!-- -->|brother/translations|cat/translations|dog/translations|eye/translations<!-- -->|fire/translations|hand/translations|man/translations|mother/translations<!-- -->|rain/translations|sun/translations<!-- -->|ϯ<!-- -->|βάρβαρος|ποικίλος<!-- -->|一|七|三|上|下|世|中|九|事|二|交|人|今|仔|仙|代|令|伯|何|作|來|個<!-- Radical 10 -->|元|入|刀|分|北|南|口|吃|和|哈|地|場|塊|夜|夢|大|女|好|子|學|對|小|山|常<!-- Radical 50 -->|平|幾|彼|心|愛|我|手|數|新|方|日|星|月|望|木|本|朝|東|歌|母<!-- Radical 80 -->|比|水|河|海|清|火|無|父|理|生|白|百|的|目|真|神|種|空|箸|紅|米|色|花|茶|著<!-- Radical 140 -->|虎|蛇|行|見|話|路|車|過|都|酒|金|銀|長|開|陽<!-- Radical 170 -->|雨|雷|零|露|青|面|頭|風|食|餅|馬|高|魚|點|龍<!-- -->|Cardinal numbers 0 to 9|Spanish diminutives of given names|Common Russian verbs|Ancient Greek Swadesh list|Frequency dictionary of the modern Russian language (the Russian National Corpus)/1|Frequency dictionary of the modern Russian language (the Russian National Corpus)/8|List of German cognates with English|=|<!-- The last five refer to Appendix:Spanish diminutives of given names, Appendix:Common Russian verbs, Appendix:Frequency dictionary of the modern Russian language (the Russian National Corpus)/1, Appendix:Frequency dictionary of the modern Russian language (the Russian National Corpus)/8; the namespace has been stripped. -->{{#switch:{{NAMESPACE}}||Reconstruction|Appendix=<!-- This is the list of languages with redlink checking enabled. -->{{#switch:{{{1}}}|afa-pro|ang|ar|ary|cel-pro|cel-bry-pro|cel-gau|da|egy|es|fi|gem-pro|gml|got|grc|iir-pro|ine-pro|it|itc-pro|map-pro|mk|mt|non|ota|poz-pro|poz-pol-pro|pt|ru|sem-pro|sit-pro|sla-pro|te|zh|cmn|yue|nan|hak=<!-- testing -->{{#ifeq:{{isValidPageName|{{{2|}}}}}|valid|<!-- -->{{#invoke:redlink category|cat|1={{{1}}}|2={{{2}}}|template={{{template|-}}}}}<!-- -->}}<!-- -->}}<!-- -->}}<!-- -->}}<!-- --><noinclude>{{documentation}}</noinclude> cbj8cfi3wv6dtnf9fvgbl88jrsslo1h Module:request-forum 828 2996 8308 2022-07-24T05:50:16Z Rebel Agent 2678 Ke dirile module 8308 Scribunto text/plain local export = {} export.CJK = {} -- Chinese export.CJK["zh"] = true export.CJK["och"] = true export.CJK["ltc"] = true -- Japonic export.CJK["ja"] = true export.CJK["ojp"] = true export.CJK["ryu"] = true -- Koreanic export.CJK["ko"] = true export.CJK["ko-ear"] = true export.CJK["okm"] = true export.CJK["oko"] = true export.CJK["jje"] = true function export.rfv(frame) local lang_code = frame.args[1] require("Module:languages").getByCode(lang_code, true) -- print error if invalid code local subforum if lang_code == "en" then subforum = "English" elseif export.CJK[lang_code] then subforum = "CJK" else subforum = "Non-English" end return "Wiktionary:Requests for verification/" .. subforum end function export.rfd(frame) local lang_code = frame.args[1] local namespace = frame.args[2] local subforum -- RFDs of articles in "abnormal" namespaces go straight to [[WT:RFDO]] without having their language code checked. -- This branch is only used by [[Template:rfd]] because the other RFD templates ([[Template:rfd-sense]], [[Template:rfd-redundant]]) semantically presuppose the target to be a lingual element. if namespace ~= nil and namespace ~= "" and namespace ~= "Citations" and namespace ~= "Reconstruction" and namespace ~= "Transwiki" then subforum = "Others" else require("Module:languages").getByCode(lang_code, true) -- print error if invalid code if lang_code == "en" then subforum = "English" elseif export.CJK[lang_code] then subforum = "CJK" else subforum = "Non-English" end end return "Wiktionary:Requests for deletion/" .. subforum end return export 541pbpy1exb3pzz2f0k0j06nye12tkc Tempolete:categorize 10 2997 8309 2022-07-24T05:56:57Z Rebel Agent 2678 Ke dirile template 8309 wikitext text/x-wiki {{#invoke:utilities|template_categorize}}<!-- --><noinclude>{{documentation}}</noinclude> h83w0boq8mvgpeu9htmlafsi0wbmesx Tempolete:names 10 2998 8312 2022-07-24T06:11:40Z Rebel Agent 2678 Ke dirile template 8312 wikitext text/x-wiki <div id="shortcut" class="noprint" style="border:1px solid #999; background:#eeffff; margin:0 0 .5em 1em; text-align:center; padding:5px; float:right; clear:both; font-size:smaller;"><!-- -->'''Alternative name{{#if:{{{2|}}}|s}}''':<br><!-- -->{{temp|{{{1}}}}}<!-- -->{{#if:{{{2|}}}|<br>{{temp|{{{2}}}}}}}<!-- -->{{#if:{{{3|}}}|<br>{{temp|{{{3}}}}}}}<!-- -->{{#if:{{{4|}}}|<br>{{temp|{{{4}}}}}}}<!-- --></div><!-- --><noinclude>{{documentation}}</noinclude> mwidut0eityngimcr9ceutgqw6jo76w Katlego 0 2999 8315 8314 2022-07-24T06:25:58Z Rebel Agent 2678 /* Setswana */Added content 8315 wikitext text/x-wiki ==Setswana== * Katlego * Katlego ke leina la batho * Go atlega ===Sekai=== Leina la batho: * Ke nna Katlego * Katlego ga a tla sekolong tsatsi leno opju9pe5z7mbfef8hwznyfbe2l7di04 Karolo:English terms borrowed from Tswana 14 3000 8316 2022-07-24T06:28:33Z Rebel Agent 2678 Created blank page 8316 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 Karolo:English terms derived from Tswana 14 3001 8317 2022-07-24T06:29:12Z Rebel Agent 2678 Ke dirile Karolo 8317 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 Dumela 0 3002 8318 2022-07-24T07:09:03Z Rebel Agent 2678 Ke dirile tsebe 8318 wikitext text/x-wiki ==Setswana== * Dumela * Dumelang * Dumela kgotsa dumelang ke ditumediso ===Sekai=== * Dumelang ke kopa metsi ois2s55cjdacqe7lu89qctwnqhbfz4k dijo 0 3003 8323 8322 2022-07-24T07:17:48Z Rebel Agent 2678 /* Setswana */added content 8323 wikitext text/x-wiki ==Setswana== * Dijo * Dijo di a jewa === Sekai === * Ke ratla dijo ====Sekgoa==== # [[food]] ---- 5pgij5otcd8utdw6uql06rkkiw6zsdi tsela 0 3004 8324 2022-07-24T07:22:11Z Rebel Agent 2678 Ke dirile tsebe 8324 wikitext text/x-wiki ==Setswana== * Tsela * Tsela ke lefoko le le kgonang go dirisiwa go raya dilo tse di farologaneng * Go nale '''tsela''' tse dintsi tsa go dira dilo * Tsela ya dikoloi ===Sekai=== * Bananyana tlogelang go tshamekela mo tseleng! k73v9ufyxxz0swz21sntt6s67r17tst bogobe 0 3005 8325 2022-08-03T17:10:02Z Rebel Agent 2678 Ke dirile tsebe 8325 wikitext text/x-wiki ==Setswana== * Bogobe * Bogobe ke sejo se se dirwang ka go kopanya mmidi o o swailweng le metsi. ===Sekai=== * Ke ratla go ja '''bogobe'''. 0a2trtltjgeyei9h8g02nuvht9m5zkn motogo 0 3006 8326 2022-08-03T17:12:14Z Rebel Agent 2678 Ke dirile tsebe 8326 wikitext text/x-wiki ==Setswana== * Motogo * Motogo ke mofuta wa [[bogobe]] mme o ne o dirwa o le [[metsi]] nyana ===Sekai=== * Motogo ke nngwe ya sejo sa maphakela. 9b8dtn8ls4yvg1d6wn1twr6zxmepjco borotho 0 3007 8327 2022-08-03T17:15:05Z Rebel Agent 2678 Ke dirile tsebe 8327 wikitext text/x-wiki ==Setswana== * Borotho * Borotho ke sejo se gantsi se jewang se fitisiwa ka [[tee]] * Borotho ke nngwe ya sejo sa maphakela ===Sekai=== * Tsaya madi a o ye go reka borotho ngwanaka a90tysvbgwlg6ey6olbfuhs3zr1efqc tee 0 3008 8328 2022-08-03T17:17:27Z Rebel Agent 2678 Ke dirile tsebe 8328 wikitext text/x-wiki ==Setswana== * Tee * Tee ke [[metsi]] a a dirwang bothitho a bo a kopangwa le [[sukiri]] gammogo le [[mathare]] ===Sekai=== * Nna ke ratla tee e e naleng [[mashi]] q27c7o3fu6rf2xctg5ndfihazqjapfj mathare 0 3009 8329 2022-08-03T17:20:09Z Rebel Agent 2678 Ke dirile tsebe 8329 wikitext text/x-wiki ==Setswana== * Mathare kgotsa Matlhare * Go nale mathare a [[setlhare]] gape go nale mathare a a dirisiwang go dira [[tee]] ===Sekai=== * Mathare a setlhare sele a mantle jaang r4nb6p2cbhcg3hp94sik5gu1jsfsrvm sukiri 0 3010 8330 2022-08-03T17:22:31Z Rebel Agent 2678 Ke dirile tsebe 8330 wikitext text/x-wiki ==Setswana== * Sukiri * Go nale disukiri tsa [[mmele]] gape go nale sukiri e e dirisiwang go dira [[tee]] ===Sekai=== * Tee ye ga e utlwale '''sukiri''' hnf9pstnn51tjia0ettzy5ivc2a1xw5 mmele 0 3011 8334 8332 2022-08-03T17:37:51Z Rebel Agent 2678 /* Dikarolo tsa mmele wa motho */ 8334 wikitext text/x-wiki ==Setswana== * Mmele * Mmele wa motho ===Bontshi=== * Mebele ===Dikarolo tsa mmele wa motho=== {{picdic|image=Human body features-nb.svg |detail1= 1= [[thogo#Setswana|thogo]] 2= [[sefathego#Setswana|sefathego]] 3= [[molala#Setswana|molala]] 4= [[legeta#Setswana|legeta]] 5= [[sefuba#Setswana|sefuba]] 6= [[mufubu#Setswana|mufubu]], [[mohubu#Setswana|mohubu]] 7= [[abdomen#English|abdomen]] 8= [[groin#English|groin]] 9= [[bonna#Setswana|bonna]] 10-14= [[leoto#Setswana|leoto]] 15-19= [[legeta#Setswana|legeta]] }} e1ibwletskfyrtuzffz0cjtjhko1but Tempolete:picdic 10 3012 8333 2022-08-03T17:34:48Z Rebel Agent 2678 Ke dirile tempolete 8333 wikitext text/x-wiki <noinclude>{{wp|Picture dictionary}} </noinclude>{| class="floatright" role="presentation" style="border-collapse:collapse; border:1px solid #ccc; <includeonly>width:{{{width|310}}}px;</includeonly> " |- ! style="font-weight:normal;" | [[Wiktionary:Picture dictionary|Picture dictionary]] |- | <div style="position:relative; white-space:nowrap; overflow-x:hidden;padding-bottom: 25px; margin-bottom: -25px;"><!--cheapest hack ever -->{{#tag:imagemap| image:{{{image|Image-missing.svg}}}{{!}}<includeonly>{{#if:{{{height|}}}|{{{width|310}}}x{{{height|{{{width|310}}}}}}px|{{{width|310}}}px}}</includeonly><noinclude>100px</noinclude>{{!}}{{{text|{{PAGENAME}}}}}{{!}}alt={{{text|{{PAGENAME}}}}} {{#if:{{{imagemap|}}}| {{{imagemap}}} | rect 0 0 1 1 [[{{PAGENAME}}]] }}}} {{#if:{{{labels|}}}|{{{labels}}}}} </div> |- |{{#if:{{{scrollable|}}}|<div style="width:{{{width|310}}}px; overflow:scroll; white-space:nowrap;"><table style="border: 1px solid #ccc; border-collapse:collapse;"><tr><td>}} <table role="presentation" style="border: 1px solid #ccc; border-collapse:collapse;"><tr><td> {{{detail1|Detail1 missing}}} </td></tr></table><!-- -->{{#if:{{{detail2|}}}|<tr><td><table role="presentation" style="border: 1px solid #ccc; border-collapse:collapse;"><tr><td> {{{detail2|Detail2}}} </td></tr></table>}}<!-- -->{{#if:{{{detail3|}}}|<tr><td><table role="presentation" style="border: 1px solid #ccc; border-collapse:collapse;"><tr><td> {{{detail3|Detail3}}} </td></tr></table>}}<!-- -->{{#if:{{{detail4|}}}|<tr><td><table role="presentation" style="border: 1px solid #ccc; border-collapse:collapse;"><tr><td> {{{detail4|Detail4}}} </td></tr></table>}}{{#if:{{{scrollable|}}}|</td></tr></table></div>}} |}[[Category:Visual dictionary]]<noinclude>{{documentation}}</noinclude> ss9esmm1x22zmeq76k60v11ttwhjm2e thogo 0 3013 8335 2022-08-03T17:40:04Z Rebel Agent 2678 Ke dirile tsebe 8335 wikitext text/x-wiki ==Setswana== * Thogo * Thogo ke karolo ya [[mmele]] ===Bontshi=== * Dithogo 0kaoyip0rqjpedbignz966idnqx04af sefathego 0 3014 8336 2022-08-03T17:41:51Z Rebel Agent 2678 Ke dirile tsebe 8336 wikitext text/x-wiki ==Setswana== * Sefathego * Sefathego ke karolo ya mmele ===Bontshi=== * Difathego kis771g7jg7nygt8ed530ioay4yyica molala 0 3015 8337 2022-08-03T17:43:45Z Rebel Agent 2678 Ke dirile tsebe 8337 wikitext text/x-wiki ==Setswana== * Molala * Molala ke karolo ya [[mmele]] ===Bontshi=== * Melala klrodkujkj16n7fm7eg9um2g10lk9yq legeta 0 3016 8338 2022-08-03T17:45:35Z Rebel Agent 2678 Ke dirile tsebe 8338 wikitext text/x-wiki ==Setswana== * Legeta * Legeta ke karolo ya [[mmele]] ===Bontshi=== * Mageta 6fcv7jpqcot90bj8ciqyxy49eo6w20y sefuba 0 3017 8341 8340 2022-08-03T17:54:27Z Rebel Agent 2678 /* Setswantsho */Ke baakantse 8341 wikitext text/x-wiki ==Setswana== * Sefuba * Sefuba ke karolo ya [[mmele]] ===Bontshi=== * Difuba ===Setswantsho=== {{picdic |image=Chest.jpg |width=310 |detail1= }} 7x9xvs7y7r2ubfzs03q04h8mi34kuxf mohubu 0 3018 8342 2022-08-03T17:57:27Z Rebel Agent 2678 Ke dirile tsebe 8342 wikitext text/x-wiki ==Setswana== * Mohubu * Mufubu * Mohubu ke karolo ya [[mmele]] ===Bontshi=== * Mefubu 7174o3byn1hbjyclxmepj0w0aiv6znd mufubu 0 3019 8344 8343 2022-08-03T18:00:23Z Rebel Agent 2678 Ke e isetse ko [[mohubu]] 8344 wikitext text/x-wiki #Redirect [[mohubu]] hkadih1irivqkm7j3m8d6g8ifkk3kae kereke 0 3022 8348 8347 2022-08-08T18:37:00Z Rebel Agent 2678 Rebel Agent moved page [[Kereke]] to [[kereke]]: E siame e ntse jaana 8347 wikitext text/x-wiki ==Setswana== * Kereke * Kereke ke kago e dirisiwang ke bakeresete go obamela [[Modimo]]. '''Bontsi''' Ke Dikereke ===Sekai=== Beke le beke ke ya kerekeng dagn9rfwv9scnogi0p7gt73fwyfwvhh Kereke 0 3023 8349 2022-08-08T18:37:00Z Rebel Agent 2678 Rebel Agent moved page [[Kereke]] to [[kereke]]: E siame e ntse jaana 8349 wikitext text/x-wiki #REDIRECT [[kereke]] qzvtqkkyae1cuw4i65va9rxu0gn5s13 ntlo 0 3027 8353 2022-08-17T04:41:27Z Rebel Agent 2678 Ke dirile tsebe 8353 wikitext text/x-wiki ==Setswana== * Ntlo * Ntlo ke kago e nnang batho '''bontsi''' ke dintlo tkgk7ikx811jqexl9i5p923kzlu2gyy maboko 0 3028 8584 8372 2024-03-04T16:13:40Z Quinlan83 2716 Fix 8584 wikitext text/x-wiki ==Setswana== * Leboko '''Bontsi''' ke maboko ===Sekai sa leboko=== Leboko la Mosadi Mosadi, mosadi Wena mojewa mabogo Segatlhamela masisi Wena mojwala o tlopega Korwe e sa jeng e bapalela tseetse Segatlhamela masisi Yo o sa lapeng magetla Mo tshwara thipa kafa Bogaleng Kgakakgolo ga kena Mebala, mebala e dikgakaneng byoxfz096vpr46uxwos412wxbit71pb Tempolete:Main Page/Header/styles.css 10 3029 8355 2022-08-22T20:34:10Z Rebel Agent 2678 Ke dirile css 8355 sanitized-css text/css .wd-mp-header { overflow: hidden; position: relative; text-align: center; margin-bottom: 10px; color: #484848; } @supports (object-fit:cover) { .wd-mp-headerimage { width: 100%; object-fit: cover; object-position: top left; } } .wd-mp-overlay { height: 0; left: 50%; margin: 0 0 0 -50%; position: absolute; top: 65px; width: 100%; } .wd-mp-headerbox { background: #ddd; background: rgba(221, 221, 221, 0.9); display: inline-block; padding: 2em; font-size: 1.2em; line-height: 2em; } .wd-mp-subheader { margin-top:10px; } .wd-mp-subheader > div { overflow: hidden; position: relative; background-color:white; display: inline-block; width: auto; margin: 0 auto; padding-left: 1em; padding-right: 1em; text-align: center; box-sizing: border-box; } dci9xl6f2ec3af48mh8vw2otsnx814y Tempolete:Main Page/Header 10 3030 8363 8362 2022-08-22T21:30:08Z Rebel Agent 2678 8363 wikitext text/x-wiki <templatestyles src="Main Page/Header/styles.css" /><!-- --><div class="wd-mp-header"><!-- --> [[File:Wiktionary background rasterized.png|link=]] <!-- --><div class="wd-mp-overlay"> <div class="wd-mp-headerbox"> <strong style="font-size: 1.8em;">{{{welcome}}}</strong> <p> {{{description}}} </p> </div> </div> </div> </div> 6ixyz5i44rdd00gndbad2uvzl2edxrf lerato 0 3034 8373 2022-08-23T08:31:00Z Rebel Agent 2678 Ke dirile tsebe 8373 wikitext text/x-wiki ==Setswana== * Lerato kgotsa lorato * Lerato ke maikotlo * Lefoko lerato le kgona go dirisiwa gape e le maina a batho ga ntshi basetsana ===Sekai=== * Lerato ke ngwana wa gago ? qi9bndaecqh0ibonzh5uthv9s5593r1 maphakela 0 3035 8375 8374 2022-09-10T03:53:21Z Rebel Agent 2678 Rebel Agent moved page [[Maphakela]] to [[maphakela]]: Ne ele phoso 8374 wikitext text/x-wiki ==Setswana== *Maphakela *Moso *Maphakela ke nako ===Sekai=== *Ke kopa le ntsose '''maphakela'''. 608rwylwxanq4yhfesxn58wva9qz0g9 Maphakela 0 3036 8376 2022-09-10T03:53:21Z Rebel Agent 2678 Rebel Agent moved page [[Maphakela]] to [[maphakela]]: Ne ele phoso 8376 wikitext text/x-wiki #REDIRECT [[maphakela]] gfp88dp44lx6cca7oipbyfqojpgan5y Sukiri 0 3037 8377 2022-09-10T03:58:20Z Rebel Agent 2678 Ke dirile tsebe 8377 wikitext text/x-wiki ==Setswana== *Sukiri *Leina '''Sukiri''' gantsi le dirisiwa e le leina la sejo *Sukiri le kgona go dirisiwa go kaya gore selo se nale tatso e sukiri asp6kpvqm0vof6lglj7tatxjzk1djqn motshegare 0 3038 8378 2022-09-10T04:01:57Z Rebel Agent 2678 Ke dirile tsebe 8378 wikitext text/x-wiki ==Setswana== *Motshegare *Motshegare ke [[nako]] ===Sekai=== *Re ja [[dijo]] tsa motshegare. 0agfklh4kxihhowbps6belb0zkn7keb Sekalaka 0 3039 8379 2022-09-10T04:05:04Z Rebel Agent 2678 Ke dirile tsebe 8379 wikitext text/x-wiki ==Setswana== *Sekalaka *Sekalaka ke [[teme]] ===Sekai=== * [[Bakalaka]] ba bua sekalaka. air9gwf1n9u3oebve3naxuo76wtx3qm Molaodi 0 3040 8380 2022-09-28T04:46:11Z Rebel Agent 2678 Ke dirile tsebe 8380 wikitext text/x-wiki == Setswana == * Molaodi * Molaodi ke motho o laolang tsamaiso ya sengwe '''Bontsi''' ke Balaodi 8mqockhdwfh32iva92xdu2tyyppgbzm bongwe 0 3041 8381 2022-09-28T04:49:29Z Rebel Agent 2678 Ke dirile tsebe 8381 wikitext text/x-wiki == Setswana == * Bongwe * bongwe ke nomoro ya ntlha * 1 dc22e2unydc7l6klyrqym4p4dq8hogl seromamowa 0 3042 8382 2022-09-28T04:53:07Z Rebel Agent 2678 Ke dirile tsebe 8382 wikitext text/x-wiki == Setswana == * Seromamowa * Seromamowa ke selo se se dirisiwang go reetsa dipina kgotsa go reetsa dikgang 16ulzafw013yf0by8yejp9vw2bgqegh bobedi 0 3043 8383 2022-09-28T04:55:03Z Rebel Agent 2678 Ke dirile tsebe 8383 wikitext text/x-wiki == Setswana == * Bobedi * Bobedi ke nomoro e salang [[bongwe]] morago n4txkkpbtx1ld8i2a990hnh040dlig0 Labobedi 0 3044 8384 2022-09-28T04:58:17Z Rebel Agent 2678 Ke dirile tsebe 8384 wikitext text/x-wiki == Setswana == * Labobedi * Labobedi ke letsatsi la beke ===Sekai=== * Ke tla go duela ka Labobedi. '''Motho yo o ne a supa gore o tla duela motho ka letsatsi la Labobedi'''. trdt4pkuv7bgsrryphoga1nhl4yp1q0 boraro 0 3045 8385 2022-09-28T05:03:02Z Rebel Agent 2678 Ke dirile tsebe 8385 wikitext text/x-wiki == Setswana == * Boraro * Boraro ke nomoro e salang [[bobedi]] morago. mye8jbr8qakwrxpi9l3gvoacoa5u66x Laboraro 0 3046 8386 2022-09-28T05:05:32Z Rebel Agent 2678 Ke dirile tsebe 8386 wikitext text/x-wiki == Setswana == * Laboraro * Laboraro ke letsatsi la beke le le salang [[Labobedi]] morago. 7dpyz2exat543jbekbiekl5s75d6qh4 bone 0 3047 8387 2022-09-28T05:08:02Z Rebel Agent 2678 Ke dirile tsebe 8387 wikitext text/x-wiki == Setswana == * Bone * Bone ke nomoro e salang morago [[boraro]]. md82embfbfay9p7hygi6u8p5opvp3ja Labone 0 3048 8388 2022-09-28T05:11:03Z Rebel Agent 2678 Ke dirile tsebe 8388 wikitext text/x-wiki == Setswana == * Labone * Labone ke letsatsi la bone mo bekeng le sala morago [[Laboraro]]. 8f9yawsdqk5d61rqvpaega66t7tebqj botlhano 0 3049 8389 2022-09-28T05:14:24Z Rebel Agent 2678 Ke dirile tsebe 8389 wikitext text/x-wiki == Setswana == * Botlhano kgotsa bothano * Botlhano ke nomoro e salang morago [[bone]] 0yzgojsm3tzmoxb55p8rniqyekz5eil bothano 0 3050 8390 2022-09-28T05:16:23Z Rebel Agent 2678 Ke e jsitse kwa e tshwanetseng 8390 wikitext text/x-wiki #Redirect [[botlhano]] q591zch7do48d5zd128t4o7gi4weupd Labotlhano 0 3051 8391 2022-09-28T05:25:06Z Rebel Agent 2678 Ke dirile tsebe 8391 wikitext text/x-wiki == Setswana == *Labotlhano * Labotlhano ke letsatsi la [[botlhano]] mo bekeng le sala morago labone. 6bt71yyjxgtls9erj8xlw6d8z8kub1j Mosupologo 0 3052 8392 2022-09-28T05:29:33Z Rebel Agent 2678 Ke dirile tsebe 8392 wikitext text/x-wiki == Setswana == * Mosupologo * Mosupologo ke letsatsi la ntlha mo bekeng le sala morago [[Tshipi]] yo e leng letsatsi la bofelo. ohks8hjy08siiuhy8sjaqum8p0pr4hg Tshipi 0 3053 8393 2022-09-28T05:31:18Z Rebel Agent 2678 Ke dirile tempolete 8393 wikitext text/x-wiki == Setswana == * Tshipi * Tshipi ke letsatsi la bofelo mo bekeng le sa morago [[Matlhatso]]. lhdy3kt3hu8k9sfr712u00hvh6nz2zq namoni 0 3055 8396 2022-09-29T09:06:12Z Rebel Agent 2678 Ke dirile tsebe 8396 wikitext text/x-wiki == Setswana == * Namoni * Namoni ke leungo le le tswang mo setlhareng le le jwenang Gonale mefuta e mengwe ya di namuni '''Sekai''' Naraki n6qoljlypq09kfa94gu46fz8ps834af Matlhatso 0 3056 8397 2022-09-29T09:08:38Z Rebel Agent 2678 Ke dirile tempolete 8397 wikitext text/x-wiki == Setswana == * Matlhatso * Matlhatso ke letsatsi la beke la borataro eaau8rggjmwo5uw9xgzsznmi1wfeiuq pula 0 3057 8438 8435 2022-10-03T10:27:43Z Rebel Agent 2678 /* Setswana */Ke tsentse “noun" 8438 wikitext text/x-wiki == Setswana == {{noun}} #{{tlhaloso}}Pula ke marothodi a metsi a tswang ko legodimong. #Lefatshe la [[Botswana]] le dumela mo puleng ka jaalo le na la bitsa madi a lone lere ''pula''. [[Karolo:Mafoko a Setswana]] rayai08ag4nx62frcjgx819sq511wa8 Botswana 0 3058 8400 8399 2022-09-29T09:16:59Z Rebel Agent 2678 /* Setswana */Ke tsentse Setshwantsho 8400 wikitext text/x-wiki == Setswana == * Botswana * Botswana ke lefatshe le le kwa borwa jwa Aferika fagare ga [[Aferika Borwa]], [[Zimbabwe]], [[Namibia]] le [[Angola]] [[File:Botswana Flag.svg|thumb|100px|folaga ya lefatshe la Botswana]] 5gsad0pj5djb640827jvntk32c9m282 Tempolete:lang 10 3059 8406 2022-10-02T18:34:00Z Rebel Agent 2678 Ke dirile tempolete 8406 wikitext text/x-wiki {{#invoke:script utilities|lang_t}}<!-- --><noinclude>{{documentation}}</noinclude> 94y9od4n19i3g16pq7i2urb4qcdjx7k Module:Yesno 828 3061 8410 2022-10-02T18:53:20Z Rebel Agent 2678 Ke dirile Module 8410 Scribunto text/plain -- Function allowing for consistent treatment of boolean-like wikitext input. -- It works similarly to the template {{yesno}}. return function (val, default) -- If your wiki uses non-ascii characters for any of "yes", "no", etc., you -- should replace "val:lower()" with "mw.ustring.lower(val)" in the -- following line. val = type(val) == 'string' and val:lower() or val if val == nil then return nil elseif val == true or val == 'yes' or val == 'y' or val == 'true' or val == 't' or val == 'on' or tonumber(val) == 1 then return true elseif val == false or val == 'no' or val == 'n' or val == 'false' or val == 'f' or val == 'off' or tonumber(val) == 0 then return false else return default end end swdskn7svew8i9wuydn9uj5l3r2ghcs Module:yesno 828 3062 8411 2022-10-02T19:02:39Z Rebel Agent 2678 Ke dirile module 8411 Scribunto text/plain -- Function allowing for consistent treatment of boolean-like wikitext input. -- It works similarly to the template {{yesno}}. return function (val, default) val = type(val) == 'string' and val:lower() or val -- put in lower case if val == nil then return nil elseif val == false or val == 'no' or val == 'n' or val == 'false' or tonumber(val) == 0 then return false elseif val == true or val == 'yes' or val == 'y' or val == 'true' or tonumber(val) == 1 then return true else return default end end snml89z05ncrjkxps2qrcjws3nodhka Tempolete:para 10 3063 8413 2022-10-02T19:19:03Z Rebel Agent 2678 Ke dirile tempolete 8413 wikitext text/x-wiki <code>&#124;{{#if:{{{}}}|{{#if:{{{1<includeonly>|</includeonly>}}}|{{{1}}}=}}{{{2<includeonly>|</includeonly>}}}|={{{1|}}}}}</code><!-- -->{{#if:{{{3|}}}<!-- -->|&nbsp;({{#if:{{{req|}}}|'''''required''''',&nbsp;}}{{#if:{{{opt|}}}|''optional'',&nbsp;}}{{{3}}})<!-- -->|{{#if:{{{req|}}}|&nbsp;('''''required''''')}}{{#if:{{{opt|}}}|&nbsp;(''optional'')}}<!-- -->}}<!-- --><noinclude>{{documentation}}</noinclude> 2xe6l3csjwjyljekqezswyzpwk01lyx Tempolete:Bokgaitsadie Wiktionary 10 3064 8660 8421 2024-10-25T21:32:41Z Таёжный лес 3213 8660 wikitext text/x-wiki <templatestyles src="Wikipedia's sister projects/styles.css" /> Wiktionary e kwalwa ke baithaopi gape e tshwerwe ke [[:w:Wikimedia Foundation|Wikimedia Foundation]], komponi ye sa diring dipoelo e gape e tswereng [[foundationsite:our-work/wikimedia-projects/|diporojeke]] tse dingwe: <div class="plainlist"> <ul id="sister-projects-list"> <li> <div>[[File:Commons-logo.svg|31px|link=c:|Commons|alt=Commons logo]]</div> <div><span>[[:c:|Commons]]</span><br/>Ditswantsho tsa mahala</div> </li> <li> <div>[[File:MediaWiki-2020-icon.svg|35px|link=mw:|MediaWiki|alt=MediaWiki logo]]</div> <div><span>[[:mw:|MediaWiki]]</span><br/>Wiki e dirang maranyane</div> </li> <li> <div>[[File:Wikimedia Community Logo.svg|35px|link=m:|Meta-Wiki|alt=Meta-Wiki logo]]</div> <div><span>[[:m:|Meta-Wiki]]</span><br/>Wikimedia project coordination</div> </li> <li> <div>[[File:Wikibooks-logo.svg|35px|link=b:|Wikibooks|alt=Wikibooks logo]]</div> <div><span>[[:b:|Wikibooks]]</span><br/>Dibuka tsa mafoko tsa mahala</div> </li> <li> <div>[[File:Wikidata-logo.svg|47px|link=d:|Wikidata|alt=Wikidata logo]]</div> <div><span>[[:d:|Wikidata]]</span><br/>Motswedi wa dikitso tsa mahala</div> </li> <li> <div>[[File:Wikinews-logo.svg|51px|link=n:|Wikinews|alt=Wikinews logo]]</div> <div><span>[[:n:|Wikinews]]</span><br/>Dikgang tsa mahala</div> </li> <li> <div>[[File:Wikiquote-logo.svg|35px|link=q:|Wikiquote|alt=Wikiquote logo]]</div> <div><span>[[:q:|Wikiquote]]</span><br/>diquotation</div> </li> <li> <div>[[File:Wikisource-logo.svg|35px|link=s:|Wikisource|alt=Wikisource logo]]</div> <div><span>[[:s:|Wikisource]]</span><br/>Motlobo wa mahala</div> </li> <li> <div>[[File:Wikispecies-logo.svg|35px|link=species:|Wikispecies|alt=Wikispecies logo]]</div> <div><span>[[:species:|Wikispecies]]</span><br/>Wiki ya diphologolo</div> </li> <li> <div>[[File:Wikiversity logo 2017.svg|41px|link=v:|Wikiversity|alt=Wikiversity logo]]</div> <div><span>[[:v:|Wikiversity]]</span><br/>Didirisiwa tsa dithuto tsa mahala</div> </li> <li> <div>[[File:Wikivoyage-Logo-v3-icon.svg|35px|link=voy:|Wikivoyage|alt=Wikivoyage logo]]</div> <div><span>[[:voy:|Wikivoyage]]</span><br/>Kayedi ya mahala ya go tsamaya</div> </li> <li> <div>[[File:Wikipedia-logo-v2.svg|35px|link=w:|Wiktionary|alt=Wikipedia logo]]</div> <div><span>[[:w:|Wikipedia]]</span><br/>Encyclopedia</div> </li> </ul> </div><noinclude> <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> 4txx68t28q6qb3g10f23swu73m7cby7 Module:Arguments 828 3065 8418 2022-10-03T04:11:08Z Rebel Agent 2678 Teko 8418 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from -- #invoke. It is intended for use by other Lua modules, and should not be -- called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} -- Generate four different tidyVal functions, so that we don't have to check the -- options every time we call it. local function tidyValDefault(key, val) if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val == '' then return nil else return val end else return val end end local function tidyValTrimOnly(key, val) if type(val) == 'string' then return val:match('^%s*(.-)%s*$') else return val end end local function tidyValRemoveBlanksOnly(key, val) if type(val) == 'string' then if val:find('%S') then return val else return nil end else return val end end local function tidyValNoChange(key, val) return val end local function matchesTitle(given, title) local tp = type( given ) return (tp == 'string' or tp == 'number') and mw.title.new( given ).prefixedText == title end local translate_mt = { __index = function(t, k) return k end } function arguments.getArgs(frame, options) checkType('getArgs', 1, frame, 'table', true) checkType('getArgs', 2, options, 'table', true) frame = frame or {} options = options or {} --[[ -- Set up argument translation. --]] options.translate = options.translate or {} if getmetatable(options.translate) == nil then setmetatable(options.translate, translate_mt) end if options.backtranslate == nil then options.backtranslate = {} for k,v in pairs(options.translate) do options.backtranslate[v] = k end end if options.backtranslate and getmetatable(options.backtranslate) == nil then setmetatable(options.backtranslate, { __index = function(t, k) if options.translate[k] ~= k then return nil else return k end end }) end --[[ -- Get the argument tables. If we were passed a valid frame object, get the -- frame arguments (fargs) and the parent frame arguments (pargs), depending -- on the options set and on the parent frame's availability. If we weren't -- passed a valid frame object, we are being called from another Lua module -- or from the debug console, so assume that we were passed a table of args -- directly, and assign it to a new variable (luaArgs). --]] local fargs, pargs, luaArgs if type(frame.args) == 'table' and type(frame.getParent) == 'function' then if options.wrappers then --[[ -- The wrappers option makes Module:Arguments look up arguments in -- either the frame argument table or the parent argument table, but -- not both. This means that users can use either the #invoke syntax -- or a wrapper template without the loss of performance associated -- with looking arguments up in both the frame and the parent frame. -- Module:Arguments will look up arguments in the parent frame -- if it finds the parent frame's title in options.wrapper; -- otherwise it will look up arguments in the frame object passed -- to getArgs. --]] local parent = frame:getParent() if not parent then fargs = frame.args else local title = parent:getTitle():gsub('/sandbox$', '') local found = false if matchesTitle(options.wrappers, title) then found = true elseif type(options.wrappers) == 'table' then for _,v in pairs(options.wrappers) do if matchesTitle(v, title) then found = true break end end end -- We test for false specifically here so that nil (the default) acts like true. if found or options.frameOnly == false then pargs = parent.args end if not found or options.parentOnly == false then fargs = frame.args end end else -- options.wrapper isn't set, so check the other options. if not options.parentOnly then fargs = frame.args end if not options.frameOnly then local parent = frame:getParent() pargs = parent and parent.args or nil end end if options.parentFirst then fargs, pargs = pargs, fargs end else luaArgs = frame end -- Set the order of precedence of the argument tables. If the variables are -- nil, nothing will be added to the table, which is how we avoid clashes -- between the frame/parent args and the Lua args. local argTables = {fargs} argTables[#argTables + 1] = pargs argTables[#argTables + 1] = luaArgs --[[ -- Generate the tidyVal function. If it has been specified by the user, we -- use that; if not, we choose one of four functions depending on the -- options chosen. This is so that we don't have to call the options table -- every time the function is called. --]] local tidyVal = options.valueFunc if tidyVal then if type(tidyVal) ~= 'function' then error( "bad value assigned to option 'valueFunc'" .. '(function expected, got ' .. type(tidyVal) .. ')', 2 ) end elseif options.trim ~= false then if options.removeBlanks ~= false then tidyVal = tidyValDefault else tidyVal = tidyValTrimOnly end else if options.removeBlanks ~= false then tidyVal = tidyValRemoveBlanksOnly else tidyVal = tidyValNoChange end end --[[ -- Set up the args, metaArgs and nilArgs tables. args will be the one -- accessed from functions, and metaArgs will hold the actual arguments. Nil -- arguments are memoized in nilArgs, and the metatable connects all of them -- together. --]] local args, metaArgs, nilArgs, metatable = {}, {}, {}, {} setmetatable(args, metatable) local function mergeArgs(tables) --[[ -- Accepts multiple tables as input and merges their keys and values -- into one table. If a value is already present it is not overwritten; -- tables listed earlier have precedence. We are also memoizing nil -- values, which can be overwritten if they are 's' (soft). --]] for _, t in ipairs(tables) do for key, val in pairs(t) do if metaArgs[key] == nil and nilArgs[key] ~= 'h' then local tidiedVal = tidyVal(key, val) if tidiedVal == nil then nilArgs[key] = 's' else metaArgs[key] = tidiedVal end end end end end --[[ -- Define metatable behaviour. Arguments are memoized in the metaArgs table, -- and are only fetched from the argument tables once. Fetching arguments -- from the argument tables is the most resource-intensive step in this -- module, so we try and avoid it where possible. For this reason, nil -- arguments are also memoized, in the nilArgs table. Also, we keep a record -- in the metatable of when pairs and ipairs have been called, so we do not -- run pairs and ipairs on the argument tables more than once. We also do -- not run ipairs on fargs and pargs if pairs has already been run, as all -- the arguments will already have been copied over. --]] metatable.__index = function (t, key) --[[ -- Fetches an argument when the args table is indexed. First we check -- to see if the value is memoized, and if not we try and fetch it from -- the argument tables. When we check memoization, we need to check -- metaArgs before nilArgs, as both can be non-nil at the same time. -- If the argument is not present in metaArgs, we also check whether -- pairs has been run yet. If pairs has already been run, we return nil. -- This is because all the arguments will have already been copied into -- metaArgs by the mergeArgs function, meaning that any other arguments -- must be nil. --]] if type(key) == 'string' then key = options.translate[key] end local val = metaArgs[key] if val ~= nil then return val elseif metatable.donePairs or nilArgs[key] then return nil end for _, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal ~= nil then metaArgs[key] = argTableVal return argTableVal end end nilArgs[key] = 'h' return nil end metatable.__newindex = function (t, key, val) -- This function is called when a module tries to add a new value to the -- args table, or tries to change an existing value. if type(key) == 'string' then key = options.translate[key] end if options.readOnly then error( 'could not write to argument table key "' .. tostring(key) .. '"; the table is read-only', 2 ) elseif options.noOverwrite and args[key] ~= nil then error( 'could not write to argument table key "' .. tostring(key) .. '"; overwriting existing arguments is not permitted', 2 ) elseif val == nil then --[[ -- If the argument is to be overwritten with nil, we need to erase -- the value in metaArgs, so that __index, __pairs and __ipairs do -- not use a previous existing value, if present; and we also need -- to memoize the nil in nilArgs, so that the value isn't looked -- up in the argument tables if it is accessed again. --]] metaArgs[key] = nil nilArgs[key] = 'h' else metaArgs[key] = val end end local function translatenext(invariant) local k, v = next(invariant.t, invariant.k) invariant.k = k if k == nil then return nil elseif type(k) ~= 'string' or not options.backtranslate then return k, v else local backtranslate = options.backtranslate[k] if backtranslate == nil then -- Skip this one. This is a tail call, so this won't cause stack overflow return translatenext(invariant) else return backtranslate, v end end end metatable.__pairs = function () -- Called when pairs is run on the args table. if not metatable.donePairs then mergeArgs(argTables) metatable.donePairs = true end return translatenext, { t = metaArgs } end local function inext(t, i) -- This uses our __index metamethod local v = t[i + 1] if v ~= nil then return i + 1, v end end metatable.__ipairs = function (t) -- Called when ipairs is run on the args table. return inext, t, 0 end return args end return arguments 5qx9tzlul9ser30uxj9nbasjt92cevn Module:Documentation/config 828 3066 8419 2022-10-03T04:14:20Z Rebel Agent 2678 Teko 8419 Scribunto text/plain ---------------------------------------------------------------------------------------------------- -- -- Configuration for Module:Documentation -- -- Here you can set the values of the parameters and messages used in Module:Documentation to -- localise it to your wiki and your language. Unless specified otherwise, values given here -- should be string values. ---------------------------------------------------------------------------------------------------- local cfg = {} -- Do not edit this line. ---------------------------------------------------------------------------------------------------- -- Protection template configuration ---------------------------------------------------------------------------------------------------- -- cfg['protection-reason-edit'] -- The protection reason for edit-protected templates to pass to -- [[Module:Protection banner]]. cfg['protection-reason-edit'] = 'template' --[[ ---------------------------------------------------------------------------------------------------- -- Sandbox notice configuration -- -- On sandbox pages the module can display a template notifying users that the current page is a -- sandbox, and the location of test cases pages, etc. The module decides whether the page is a -- sandbox or not based on the value of cfg['sandbox-subpage']. The following settings configure the -- messages that the notices contains. ---------------------------------------------------------------------------------------------------- --]] -- cfg['sandbox-notice-image'] -- The image displayed in the sandbox notice. cfg['sandbox-notice-image'] = '[[File:Sandbox.svg|50px|alt=|link=]]' --[[ -- cfg['sandbox-notice-pagetype-template'] -- cfg['sandbox-notice-pagetype-module'] -- cfg['sandbox-notice-pagetype-other'] -- The page type of the sandbox page. The message that is displayed depends on the current subject -- namespace. This message is used in either cfg['sandbox-notice-blurb'] or -- cfg['sandbox-notice-diff-blurb']. --]] cfg['sandbox-notice-pagetype-template'] = '[[Wikipedia:Template test cases|template sandbox]] page' cfg['sandbox-notice-pagetype-module'] = '[[Wikipedia:Template test cases|module sandbox]] page' cfg['sandbox-notice-pagetype-other'] = 'sandbox page' --[[ -- cfg['sandbox-notice-blurb'] -- cfg['sandbox-notice-diff-blurb'] -- cfg['sandbox-notice-diff-display'] -- Either cfg['sandbox-notice-blurb'] or cfg['sandbox-notice-diff-blurb'] is the opening sentence -- of the sandbox notice. The latter has a diff link, but the former does not. $1 is the page -- type, which is either cfg['sandbox-notice-pagetype-template'], -- cfg['sandbox-notice-pagetype-module'] or cfg['sandbox-notice-pagetype-other'] depending what -- namespace we are in. $2 is a link to the main template page, and $3 is a diff link between -- the sandbox and the main template. The display value of the diff link is set by -- cfg['sandbox-notice-compare-link-display']. --]] cfg['sandbox-notice-blurb'] = 'This is the $1 for $2.' cfg['sandbox-notice-diff-blurb'] = 'This is the $1 for $2 ($3).' cfg['sandbox-notice-compare-link-display'] = 'diff' --[[ -- cfg['sandbox-notice-testcases-blurb'] -- cfg['sandbox-notice-testcases-link-display'] -- cfg['sandbox-notice-testcases-run-blurb'] -- cfg['sandbox-notice-testcases-run-link-display'] -- cfg['sandbox-notice-testcases-blurb'] is a sentence notifying the user that there is a test cases page -- corresponding to this sandbox that they can edit. $1 is a link to the test cases page. -- cfg['sandbox-notice-testcases-link-display'] is the display value for that link. -- cfg['sandbox-notice-testcases-run-blurb'] is a sentence notifying the user that there is a test cases page -- corresponding to this sandbox that they can edit, along with a link to run it. $1 is a link to the test -- cases page, and $2 is a link to the page to run it. -- cfg['sandbox-notice-testcases-run-link-display'] is the display value for the link to run the test -- cases. --]] cfg['sandbox-notice-testcases-blurb'] = 'See also the companion subpage for $1.' cfg['sandbox-notice-testcases-link-display'] = 'test cases' cfg['sandbox-notice-testcases-run-blurb'] = 'See also the companion subpage for $1 ($2).' cfg['sandbox-notice-testcases-run-link-display'] = 'run' -- cfg['sandbox-category'] -- A category to add to all template sandboxes. cfg['sandbox-category'] = 'Template sandboxes' ---------------------------------------------------------------------------------------------------- -- Start box configuration ---------------------------------------------------------------------------------------------------- -- cfg['documentation-icon-wikitext'] -- The wikitext for the icon shown at the top of the template. cfg['documentation-icon-wikitext'] = '[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]' -- cfg['template-namespace-heading'] -- The heading shown in the template namespace. cfg['template-namespace-heading'] = 'Template documentation' -- cfg['module-namespace-heading'] -- The heading shown in the module namespace. cfg['module-namespace-heading'] = 'Module documentation' -- cfg['file-namespace-heading'] -- The heading shown in the file namespace. cfg['file-namespace-heading'] = 'Summary' -- cfg['other-namespaces-heading'] -- The heading shown in other namespaces. cfg['other-namespaces-heading'] = 'Documentation' -- cfg['view-link-display'] -- The text to display for "view" links. cfg['view-link-display'] = 'view' -- cfg['edit-link-display'] -- The text to display for "edit" links. cfg['edit-link-display'] = 'edit' -- cfg['history-link-display'] -- The text to display for "history" links. cfg['history-link-display'] = 'history' -- cfg['purge-link-display'] -- The text to display for "purge" links. cfg['purge-link-display'] = 'purge' -- cfg['create-link-display'] -- The text to display for "create" links. cfg['create-link-display'] = 'create' ---------------------------------------------------------------------------------------------------- -- Link box (end box) configuration ---------------------------------------------------------------------------------------------------- -- cfg['transcluded-from-blurb'] -- Notice displayed when the docs are transcluded from another page. $1 is a wikilink to that page. cfg['transcluded-from-blurb'] = 'The above [[Wikipedia:Template documentation|documentation]] is [[Help:Transclusion|transcluded]] from $1.' --[[ -- cfg['create-module-doc-blurb'] -- Notice displayed in the module namespace when the documentation subpage does not exist. -- $1 is a link to create the documentation page with the preload cfg['module-preload'] and the -- display cfg['create-link-display']. --]] cfg['create-module-doc-blurb'] = 'You might want to $1 a documentation page for this [[Wikipedia:Lua|Scribunto module]].' ---------------------------------------------------------------------------------------------------- -- Experiment blurb configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['experiment-blurb-template'] -- cfg['experiment-blurb-module'] -- The experiment blurb is the text inviting editors to experiment in sandbox and test cases pages. -- It is only shown in the template and module namespaces. With the default English settings, it -- might look like this: -- -- Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages. -- -- In this example, "sandbox", "edit", "diff", "testcases", and "edit" would all be links. -- -- There are two versions, cfg['experiment-blurb-template'] and cfg['experiment-blurb-module'], depending -- on what namespace we are in. -- -- Parameters: -- -- $1 is a link to the sandbox page. If the sandbox exists, it is in the following format: -- -- cfg['sandbox-link-display'] (cfg['sandbox-edit-link-display'] | cfg['compare-link-display']) -- -- If the sandbox doesn't exist, it is in the format: -- -- cfg['sandbox-link-display'] (cfg['sandbox-create-link-display'] | cfg['mirror-link-display']) -- -- The link for cfg['sandbox-create-link-display'] link preloads the page with cfg['template-sandbox-preload'] -- or cfg['module-sandbox-preload'], depending on the current namespace. The link for cfg['mirror-link-display'] -- loads a default edit summary of cfg['mirror-edit-summary']. -- -- $2 is a link to the test cases page. If the test cases page exists, it is in the following format: -- -- cfg['testcases-link-display'] (cfg['testcases-edit-link-display'] | cfg['testcases-run-link-display']) -- -- If the test cases page doesn't exist, it is in the format: -- -- cfg['testcases-link-display'] (cfg['testcases-create-link-display']) -- -- If the test cases page doesn't exist, the link for cfg['testcases-create-link-display'] preloads the -- page with cfg['template-testcases-preload'] or cfg['module-testcases-preload'], depending on the current -- namespace. --]] cfg['experiment-blurb-template'] = "Editors can experiment in this template's $1 and $2 pages." cfg['experiment-blurb-module'] = "Editors can experiment in this module's $1 and $2 pages." ---------------------------------------------------------------------------------------------------- -- Sandbox link configuration ---------------------------------------------------------------------------------------------------- -- cfg['sandbox-subpage'] -- The name of the template subpage typically used for sandboxes. cfg['sandbox-subpage'] = 'sandbox' -- cfg['template-sandbox-preload'] -- Preload file for template sandbox pages. cfg['template-sandbox-preload'] = 'Template:Documentation/preload-sandbox' -- cfg['module-sandbox-preload'] -- Preload file for Lua module sandbox pages. cfg['module-sandbox-preload'] = 'Template:Documentation/preload-module-sandbox' -- cfg['sandbox-link-display'] -- The text to display for "sandbox" links. cfg['sandbox-link-display'] = 'sandbox' -- cfg['sandbox-edit-link-display'] -- The text to display for sandbox "edit" links. cfg['sandbox-edit-link-display'] = 'edit' -- cfg['sandbox-create-link-display'] -- The text to display for sandbox "create" links. cfg['sandbox-create-link-display'] = 'create' -- cfg['compare-link-display'] -- The text to display for "compare" links. cfg['compare-link-display'] = 'diff' -- cfg['mirror-edit-summary'] -- The default edit summary to use when a user clicks the "mirror" link. $1 is a wikilink to the -- template page. cfg['mirror-edit-summary'] = 'Create sandbox version of $1' -- cfg['mirror-link-display'] -- The text to display for "mirror" links. cfg['mirror-link-display'] = 'mirror' -- cfg['mirror-link-preload'] -- The page to preload when a user clicks the "mirror" link. cfg['mirror-link-preload'] = 'Template:Documentation/mirror' ---------------------------------------------------------------------------------------------------- -- Test cases link configuration ---------------------------------------------------------------------------------------------------- -- cfg['testcases-subpage'] -- The name of the template subpage typically used for test cases. cfg['testcases-subpage'] = 'testcases' -- cfg['template-testcases-preload'] -- Preload file for template test cases pages. cfg['template-testcases-preload'] = 'Template:Documentation/preload-testcases' -- cfg['module-testcases-preload'] -- Preload file for Lua module test cases pages. cfg['module-testcases-preload'] = 'Template:Documentation/preload-module-testcases' -- cfg['testcases-link-display'] -- The text to display for "testcases" links. cfg['testcases-link-display'] = 'testcases' -- cfg['testcases-edit-link-display'] -- The text to display for test cases "edit" links. cfg['testcases-edit-link-display'] = 'edit' -- cfg['testcases-run-link-display'] -- The text to display for test cases "run" links. cfg['testcases-run-link-display'] = 'run' -- cfg['testcases-create-link-display'] -- The text to display for test cases "create" links. cfg['testcases-create-link-display'] = 'create' ---------------------------------------------------------------------------------------------------- -- Add categories blurb configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['add-categories-blurb'] -- Text to direct users to add categories to the /doc subpage. Not used if the "content" or -- "docname fed" arguments are set, as then it is not clear where to add the categories. $1 is a -- link to the /doc subpage with a display value of cfg['doc-link-display']. --]] cfg['add-categories-blurb'] = 'Add categories to the $1 subpage.' -- cfg['doc-link-display'] -- The text to display when linking to the /doc subpage. cfg['doc-link-display'] = '/doc' ---------------------------------------------------------------------------------------------------- -- Subpages link configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['subpages-blurb'] -- The "Subpages of this template" blurb. $1 is a link to the main template's subpages with a -- display value of cfg['subpages-link-display']. In the English version this blurb is simply -- the link followed by a period, and the link display provides the actual text. --]] cfg['subpages-blurb'] = '$1.' --[[ -- cfg['subpages-link-display'] -- The text to display for the "subpages of this page" link. $1 is cfg['template-pagetype'], -- cfg['module-pagetype'] or cfg['default-pagetype'], depending on whether the current page is in -- the template namespace, the module namespace, or another namespace. --]] cfg['subpages-link-display'] = 'Subpages of this $1' -- cfg['template-pagetype'] -- The pagetype to display for template pages. cfg['template-pagetype'] = 'template' -- cfg['module-pagetype'] -- The pagetype to display for Lua module pages. cfg['module-pagetype'] = 'module' -- cfg['default-pagetype'] -- The pagetype to display for pages other than templates or Lua modules. cfg['default-pagetype'] = 'page' ---------------------------------------------------------------------------------------------------- -- Doc link configuration ---------------------------------------------------------------------------------------------------- -- cfg['doc-subpage'] -- The name of the subpage typically used for documentation pages. cfg['doc-subpage'] = 'doc' -- cfg['docpage-preload'] -- Preload file for template documentation pages in all namespaces. cfg['docpage-preload'] = 'Template:Documentation/preload' -- cfg['module-preload'] -- Preload file for Lua module documentation pages. cfg['module-preload'] = 'Template:Documentation/preload-module-doc' ---------------------------------------------------------------------------------------------------- -- HTML and CSS configuration ---------------------------------------------------------------------------------------------------- -- cfg['templatestyles'] -- The name of the TemplateStyles page where CSS is kept. -- Sandbox CSS will be at Module:Documentation/sandbox/styles.css when needed. cfg['templatestyles'] = 'Module:Documentation/styles.css' -- cfg['container'] -- Class which can be used to set flex or grid CSS on the -- two child divs documentation and documentation-metadata cfg['container'] = 'documentation-container' -- cfg['main-div-classes'] -- Classes added to the main HTML "div" tag. cfg['main-div-classes'] = 'documentation' -- cfg['main-div-heading-class'] -- Class for the main heading for templates and modules and assoc. talk spaces cfg['main-div-heading-class'] = 'documentation-heading' -- cfg['start-box-class'] -- Class for the start box cfg['start-box-class'] = 'documentation-startbox' -- cfg['start-box-link-classes'] -- Classes used for the [view][edit][history] or [create] links in the start box. -- mw-editsection-like is per [[Wikipedia:Village pump (technical)/Archive 117]] cfg['start-box-link-classes'] = 'mw-editsection-like plainlinks' -- cfg['end-box-class'] -- Class for the end box. cfg['end-box-class'] = 'documentation-metadata' -- cfg['end-box-plainlinks'] -- Plainlinks cfg['end-box-plainlinks'] = 'plainlinks' -- cfg['toolbar-class'] -- Class added for toolbar links. cfg['toolbar-class'] = 'documentation-toolbar' -- cfg['clear'] -- Just used to clear things. cfg['clear'] = 'documentation-clear' ---------------------------------------------------------------------------------------------------- -- Tracking category configuration ---------------------------------------------------------------------------------------------------- -- cfg['display-strange-usage-category'] -- Set to true to enable output of cfg['strange-usage-category'] if the module is used on a /doc subpage -- or a /testcases subpage. This should be a boolean value (either true or false). cfg['display-strange-usage-category'] = true -- cfg['strange-usage-category'] -- Category to output if cfg['display-strange-usage-category'] is set to true and the module is used on a -- /doc subpage or a /testcases subpage. cfg['strange-usage-category'] = 'Wikipedia pages with strange ((documentation)) usage' --[[ ---------------------------------------------------------------------------------------------------- -- End configuration -- -- Don't edit anything below this line. ---------------------------------------------------------------------------------------------------- --]] return cfg da6pt1lzpy4z0skaztwblaqnfhizyf7 Tempolete:Wikipedia's sister projects/styles.css 10 3067 8420 2022-10-03T04:16:56Z Rebel Agent 2678 Ke dirile module 8420 sanitized-css text/css /* {{pp-template}} */ #sister-projects-list { display: flex; flex-wrap: wrap; } #sister-projects-list li { display: inline-block; } #sister-projects-list li span { font-weight: bold; } #sister-projects-list li > div { display: inline-block; vertical-align: middle; padding: 6px 4px; } #sister-projects-list li > div:first-child { text-align: center; } @media (min-width: 360px) { #sister-projects-list li { width: 33%; min-width: 20em; white-space: nowrap; flex: 1 0 25%; } #sister-projects-list li > div:first-child { min-width: 50px; } } hu453hgf4nd9lw0zgjua4xwm6gl375j Wiktionary:Main Page/Sister 4 3068 8422 2022-10-03T04:19:29Z Rebel Agent 2678 Ke e isetse kwa e tshwanetseng 8422 wikitext text/x-wiki #Redirect [[Tempolete:Bokgaitsadie Wiktionary]] c77q5t833dv12bqh84h5v5cl3lht47a Tempolete:context 10 3069 8428 8424 2022-10-03T10:01:49Z Rebel Agent 2678 Ke tsentse lebokoso la thaloso 8428 wikitext text/x-wiki <includeonly>(''{{#ifeq:{{{1|}}}|old, no longer used|[[obsolete|<span style="color:green;">{{{1|}}}</span>]]|<!-- -->{{#ifeq:{{{1|}}}|usually plural|[[plural|<span style="color:green;">{{{1|}}}</span>]]|<!-- -->{{#ifeq:{{{1|}}}|usually singular|[[singular|<span style="color:green;">{{{1|}}}</span>]]|<!-- -->{{#ifeq:{{{1|}}}|plural only|[[plural|<span style="color:green;">{{{1|}}}</span>]]|<!-- -->{{#ifeq:{{{1|}}}|usually passive|[[passive|<span style="color:green;">{{{1|}}}</span>]]|<!-- -->{{#ifeq:{{{1|}}}|not before a noun|[[predicate|<span style="color:green;">not before a noun</span>]]|<!-- -->{{#ifeq:{{{1|}}}|usually before a noun|[[attributive|<span style="color:green;">{{{1|}}}</span>]]|<!-- -->{{#ifeq:{{{1|}}}|countable & uncountable|[[countable|<span style="color:green;">countable</span>]] & [[uncountable|<span style="color:green;">uncountable</span>]]|<!-- -->{{#ifeq:{{{1|}}}|with countable nouns|with [[countable|<span style="color:green;">countable</span>]] nouns|<!-- -->{{#ifeq:{{{1|}}}|AU|[[Australia|<span style="color:green;">AU</span>]]|<!-- -->{{#ifeq:{{{1|}}}|CA|[[Canada|<span style="color:green;">CA</span>]]|<!-- -->{{#ifexist:{{{1|}}}|[[{{{1|}}}|<span style="color:green;">{{{1|}}}</span>]]|<span style="color:green;">{{{1|}}}</span>}}}}}}}}}}}}}}}}}}}}}}}}'')<!-- -->{{#if:{{{2|}}}|{{#ifexist:{{{2|}}}|&nbsp;(''[[{{{2}}}|<span style="color:green;">{{{2}}}</span>]]'')|&nbsp;(''<span style="color:green;">{{{2}}}</span>'')}}}}<!-- -->{{#if:{{{3|}}}|{{#ifexist:{{{3|}}}|&nbsp;(''[[{{{3}}}|<span style="color:green;">{{{3}}}</span>]]'')|&nbsp;(''<span style="color:green;">{{{3}}}</span>'')}}}}<!-- -->{{#if:{{{4|}}}|{{#ifexist:{{{4|}}}|&nbsp;(''[[{{{4}}}|<span style="color:green;">{{{4}}}</span>]]'')|&nbsp;(''<span style="color:green;">{{{4}}}</span>'')}}}}</includeonly><!-- -->{{#ifeq:{{NAMESPACE}}|Template|[[Category:Context labels|{{PAGENAME}}]]}}<noinclude> {{documentation}} <!-- Categories, interwikis and TemplateData goes to the /doc subpage --> </noinclude> fematx6o79lfyicssnjldratr6x7a3u Module:Documentation/styles.css 828 3070 8427 2022-10-03T09:59:14Z Rebel Agent 2678 Ke dirile css 8427 sanitized-css text/css /* {{pp|small=yes}} */ .documentation, .documentation-metadata { border: 1px solid #a2a9b1; background-color: #ecfcf4; clear: both; } .documentation { margin: 1em 0 0 0; padding: 1em; } .documentation-metadata { margin: 0.2em 0; /* same margin left-right as .documentation */ font-style: italic; padding: 0.4em 1em; /* same padding left-right as .documentation */ } .documentation-startbox { padding-bottom: 3px; border-bottom: 1px solid #aaa; margin-bottom: 1ex; } .documentation-heading { font-weight: bold; font-size: 125%; } .documentation-clear { /* Don't want things to stick out where they shouldn't. */ clear: both; } .documentation-toolbar { font-style: normal; font-size: 85%; } o2ia525en7wbq32mq4fpdevtl5d6pcb Tempolete:tlhaloso 10 3071 8433 8431 2022-10-03T10:13:38Z Rebel Agent 2678 8433 wikitext text/x-wiki {{context|tlhaloso}}<noinclude>{{documentation}} </noinclude> 1vk59gnbmvfgyeg2o0pcb2tlg2rdaxb Karolo:Mafoko a Setswana 14 3073 8436 2022-10-03T10:16:51Z Rebel Agent 2678 Ke dirile Karolo 8436 wikitext text/x-wiki Mafoko a Setswana gidrjm7zsfohyicpxicawv79gorslfr Tempolete:noun 10 3074 8461 8444 2022-10-03T16:29:09Z Rebel Agent 2678 Paakanyo 8461 wikitext text/x-wiki <includeonly>{| border=0 width=100% class="{{creation helper|noun|{{{1|{{PAGENAME}}}}}|{{{2|~}}}|{{{3|~}}}}}" |- |bgcolor="#e2e2ff" valign=top width=49%| {{lc|Bongwe}}<br> '''[[{{{1|{{PAGENAME}}}}}]]''' | width=0.5% | |bgcolor="#e2e2ff" valign=top width=49%| {{lc|Bontsi}}<br> {{#ifeq:{{{2|}}}|none|''none''|{{creatable|plural|{{{1|{{PAGENAME}}}}}|'''[[{{{2|{{{1|{{PAGENAME}}}}}}}}]]'''}}}}{{#if:{{{3|}}}|&nbsp;or&nbsp;{{creatable|plural|{{{1|{{PAGENAME}}}}}|'''[[{{{3}}}]]'''}}|}} | width=0.5% | |} </includeonly><noinclude> {{documentation}} <!-- Categories, interwikis and TemplateData goes to the /doc subpage --> </noinclude> 1vm3rjdi2xs81oo23qpa2h5tadej6bm Tempolete:lc 10 3075 8439 2022-10-03T10:31:49Z Rebel Agent 2678 Ke e isetse kwa e tshwanetseng 8439 wikitext text/x-wiki #Redirect [[Tempolete:lower case]] ttnlzpd4eak41ju9ujczrrm9sju35ho Tempolete:lower case 10 3076 8440 2022-10-03T10:32:10Z Rebel Agent 2678 Ke dirile tempolete 8440 wikitext text/x-wiki [[{{lc:{{{1|}}}}}|{{{1|}}}]] buwsx4678fqc73djr398rmnv22ozbkl Tempolete:creatable 10 3077 8441 2022-10-03T10:34:11Z Rebel Agent 2678 Ke dirile tempolete 8441 wikitext text/x-wiki <span class="form-of {{anchorencode:{{{1}}}}}-form-of-{{anchorencode:{{{2}}}}}">{{{3}}}</span><noinclude> {{documentation}} <!-- Categories, interwikis and TemplateData goes to the /doc subpage --> </noinclude> 1dex4lrlgoth8dphpsl0jjtecdeg5ul bontsi 0 3078 8460 8445 2022-10-03T16:28:23Z Rebel Agent 2678 Rebel Agent moved page [[bontshi]] to [[bontsi]] without leaving a redirect 8445 wikitext text/x-wiki == Setswana == #{{tlhaloso}}bontshi ke lefoko le le dirisiwang go supa gore sengwe kana dilo di dintsi. m28cg92mxz0w7zkhag5gxzg8rkstubm ntša 0 3079 8472 8467 2022-10-03T17:07:19Z Rebel Agent 2678 /* Mafoko a tsamaelanang */Ke tsentse Karolo 8472 wikitext text/x-wiki == Setswana == {{noun di}} #{{tlhaloso}}ntša ke phologolo e ruiwang ke [[motho|batho]] mo malwapeng a bone.{{synonyms|ntšanyana}} #:'''''Ntša''' yame ke yone '''snooby''''' #[[motho|Batho]] ka bontsi ba rua '''dintša''' ka ba dumela fa di ba sireletsa mme ba bangwe ba di rua fela ka ba di rata. [[File:YellowLabradorLooking.jpg|thumb|Senepe sa ntša|link=ntša]] ===Mafoko a tsamaelanang=== *[[ntsha]] *[[ntšanyana]] {{commonscat|ntša}} [[Karolo:Diphologolo]] s0821ae3uedr5qvh24t90xyjorrc016 Tempolete:synonyms 10 3080 8449 8447 2022-10-03T16:08:18Z Rebel Agent 2678 Tlhanolo 8449 wikitext text/x-wiki {{#invoke:Onyms|run | 1 = {{{1|}}} | 2 = {{{2|}}} | 3 = {{{3|}}} | 4 = {{{4|}}} | 5 = {{{5|}}} | 6 = {{{6|}}} | 7 = {{{7|}}} | 8 = {{{8|}}} | 9 = {{{9|}}} | 10 = {{{10|}}} | 11 = {{{11|}}} | 12 = {{{12|}}} | 13 = {{{13|}}} | 14 = {{{14|}}} | 15 = {{{15|}}} | 16 = {{{16|}}} | 17 = {{{17|}}} | 18 = {{{18|}}} | 19 = {{{19|}}} | 20 = {{{20|}}} | 21 = {{{21|}}} | 22 = {{{22|}}} | 23 = {{{23|}}} | 24 = {{{24|}}} | 25 = {{{25|}}} | 26 = {{{26|}}} | 27 = {{{27|}}} | 28 = {{{28|}}} | 29 = {{{29|}}} | 30 = {{{30|}}} | 31 = {{{31|}}} | 32 = {{{32|}}} | 33 = {{{33|}}} | 34 = {{{34|}}} | 35 = {{{35|}}} | 36 = {{{36|}}} | 37 = {{{37|}}} | 38 = {{{38|}}} | 39 = {{{39|}}} | 40 = {{{40|}}} | 41 = {{{41|}}} | 42 = {{{42|}}} | 43 = {{{43|}}} | 44 = {{{44|}}} | 45 = {{{45|}}} | 46 = {{{46|}}} | 47 = {{{47|}}} | 48 = {{{48|}}} | 49 = {{{49|}}} | 50 = {{{50|}}} | type = ga e le nnyane }}<noinclude> {{documentation}} <!-- Categories, interwikis and TemplateData goes to the /doc subpage --> </noinclude> r78hurzyvybvz0086ld0xqb6ide19iy Module:Onyms 828 3081 8448 2022-10-03T16:07:06Z Rebel Agent 2678 Ke dirile module 8448 Scribunto text/plain -- The 'onyms module local p = {} -- Generate the single-line list given the parameters local function generateLinks( frame ) local junk = '' local wordlist = {} for key, value in pairs( frame.args ) do if ( key == 'type' ) then -- Note: This value is not used at all, just a hack to continue -- (Lua does not have a "continue" function) junk = value elseif ( value == '' ) then junk = value else table.insert( wordlist, '[[' .. value .. ']]' ) end end return wordlist end -- Run the module function p.run( frame ) local wordlist = generateLinks( frame ) local onymtype = frame.args['type'] local root = mw.html.create() local noofwords = table.maxn( wordlist ) local cssclass = '' local onymname = '' local prefix = '' local words = '' if ( onymtype == 'synonym' ) then cssclass = 'onyms-collapse onyms-collapse-synonyms' onymname = 'Synonym' elseif ( onymtype == 'antonym' ) then cssclass = 'onyms-collapse onyms-collapse-antonyms' onymname = 'Antonym' else -- This should NOT happen unless when testing onymname = onymtype end if ( noofwords == 0 ) then prefix = "'''" .. onymname .. ":''' " words = "''none''" elseif ( noofwords == 1 ) then prefix = "'''" .. onymname .. ":''' " words = wordlist[1] else prefix = "'''" .. onymname .. "s:''' " words = table.concat( wordlist, ', ', 1, noofwords - 1 ) .. " ''and'' " .. wordlist[noofwords] end root :tag( 'ul' ) :addClass( cssclass ) :tag( 'li' ) :wikitext( prefix ) :wikitext( words ) :done() :done() local output = tostring( root ) return output end return p cmztqumz953jz0mlj3fr51o4lzpthp9 ntšanyana 0 3082 8454 2022-10-03T16:18:50Z Rebel Agent 2678 Ke dirile tsebe 8454 wikitext text/x-wiki ==Setswana== *{{tlhaloso}}ntšanyana ke [[ntša]] e le nnyane. 3wvql9h8greo2bvi8hrhz34f1f644pu motho 0 3083 8455 2022-10-03T16:20:37Z Rebel Agent 2678 Ke dirile tsebe 8455 wikitext text/x-wiki == Setswana == #{{tlhaloso}}motho ke setshidi se se amusang 87rkkp3d9murvvw7m31o1zi18vm7oxw Tempolete:noun di 10 3084 8459 8458 2022-10-03T16:27:11Z Rebel Agent 2678 Paakanyo 8459 wikitext text/x-wiki <includeonly>{| border=0 width=100% class="{{creation helper|noun|{{{1|{{PAGENAME}}}}}|{{{2|~}}}|{{{3|~}}}}}" |- |bgcolor="#e2e2ff" valign=top width=49%| {{lc|Bongwe}}<br> '''[[{{{1|{{PAGENAME}}}}}]]''' | width=0.5% | |bgcolor="#e2e2ff" valign=top width=49%| {{lc|Bontsi}}<br> {{#ifeq:{{{2|}}}|none|''none''|{{creatable|plural|{{{1|{{PAGENAME}}}}}|'''[[{{{2|{{{1|di{{PAGENAME}}}}}}}}]]'''}}}}{{#if:{{{3|}}}|&nbsp;or&nbsp;{{creatable|plural|{{{1|{{PAGENAME}}}}}|'''[[{{{3}}}]]'''}}|}} | width=0.5% | |}</includeonly><noinclude> {{documentation}} <!-- Categories, interwikis and TemplateData goes to the /doc subpage --> </noinclude> rg2l8ufkucp8n92vk2rqq8xfv7bkk64 dintša 0 3085 8462 2022-10-03T16:30:25Z Rebel Agent 2678 Ke e isetse kwa e tshwanetseng 8462 wikitext text/x-wiki #Redirect [[ntša]] gzgyjqu5ix01knknjnc7aran5t67emg Tempolete:commonscat 10 3086 8468 2022-10-03T16:46:47Z Rebel Agent 2678 Ke dirile tempolete 8468 wikitext text/x-wiki {{#invoke:Sister project|run | project = commons | 1 = {{{1|}}} | 2 = {{{2|}}} | 3 = {{{3|}}} | 4 = {{{4|}}} | 5 = {{{5|}}} }}<noinclude> {{documentation}} <!-- Categories, interwikis and TemplateData goes to the /doc subpage --> </noinclude> lu2q3glg4xz1872ubrzqnzuaynozsvk Module:Sister project 828 3087 8469 2022-10-03T16:53:57Z Rebel Agent 2678 Ke dirile module 8469 Scribunto text/plain -- The sister project linking module local p = {} -- Function for displaying the project name local function getProjectTitle( frame ) local projecttitle = { ['commons'] = 'Wikimedia Commons', ['wikibooks'] = 'Wikibooks', ['wikinews'] = 'Wikinews', ['wikipedia'] = 'Wikipedia', ['wikiquote'] = 'Wikiquote', ['wikisource'] = 'Wikisource', ['wikispecies'] = 'Wikispecies', ['wikiversity'] = 'Wikiversity', ['wikivoyage'] = 'Wikivoyage' } return projecttitle[ frame.args[ 'project' ] ] end -- Function for getting the image for the project local function getProjectImage( frame ) local projectimage = { ['commons'] = 'Commons-logo.svg|link=c:', ['wikibooks'] = 'Wikibooks-logo.svg|link=wikibooks:', ['wikinews'] = 'Wikinews-logo.svg|link=wikinews:', ['wikipedia'] = 'Wikipedia-logo-simple.png|link=w:', ['wikiquote'] = 'Wikiquote-logo.svg|link=wikiquote:', ['wikisource'] = 'Wikisource-logo.svg|link=wikisource:', ['wikispecies'] = 'Wikispecies-logo.svg|link=species:', ['wikiversity'] = 'Wikiversity-logo.svg|link=wikiversity:', ['wikivoyage'] = 'Wikivoyage-logo.svg|link=wikivoyage:' } return projectimage[ frame.args[ 'project' ] ] end -- Function for getting the text for the project local function getProjectText( frame ) local projecttext = { ['commons'] = '[[c:|Wikimedia Commons]] e nale [[setshwantsho]] se se amang le:', ['wikibooks'] = 'The [[wikibooks:|English Wikibooks]] has more information on:', ['wikinews'] = 'The [[wikinews:|English Wikinews]] has news articles on:', ['wikipedia'] = 'The [[w:|Simple English Wikipedia]] has an article on:', ['wikiquote'] = 'The [[wikiquote:|English Wikiquote]] has a collection of quotations related to:', ['wikisource'] = 'The [[wikisource:|English Wikisource]] has original writing on:', ['wikispecies'] = '[[wikispecies:|Wikispecies]] has more information on:', ['wikiversity'] = 'The [[wikiversity:|English Wikiversity]] has learning resources on:', ['wikivoyage'] = 'The [[wikivoyage:|English Wikivoyage]] has travel guides about:', } return projecttext[ frame.args[ 'project' ] ] end -- Function for generating the interwiki link local function getInterwikiLink( frame, link ) local interwikilink = { ['commons'] = 'c:Category:', ['wikibooks'] = 'wikibooks:', ['wikinews'] = 'wikinews:', ['wikipedia'] = 'w:', ['wikiquote'] = 'wikiquote:', ['wikisource'] = 'wikisource:', ['wikispecies'] = 'species:', ['wikiversity'] = 'wikiversity:', ['wikivoyage'] = 'wikivoyage:', } return interwikilink[ frame.args[ 'project' ] ] .. link end -- The function to generate the links in the proper format local function generateLinks( frame ) local lang = mw.language.getContentLanguage() local title = mw.title.getCurrentTitle() local output = '' local junk = '' local wordlist = {} for key, value in pairs( frame.args ) do if ( value == '' ) then -- Note: This value is not used at all, just a hack to continue -- (Lua does not have a "continue" function) junk = value elseif ( key == 'project' ) then -- Note: This value is not used at all, just a hack to continue -- (Lua does not have a "continue" function) junk = value else value = lang:ucfirst( value ) interwikilink = getInterwikiLink( frame, value ) table.insert( wordlist, '[[' .. interwikilink .. '|' .. value .. ']]' ) end end local noofwords = table.maxn( wordlist ) if ( noofwords == 0 ) then word = lang:ucfirst( title.text ) interwikilink = getInterwikiLink( frame, word ) output = '[[' .. interwikilink .. '|' .. word .. ']]' elseif ( noofwords == 1 ) then output = wordlist[1] else output = table.concat( wordlist, ', ', 1, noofwords - 1 ) .. ' and ' .. wordlist[noofwords] end return output end -- The main function to run the module function p.run( frame ) local output = '' local links = generateLinks( frame ) output = frame:expandTemplate { title = 'sisterproject', args = { project = getProjectTitle( frame ), image = getProjectImage( frame ), text = getProjectText( frame ), link = links } } return frame:preprocess( output ) end return p 754cjettbun3o7fhxjhggdz9i7yx12i Tempolete:sisterproject 10 3088 8470 2022-10-03T16:57:39Z Rebel Agent 2678 Ke dirile tempolete 8470 wikitext text/x-wiki <div class="noprint" style="clear: right; border: solid #aaa 1px; margin: 0 0 1em 1em; font-size: 90%; background: #f9f9f9; width: 250px; padding: 4px; spacing: 0px; text-align: left; float: right;"> <div style="float: left;">[[File:{{{image}}}|50px|none|{{{project}}} logo]]</div> <div style="margin-left: 60px;">{{{text}}} <div style="margin-left: 10px;">'''''{{{link}}}'''''</div> </div> </div><noinclude> {{documentation}} <!-- Categories, interwikis and TemplateData goes to the /doc subpage --> </noinclude> 8bijlew9gv0l4stsp271cac89lv9ud9 Karolo:Diphologolo 14 3090 8473 2022-10-03T17:07:56Z Rebel Agent 2678 Ke dirile Karolo 8473 wikitext text/x-wiki Diphologolo eg2hc8vtse5jc1o36wwr7mgn1hbaark Module:languages/data3/h 828 3091 8481 2022-10-04T03:37:54Z Rebel Agent 2678 Ke dirile module 8481 Scribunto text/plain local u = mw.ustring.char -- UTF-8 encoded strings for some commonly used diacritics local GRAVE = u(0x0300) local ACUTE = u(0x0301) local CIRC = u(0x0302) local TILDE = u(0x0303) local MACRON = u(0x0304) local BREVE = u(0x0306) local DOTABOVE = u(0x0307) local DIAER = u(0x0308) local CARON = u(0x030C) local DGRAVE = u(0x030F) local INVBREVE = u(0x0311) local DOTBELOW = u(0x0323) local RINGBELOW = u(0x0325) local CEDILLA = u(0x0327) local Latn = {"Latn"} local m = {} m["haa"] = { "Hän", 28272, "ath-nor", Latn, } m["hab"] = { "Hanoi Sign Language", 12632107, "sgn", Latn, -- when documented } m["hac"] = { "Gurani", 33733, "ira-zgr", {"ku-Arab"}, translit_module = "ckb-translit", } m["had"] = { "Hatam", 56825, "paa-wpa", } m["haf"] = { "Haiphong Sign Language", 39868240, "sgn", } m["hag"] = { "Hanga", 35426, "nic-dag", Latn, } m["hah"] = { "Hahon", 3125730, "poz-ocw", Latn, } m["hai"] = { "Haida", 33303, "qfa-iso", Latn, } m["haj"] = { "Hajong", 3350576, "qfa-mix", {"as-Beng", "Latn"}, ancestors = {"inc-oas", "tbq-pro"}, } m["hak"] = { "Hakka", 33375, "zhx", {"Hani"}, ancestors = {"ltc"}, } m["hal"] = { "Halang", 56307, "mkh", } m["ham"] = { "Hewa", 5748345, "paa-spk", } m["hao"] = { "Hakö", 3125871, "poz-ocw", Latn, } m["hap"] = { "Hupla", 5946223, "ngf", } m["har"] = { "Harari", 33626, "sem-eth", {"Ethi"}, translit_module = "Ethi-translit", } m["has"] = { "Haisla", 3107399, "wak", } m["hav"] = { "Havu", 5684097, "bnt-shh", Latn, } m["haw"] = { "Hawaiian", 33569, "poz-pep", Latn, sort_key = { from = {"ā", "ē", "ī", "ō", "ū" }, to = {"a", "e", "i", "o", "u" }} , } m["hax"] = { "Southern Haida", 12953543, "qfa-iso", ancestors = {"hai"}, } m["hay"] = { "Haya", 35756, "bnt-haj", } m["haz"] = { "Hazaragi", 33398, "ira-swi", ancestors = {"fa"}, } m["hba"] = { "Hamba", 11028905, "bnt-tet", } m["hbb"] = { "Huba", 56290, "cdc-cbm", } m["hbn"] = { "Heiban", 35523, "alv-hei", } m["hbu"] = { "Habu", 1567033, "poz-cet", Latn, } m["hca"] = { "Andaman Creole Hindi", 7599417, "crp", ancestors = {"hi", "bn", "ta"}, } m["hch"] = { "Huichol", 35575, "azc", Latn, } m["hdn"] = { "Northern Haida", 20054484, "qfa-iso", ancestors = {"hai"}, } m["hds"] = { "Honduras Sign Language", 3915496, "sgn", Latn, -- when documented } m["hdy"] = { "Hadiyya", 56613, "cus-eas", } m["hea"] = { "Northern Qiandong Miao", 3138832, "hmn", } m["hed"] = { "Herdé", 56253, "cdc-mas", } m["heg"] = { "Helong", 35432, "poz-tim", Latn, } m["heh"] = { "Hehe", 3129390, "bnt-bki", Latn, } m["hei"] = { "Heiltsuk", 5699507, "wak", } m["hem"] = { "Hemba", 5711209, "bnt-lbn", } m["hgm"] = { "Haiǁom", 4494781, "khi-khk", Latn, } m["hgw"] = { "Haigwai", 5639108, "poz-ocw", Latn, } m["hhi"] = { "Hoia Hoia", 5877767, "ngf", } m["hhr"] = { "Kerak", 11010783, "alv-jfe", } m["hhy"] = { "Hoyahoya", nil, "ngf", } m["hia"] = { "Lamang", 35700, "cdc-cbm", Latn, } m["hib"] = { "Hibito", 3135164, } m["hid"] = { "Hidatsa", 3135234, "sio-mor", Latn, } m["hif"] = { "Fiji Hindi", 46728, "inc-hie", Latn, ancestors = {"awa"}, } m["hig"] = { "Kamwe", 56271, "cdc-cbm", } m["hih"] = { "Pamosu", 12953011, "ngf-mad", } m["hii"] = { "Hinduri", 5766763, "him", } m["hij"] = { "Hijuk", 35274, "bnt-bsa", } m["hik"] = { "Seit-Kaitetu", 7446989, "poz-cma", } m["hil"] = { "Hiligaynon", 35978, "phi", Latn, entry_name = { from = {"Á", "á", "É", "é", "Í", "í", "Ó", "ó", "Ú", "ú", MACRON}, to = {"A", "a", "E", "e", "I", "i", "O", "o", "U", "u"}} , } m["hio"] = { "Tshwa", 963636, "khi-kal", } m["hir"] = { "Himarimã", 5765127, } m["hit"] = { "Hittite", 35668, "ine-ana", {"Xsux"}, } m["hiw"] = { "Hiw", 3138713, "poz-vnc", Latn, } m["hix"] = { "Hixkaryana", 56522, "sai-prk", Latn, } m["hji"] = { "Haji", 5639933, "poz-mly", } m["hka"] = { "Kahe", 3892562, "bnt-chg", Latn, } m["hke"] = { "Hunde", 3065432, "bnt-shh", Latn, } m["hkk"] = { "Hunjara-Kaina Ke", nil, "ngf", } m["hkn"] = { "Mel-Khaonh", nil, "mkh-ban", } m["hks"] = { "Hong Kong Sign Language", 17038844, "sgn", } m["hla"] = { "Halia", 3125959, "poz-ocw", Latn, } m["hlb"] = { "Halbi", 3695692, "inc-eas", {"Deva", "Orya"}, ancestors = {"inc-mgd"}, } m["hld"] = { "Halang Doan", 3914632, "mkh-ban", } m["hle"] = { "Hlersu", 5873537, "tbq-lol", } m["hlt"] = { "Nga La", 12952942, "tbq-kuk", } m["hma"] = { "Southern Mashan Hmong", 12953560, "hmn", Latn, } m["hmb"] = { "Humburi Senni", 35486, "son", } m["hmc"] = { "Central Huishui Hmong", 12953558, "hmn", } m["hmd"] = { "A-Hmao", 1108934, "hmn", {"Latn", "Plrd"}, } m["hme"] = { "Eastern Huishui Hmong", 12953559, "hmn", } m["hmf"] = { "Hmong Don", 22911602, "hmn", } m["hmg"] = { "Southwestern Guiyang Hmong", 27478542, "hmn", } m["hmh"] = { "Southwestern Huishui Hmong", 12953565, "hmn", } m["hmi"] = { "Northern Huishui Hmong", 27434946, "hmn", } m["hmj"] = { "Ge", 11251864, "hmn", } m["hmk"] = { "Maek", 8050724, "qfa-kor", } m["hml"] = { "Luopohe Hmong", 14468943, "hmn", } m["hmm"] = { "Central Mashan Hmong", 12953561, "hmn", } m["hmp"] = { "Northern Mashan Hmong", 12953564, "hmn", } m["hmq"] = { "Eastern Qiandong Miao", 27431369, "hmn", } m["hmr"] = { "Hmar", 2992841, "tbq-kuk", ancestors = {"lus"}, } m["hms"] = { "Southern Qiandong Miao", 12953562, "hmn", } m["hmt"] = { "Hamtai", 5646436, "ngf", } m["hmu"] = { "Hamap", 12952484, "qfa-tap", } m["hmv"] = { "Hmong Dô", 22911598, "hmn", } m["hmw"] = { "Western Mashan Hmong", 12953563, "hmn", } m["hmy"] = { "Southern Guiyang Hmong", 12953553, "hmn", } m["hmz"] = { "Hmong Shua", 25559603, "hmn", } m["hna"] = { "Mina", 56532, "cdc-cbm", } m["hnd"] = { "Southern Hindko", 382273, "inc-pan", ancestors = {"lah"}, } m["hne"] = { "Chhattisgarhi", 33158, "inc-hie", {"Deva"}, ancestors = {"inc-pra"}, translit_module = "hi-translit" } m["hnh"] = { "ǁAni", 3832982, "khi-kal", {"Latinx"}, } m["hni"] = { "Hani", 56516, "tbq-lol", } m["hnj"] = { "Green Hmong", 3138831, "hmn", {"Latn", "Hmng"}, } m["hnn"] = { "Hanunoo", 35435, "phi", {"Hano", "Latn"}, } m["hno"] = { "Northern Hindko", 6346358, "inc-pan", {"Arab"}, ancestors = {"lah"}, } m["hns"] = { "Caribbean Hindustani", 1843468, "inc-hie", ancestors = {"bho"}, } m["hnu"] = { "Hung", 12632753, "mkh-vie", } m["hoa"] = { "Hoava", 3138887, "poz-ocw", Latn, } m["hob"] = { "Austronesian Mari", 6760941, "poz-ocw", Latn, } m["hoc"] = { "Ho", 33270, "mun", {"Wara", "Orya", "Deva", "Latn"}, } m["hod"] = { "Holma", 56331, "cdc-cbm", Latn, } m["hoe"] = { "Horom", 3914008, "nic-ple", Latn, } m["hoh"] = { "Hobyót", 33299, "sem-sar", {"Arab", "Latn"}, } m["hoi"] = { "Holikachuk", 28508, "ath-nor", Latn, } m["hoj"] = { "Hadothi", 33227, "inc-wes", ancestors = {"mwr"}, } m["hol"] = { "Holu", 4121133, "bnt-pen", Latn, } m["hom"] = { "Homa", 3449953, "bnt-boa", Latn, } m["hoo"] = { "Holoholo", 3139484, "bnt-tkm", Latn, } m["hop"] = { "Hopi", 56421, "azc", Latn, } m["hor"] = { "Horo", 641748, "csu-sar", } m["hos"] = { "Ho Chi Minh City Sign Language", 16111971, "sgn", Latn, -- when documented } m["hot"] = { "Hote", 12632404, "poz-ocw", Latn, } m["hov"] = { "Hovongan", 5917269, "poz", } m["how"] = { "Honi", 56842, "tbq-lol", } m["hoy"] = { "Holiya", 5880707, "dra", } m["hoz"] = { "Hozo", 5923010, "omv-mao", } m["hpo"] = { "Hpon", 5923277, "tbq-brm", } m["hps"] = { "Hawai'i Pidgin Sign Language", 33358, "sgn", Latn, -- when documented } m["hra"] = { "Hrangkhol", 5923435, "tbq-kuk", } m["hrc"] = { "Niwer Mil", nil, "poz-oce", Latn, } m["hre"] = { "Hre", 3915794, "mkh-nbn", } m["hrk"] = { "Haruku", 5675762, "poz-cma", } m["hrm"] = { "Horned Miao", nil, "hmn", } m["hro"] = { "Haroi", 3127568, "cmc", Latn, } m["hrp"] = { "Nhirrpi", 32571318, "aus-kar", } m["hrt"] = { "Hértevin", 33290, "sem-nna", Latn, } m["hru"] = { "Hruso", 5923933, "sit-hrs", } m["hrw"] = { "Warwar Feni", nil, "poz-oce", Latn, } m["hrx"] = { "Hunsrik", 304049, "gmw", Latn, ancestors = {"gmw-cfr"}, } m["hrz"] = { "Harzani", 56464, "xme-ttc", ancestors = {"xme-ttc-nor"}, } m["hsb"] = { "Upper Sorbian", 13248, "wen", Latn, sort_key = { from = {"č", "ć", "ě", "ch", "ł", "ń", "ó", "ř", "š", "ž", "ź" }, to = {"c~", "c~~", "e~", "h~", "l`", "n~", "o", "r~", "s~", "z~", "z~~" }} , --the digraph ch comes after h; ł comes before l } m["hsh"] = { "Hungarian Sign Language", 13636869, "sgn", Latn, -- when documented } m["hsl"] = { "Hausa Sign Language", 3915462, "sgn", Latn, -- when documented } m["hsn"] = { "Xiang", 13220, "zhx", {"Hani"}, ancestors = {"ltc"}, } m["hss"] = { "Harsusi", 33423, "sem-sar", {"Arab", "Latn"}, } m["hti"] = { "Hoti", 5912372, "poz-cma", Latn, } m["hto"] = { "Minica Huitoto", 948514, "sai-wit", Latn, } m["hts"] = { "Hadza", 33411, "qfa-iso", Latn, } m["htu"] = { "Hitu", 5872700, "poz-cma", Latn, } m["hub"] = { "Huambisa", 1526037, "sai-jiv", Latn, } m["huc"] = { "ǂHoan", 2053913, "khi-kxa", {"Latinx"}, } m["hud"] = { "Huaulu", 12952504, "poz-cma", Latn, } m["huf"] = { "Humene", 11732231, "ngf", Latn, } m["hug"] = { "Huachipaeri", 3446617, "sai-har", Latn, } m["huh"] = { "Huilliche", 35531, "sai-ara", Latn, } m["hui"] = { "Huli", 3125121, "paa-eng", Latn, } m["huj"] = { "Northern Guiyang Hmong", 12953554, "hmn", } m["huk"] = { "Hulung", 12952505, "poz-cet", } m["hul"] = { "Hula", 6382179, "poz-ocw", Latn, } m["hum"] = { "Hungana", 10975396, "bnt-yak", } m["huo"] = { "Hu", 3141783, "mkh-pal", } m["hup"] = { "Hupa", 28058, "ath-pco", Latn, } m["huq"] = { "Tsat", 34133, "cmc", } m["hur"] = { "Halkomelem", 35388, "sal", Latn, } m["hus"] = { "Wastek", 35573, "myn", Latn, } m["huu"] = { "Murui Huitoto", 2640935, "sai-wit", Latn, } m["huv"] = { "Huave", 12954031, "qfa-iso", Latn, } m["huw"] = { "Hukumina", 3142988, "poz-cma", Latn, } m["hux"] = { "Nüpode Huitoto", 56333, "sai-wit", Latn, } m["huy"] = { "Hulaulá", 33426, "sem-nna", } m["huz"] = { "Hunzib", 56564, "cau-tsz", {"Cyrl"}, translit_module = "huz-translit", entry_name = { from = {ACUTE}, to = {}}, } m["hvc"] = { "Haitian Vodoun Culture Language", 3504239, "crp", Latn, } m["hvk"] = { "Haveke", 5683513, "poz-cln", Latn, } m["hvn"] = { "Sabu", 3128792, "poz-cet", Latn, } m["hwa"] = { "Wané", 3914887, "kro-ekr", Latn, } m["hwc"] = { "Hawaiian Creole", 35602, "crp", Latn, } m["hwo"] = { "Hwana", 56498, "cdc-cbm", Latn, } m["hya"] = { "Hya", 56798, "cdc-cbm", Latn, } return m k5zle585hyu3glh5rislev2bnp80hju Module:languages/data3/c 828 3092 8482 2022-10-04T03:40:28Z Rebel Agent 2678 Ke dirile module 8482 Scribunto text/plain local u = mw.ustring.char -- UTF-8 encoded strings for some commonly-used diacritics local GRAVE = u(0x0300) local ACUTE = u(0x0301) local CIRC = u(0x0302) local TILDE = u(0x0303) local MACRON = u(0x0304) local OVERLINE = u(0x0305) local BREVE = u(0x0306) local DOTABOVE = u(0x0307) local DIAER = u(0x0308) local CARON = u(0x030C) local DGRAVE = u(0x030F) local INVBREVE = u(0x0311) local DOTBELOW = u(0x0323) local RINGBELOW = u(0x0325) local CEDILLA = u(0x0327) -- Puncuation to be used for standardChars field local PUNCTUATION = ' !#$%&*+,-./:;<=>?@^_`|~\'()' local Cyrl = {"Cyrl"} local Deva = {"Deva"} local Latn = {"Latn"} local m = {} m["caa"] = { "Ch'orti'", 35177, "myn", Latn, } m["cab"] = { "Garifuna", 35490, "awd-taa", Latn, ancestors = {"awd-taa-pro"}, } m["cac"] = { "Chuj", 35233, "myn", Latn, } m["cad"] = { "Caddo", 56756, "cdd", Latn, } m["cae"] = { "Laalaa", 35564, "alv-cng", Latn, } m["caf"] = { "Southern Carrier", 12953426, "ath-nor", Latn, } m["cag"] = { "Nivaclé", 3182557, "sai-mtc", Latn, } m["cah"] = { "Cahuarano", 2933175, "sai-zap", Latn, } m["caj"] = { "Chané", 56721, "awd", Latn, } m["cak"] = { "Kaqchikel", 35115, "myn", Latn, } m["cal"] = { "Carolinian", 28427, "poz-mic", Latn, } m["cam"] = { "Cemuhî", 3009690, "poz-cln", Latn, } m["can"] = { "Chambri", 5069707, "paa-lsp", Latn, } m["cao"] = { "Chácobo", 2591202, "sai-pan", Latn, } m["cap"] = { "Chipaya", 35235, "sai-ucp", Latn, } m["caq"] = { "Car Nicobarese", 35156, "aav-nic", Latn, } m["car"] = { "Galibi Carib", 56611, "sai-gui", Latn, } m["cas"] = { "Tsimané", 35950, "qfa-iso", Latn, } m["cav"] = { "Cavineña", 524102, "sai-tac", Latn, } m["caw"] = { "Callawalla", 266417, "qfa-mix", Latn, } m["cax"] = { "Chiquitano", 1844993, "qfa-iso", Latn, } m["cay"] = { "Cayuga", 32967, "iro-nor", Latn, } m["caz"] = { "Canichana", 2936374, "qfa-iso", Latn, } m["cbb"] = { "Cabiyarí", 3450660, "awd-nwk", Latn, } m["cbc"] = { "Carapana", 924405, "sai-tuc", Latn, } m["cbd"] = { "Carijona", 3446655, "sai-tar", Latn, } m["cbg"] = { "Chimila", 2963680, "cba", Latn, } m["cbi"] = { "Chachi", 2591329, "sai-bar", Latn, } m["cbj"] = { "Ede Cabe", 33112829, "alv-ede", Latn, } m["cbk"] = { "Chavacano", 33281, "crp", Latn, ancestors = {"es"}, } m["cbl"] = { "Bualkhaw Chin", 9229830, "tbq-kuk", Latn, } m["cbn"] = { "Nyah Kur", 116849, "mkh-mnc", {"Thai"}, ancestors = {"omx"}, sort_key = { from = {"[%pๆ]", "[็-๎]", "([เแโใไ])([ก-ฮ])"}, to = {"", "", "%2%1"}}, } m["cbo"] = { "Izora", 3915454, "nic-jer", Latn, } m["cbq"] = { "Shuba", nil, "nic-knj", Latn, ancestors = {"lan"}, } m["cbr"] = { "Cashibo-Cacataibo", 5359560, "sai-pan", Latn, } m["cbs"] = { "Cashinahua", 2591230, "sai-pan", Latn, } m["cbt"] = { "Chayahuita", 1526525, "sai-cah", Latn, } m["cbu"] = { "Candoshi-Shapra", 642843, "qfa-iso", Latn, } m["cbv"] = { "Cacua", 3192052, "sai-nad", Latn, ancestors = {"mbr"}, } m["cbw"] = { "Kinabalian", 6410324, "phi", Latn, } m["cby"] = { "Carabayo", 3441762, "sai-tyu", Latn, } m["cca"] = { "Cauca", 5054242, "sai-chc", Latn, } m["ccc"] = { "Chamicuro", 2155119, "awd", Latn, } m["ccd"] = { "Cafundó", 3331506, "roa-ibe", Latn, ancestors = {"pt"}, } m["cce"] = { "Chopi", 3437616, "bnt-bso", Latn, } m["ccg"] = { "Chamba Daka", 33120805, "nic-dak", Latn, } m["cch"] = { "Atsam", 34794, "nic-kne", Latn, } m["ccj"] = { "Kasanga", 35542, "alv-nyn", Latn, } m["ccl"] = { "Cutchi-Swahili", 5196729, "crp", Latn, ancestors = {"sw"}, } m["ccm"] = { "Malaccan Creole Malay", 12636092, "crp", Latn, ancestors = {"ms"}, } m["cco"] = { "Comaltepec Chinantec", 2963735, "omq-chi", Latn, } m["ccp"] = { "Chakma", 32952, "inc-eas", {"Cakm"}, ancestors = {"inc-obn"}, } m["ccr"] = { "Cacaopera", 3438338, "nai-min", Latn, } m["cda"] = { "Choni", 2964447, "sit-tib", } m["cde"] = { "Chenchu", 32981, "dra", {"Telu"}, ancestors = {"te"}, } m["cdf"] = { "Chiru", 5102016, "tbq-kuk", {"Latn", "Beng"}, } m["cdh"] = { "Chambeali", 12953424, "him", {"Deva", "Takr"}, translit_module = "hi-translit", } m["cdi"] = { "Chodri", 5103788, "inc-bhi", {"Gujr"}, } m["cdj"] = { "Churahi", 12629039, "him", translit_module = "hi-translit", } m["cdm"] = { "Chepang", 5091700, "sit-gma", Deva, } m["cdn"] = { "Chaudangsi", 5088056, "sit-alm", } m["cdo"] = { "Min Dong", 36455, "zhx-min-hai", {"Hani"}, } m["cdr"] = { "Cinda-Regi-Tiyal", 35596, "nic-kmk", Latn, } m["cds"] = { "Chadian Sign Language", 10322099, "sgn", Latn, -- when documented } m["cdy"] = { "Chadong", 926742, "qfa-kms", } m["cdz"] = { "Koda", 6425038, "mun", {"Beng"}, } m["cea"] = { "Lower Chehalis", 6693377, "sal", Latn, } m["ceb"] = { "Cebuano", 33239, "phi", Latn, entry_name = { from = {"[áàâ]", "[éèê]", "[íìî]", "[óòô]", "[úùû]", ACUTE, GRAVE, CIRC}, to = {"a" , "e" , "i" , "o" , "u" }}, } m["ceg"] = { "Chamacoco", 3436637, "sai-zam", Latn, } m["cen"] = { "Cen", 12628777, "nic-plc", Latn, ancestors = {"izr"}, } m["cet"] = { "Centúúm", 33608, "qfa-iso", Latn, } m["cfa"] = { "Dijim-Bwilim", 3438350, "alv-wjk", Latn, } m["cfd"] = { "Cara", 35048, "nic-beo", Latn, } m["cfg"] = { "Como Karim", 35304, "nic-jkn", Latn, } m["cfm"] = { "Falam Chin", 56815, "tbq-kuk", {"Beng", "Latn"}, } m["cga"] = { "Changriwa", 5072105, "paa-yua", Latn, } m["cgc"] = { "Kagayanen", 6346422, "mno", Latn, } m["cgg"] = { "Rukiga", 3270727, "bnt-nyg", Latn, } m["cgk"] = { "Chocangaca", 56604, "sit-tib", {"Tibt"}, ancestors = {"xct"}, } m["chb"] = { "Chibcha", 2356431, "cba", } m["chc"] = { "Catawba", 5051602, "nai-cat", Latn, } m["chd"] = { "Highland Oaxaca Chontal", 2964457, "nai-tqn", Latn, } m["chf"] = { "Tabasco Chontal", 35175, "myn", Latn, } m["chg"] = { "Chagatai", 36831, "trk-kar", {"Arab"}, entry_name = { from = {u(0x0671), u(0x064B), u(0x064C), u(0x064D), u(0x064E), u(0x064F), u(0x0650), u(0x0651), u(0x0652), u(0x0670), u(0x0640)}, to = {u(0x0627)} }, } m["chh"] = { "Chinook", 6693380, "nai-ckn", Latn, } m["chj"] = { "Ojitlán Chinantec", 5100110, "omq-chi", Latn, } m["chk"] = { "Chuukese", 33161, "poz-mic", Latn, } m["chl"] = { "Cahuilla", 56438, "azc-cup", Latn, entry_name = { from = {"Á", "á", "É", "é", "Í", "í", "Ó", "ó", "Ú", "ú", MACRON}, to = {"A", "a", "E", "e", "I", "i", "O", "o", "U", "u"}} , } m["chm"] = { "Eastern Mari", 973685, "urj", Cyrl, translit_module = "chm-translit", override_translit = true, ancestors = {"urj-pro"}, wikimedia_codes = {"mhr"}, entry_name = { from = {GRAVE, ACUTE}, to = {}} , } m["chn"] = { "Chinook Jargon", 35173, "crp", {"Latn", "Dupl"}, ancestors = {"chh", "nuk"}, } m["cho"] = { "Choctaw", 32979, "nai-mus", Latn, } m["chp"] = { "Chipewyan", 27692, "ath-nor", {"Latn", "Cans"}, } m["chq"] = { "Quiotepec Chinantec", 5758709, "omq-chi", Latn, } m["chr"] = { "Cherokee", 33388, "iro", {"Cher"}, translit_module = "Cher-translit", } m["cht"] = { "Cholón", 2591243, nil, Latn, } m["chw"] = { "Chuabo", 5118412, "bnt-mak", Latn, } m["chx"] = { "Chantyal", 4926344, "sit-tam", Deva, } m["chy"] = { "Cheyenne", 33265, "alg", Latn, sort_key = { from = {"[àáāȧ]", "[èéēė]", "[òóōȯ]", GRAVE, ACUTE, MACRON, DOTABOVE, "-"}, to = {"a", "e", "o"}}, standardChars = "0-9'AEHKMNOPSŠTVXaehkmnopsštvxÀÁĀȦÈÉĒĖÒÓŌȮàáāȧèéēėòóōȯ" .. PUNCTUATION, --umlaut and circumflex not allowed } m["chz"] = { "Ozumacín Chinantec", 5100111, "omq-chi", Latn, } m["cia"] = { "Cia-Cia", 35284, "poz-mun", {"Hang", "Latn", "Arab"}, } m["cib"] = { "Ci Gbe", 12952445, "alv-gbe", Latn, } m["cic"] = { "Chickasaw", 33192, "nai-mus", Latn, } m["cid"] = { "Chimariko", 1294251, "qfa-iso", Latn, } m["cie"] = { "Cineni", 56243, "cdc-cbm", Latn, } m["cih"] = { "Chinali", 11855245, "inc", Deva, ancestors = {"sa"}, } m["cik"] = { "Chitkuli Kinnauri", 15615982, "sit-kin", } m["cim"] = { "Cimbrian", 37053, "gmw", Latn, varieties= {"Luserna Cimbrian", "Sette Comuni Cimbrian", "Thirteen Communities Cimbrian"}, ancestors = {"bar"}, sort_key = { from = {"[åà]", "č", "[èé]", "ì", "[òóôö]", "[üù]"}, to = {"a", "c", "e", "i", "o", "u"}, }, } m["cin"] = { "Cinta Larga", 5121095, "tup", Latn, } m["cip"] = { "Chiapanec", 3364475, "omq", Latn, } m["cir"] = { "Tiri", 7862281, "poz-cln", Latn, } m["ciy"] = { "Chaima", 12628867, "sai-ven", Latn, } m["cja"] = { "Western Cham", 12645578, "cmc", {"Latn", "Arab", "Khmr"}, -- Western Cham script is not yet available. Also, Arabic script is missing some glyphs. } m["cje"] = { "Chru", 2967321, "cmc", Latn, } m["cjh"] = { "Upper Chehalis", 2962074, "sal", Latn, } m["cji"] = { "Chamalal", 56567, "cau-ava", Cyrl, } m["cjk"] = { "Chokwe", 2422065, "bnt-clu", Latn, } m["cjm"] = { "Eastern Cham", 2948019, "cmc", {"Latn", "Cham"}, } m["cjn"] = { "Chenapian", 5091044, "paa-spk", Latn, } m["cjo"] = { "Ashéninka Pajonal", 3450481, "awd", Latn, } m["cjp"] = { "Cabécar", 27878, "cba", Latn, } m["cjs"] = { "Shor", 34139, "trk-sib", Cyrl, } m["cjv"] = { "Chuave", 5115226, "ngf", Latn, } m["cjy"] = { "Jin", 56479, "zhx", {"Hani"}, ancestors = {"ltc"}, } m["ckb"] = { "Central Kurdish", 36811, "ku", {"ku-Arab"}, translit_module = "ckb-translit", entry_name = { from = {u(0x0650), u(0x0652)}, to = {}} , ancestors = {"ku-pro"}, } m["ckh"] = { "Chak", 12628870, "sit-luu", Latn, ancestors = {"kdv"}, } m["ckl"] = { "Cibak", 56279, "cdc-cbm", Latn, } m["ckn"] = { "Kaang Chin", 6343432, "tbq-kuk", Latn, } m["cko"] = { "Anufo", 34845, "alv-ctn", Latn, } m["ckq"] = { "Kajakse", 3440422, "cdc-est", Latn, } m["ckr"] = { "Kairak", 3503002, "paa-bng", Latn, } m["cks"] = { "Tayo", 1133089, "crp", Latn, ancestors = {"fr"}, } m["ckt"] = { "Chukchi", 33170, "qfa-cka", Cyrl, } m["cku"] = { "Koasati", 35162, "nai-mus", Latn, } m["ckv"] = { "Kavalan", 716627, "map", Latn, } m["ckx"] = { "Caka", 5018037, "nic-tvc", Latn, } m["cky"] = { "Cakfem-Mushere", 3441199, "cdc-wst", Latn, } m["ckz"] = { "Cakchiquel-Quiché Mixed Language", 5054550, "myn", Latn, } m["cla"] = { "Ron", 3440432, "cdc-wst", Latn, } m["clc"] = { "Chilcotin", 28535, "ath-nor", Latn, } m["cld"] = { "Chaldean Neo-Aramaic", 33236, "sem-are", {"Syrc"}, } m["cle"] = { "Lealao Chinantec", 6509365, "omq-chi", Latn, } m["clh"] = { "Chilisso", 3250629, "inc-dar", } m["cli"] = { "Chakali", 35206, "nic-gnw", Latn, } m["clj"] = { "Laitu Chin", 6474196, "tbq-kuk", } m["clk"] = { "Idu", 56412, "sit-gsi", {"Tibt"}, } m["cll"] = { "Chala", 35190, "nic-gne", Latn, } m["clm"] = { "Klallam", 33404, "sal", Latn, } m["clo"] = { "Lowland Oaxaca Chontal", 2964450, "nai-tqn", Latn, } m["clt"] = { "Lautu Chin", 6502107, "tbq-kuk", } m["clu"] = { "Caluyanun", 32964, "phi", Latn, } m["clw"] = { "Chulym", 33125, "trk-sib", {"Latn", "Cyrl"}, } m["cly"] = { "Eastern Highland Chatino", 12642078, "omq-cha", Latn, } m["cma"] = { "Maa", 12953680, "mkh-ban", Latn, } m["cme"] = { "Cerma", 35074, "nic-gur", Latn, } m["cmg"] = { "Classical Mongolian", 5128303, "xgn", {"Mong", "Soyo", "Zanb"}, ancestors = {"xng"}, translit_module = "mn-translit", } m["cmi"] = { "Emberá-Chamí", 3052042, "sai-chc", Latn, } m["cml"] = { "Campalagian", 5027893, "poz-ssw", Latn, } m["cmm"] = { "Michigamea", 12636809, "sio-msv", Latn, } m["cmn"] = { "Mandarin", 9192, "zhx", {"Hani", "Latn"}, ancestors = {"ltc"}, wikimedia_codes = {"zh"}, } m["cmo"] = { "Central Mnong", 33369881, "mkh-ban", } m["cmr"] = { "Mro Chin", 16889978, "tbq-kuk", } m["cms"] = { "Messapic", 36383, "ine", Latn, -- when documented here; otherwise written in a native script } m["cmt"] = { "Camtho", 10441336, "crp", Latn, ancestors = {"fly", "zu"} } m["cna"] = { "Changthang", 12952322, "sit-lab", {"Tibt"}, } m["cnb"] = { "Chinbon Chin", 12952327, "tbq-kuk", } m["cnc"] = { "Côông", 5202780, "tbq-lol", } m["cng"] = { "Northern Qiang", 56559, "sit-qia", } m["cnh"] = { "Lai", 3250286, "tbq-kuk", } m["cni"] = { "Asháninka", 3437230, "awd", Latn, } m["cnk"] = { "Khumi Chin", 56308, "tbq-kuk", } m["cnl"] = { "Lalana Chinantec", 12953437, "omq-chi", Latn, } m["cno"] = { "Con", 3440883, "mkh-pal", } m["cns"] = { "Central Asmat", 11732048, "ngf", Latn, } m["cnt"] = { "Tepetotutla Chinantec", 5100113, "omq-chi", Latn, } m["cnu"] = { "Chenoua", 33276, "ber", } m["cnw"] = { "Ngawn Chin", 6583675, "tbq-kuk", } m["cnx"] = { "Middle Cornish", 12642603, "cel-bry", Latn, ancestors = {"oco"}, } m["coa"] = { "Cocos Islands Malay", 3441699, "crp", Latn, ancestors = {"ms"}, } m["cob"] = { "Chicomuceltec", 3307204, "myn", Latn, } m["coc"] = { "Cocopa", 33044, "nai-yuc", Latn, } m["cod"] = { "Cocama", 33317, "tup", Latn, } m["coe"] = { "Koreguaje", 3198924, "sai-tuc", Latn, } m["cof"] = { "Tsafiki", 2567055, "sai-bar", Latn, } m["cog"] = { "Chong", 3914630, "mkh-pea", {"Thai", "Khmr"}, sort_key = { from = {"[%pๆ]", "[็-๎]", "([เแโใไ])([ก-ฮ])"}, to = {"", "", "%2%1"}}, } m["coh"] = { "Chichonyi-Chidzihana-Chikauma", 12629011, "bnt-mij", Latn, } m["coj"] = { "Cochimi", 3915551, "nai-yuc", Latn, } m["cok"] = { "Santa Teresa Cora", 12641754, "azc", Latn, } m["col"] = { "Columbia-Wenatchi", 3324744, "sal", Latn, } m["com"] = { "Comanche", 32972, "azc-num", Latn, } m["con"] = { "Cofán", 2669254, "qfa-iso", Latn, } m["coo"] = { "Comox", 13583746, "sal", Latn, } m["cop"] = { "Coptic", 36155, "egx", -- Don't include varieties in [[Module:etymology languages/data]] {"Copt"}, translit_module = "Copt-translit", ancestors = {"egx-dem"}, entry_name = { from = { "ˋ", GRAVE, MACRON, DIAER, OVERLINE, }, to = {}, }, sort_key = "cop-sortkey", } m["coq"] = { "Coquille", 12953452, "ath-pco", Latn, } m["cot"] = { "Caquinte", 3915557, "awd", Latn, } m["cou"] = { "Wamey", 36935, "alv-ten", Latn, } m["cov"] = { "Cao Miao", 2936935, "qfa-tak", } m["cow"] = { "Cowlitz", 3001877, "sal", Latn, } m["cox"] = { "Nanti", 15342275, "awd", Latn, } m["coy"] = { "Coyaima", 56450, "sai-car", Latn, } m["coz"] = { "Chochotec", 2964262, "omq-pop", Latn, } m["cpa"] = { "Palantla Chinantec", 5100112, "omq-chi", Latn, } m["cpb"] = { "Ucayali-Yurúa Ashéninka", 3501858, "awd", Latn, } m["cpc"] = { "Ajyíninka Apurucayali", 3327405, "awd", Latn, } m["cpg"] = { "Cappadocian Greek", 853414, "grk", {"Grek", "fa-Arab"}, ancestors = {"grc"}, translit_module = "el-translit", entry_name = { from = {u(0x0324), u(0x032E), CARON}, to = {}}, sort_key = { -- Keep this synchronized with el, grc, pnt, tsd, grk-mar from = {"[ᾳάᾴὰᾲᾶᾷἀᾀἄᾄἂᾂἆᾆἁᾁἅᾅἃᾃἇᾇα̤ά̤]", "[έὲἐἔἒἑἕἓ]", "[ῃήῄὴῂῆῇἠᾐἤᾔἢᾒἦᾖἡᾑἥᾕἣᾓἧᾗ]", "[ίὶῖἰἴἲἶἱἵἳἷϊΐῒῗι̮]", "[όὸὀὄὂὁὅὃο̤ό̤]", "[ύὺῦὐὔὒὖὑὕὓὗϋΰῢῧ]", "[ῳώῴὼῲῶῷὠᾠὤᾤὢᾢὦᾦὡᾡὥᾥὣᾣὧᾧ]", "ῥ", "ς", "ζ̌", "ξ̌", "σ̌", "χ̌", "ψ̌"}, to = {"α" , "ε" , "η" , "ι" , "ο" , "υ" , "ω" , "ρ", "σ", "ζ", "ξ", "σ", "χ", "ψ"}} , } m["cpi"] = { "Chinese Pidgin English", 3435078, "crp", Latn, ancestors = {"en"}, } m["cpn"] = { "Cherepon", 35181, "alv-gng", Latn, } m["cpo"] = { "Kpee", 6435722, "dmn-jje", } m["cps"] = { "Capiznon", 2937525, "phi", Latn, } m["cpu"] = { "Pichis Ashéninka", 7190661, "awd", Latn, } m["cpx"] = { "Puxian", 56583, "zhx-min-hai", {"Hani"}, } m["cpy"] = { "South Ucayali Ashéninka", 3501868, "awd", Latn, } m["cqd"] = { "Chuanqiandian Cluster Miao", 3307894, "hmn", {"Latn", "Plrd"}, } m["cra"] = { "Chara", 5073694, "omv", Latn, } m["crb"] = { "Island Carib", 3450735, "awd-taa", Latn, ancestors = {"awd-taa-pro"}, } m["crc"] = { "Lonwolwol", 3259216, "poz-oce", Latn, } m["crd"] = { "Coeur d'Alene", 32915, "sal", Latn, } m["crf"] = { "Caramanta", 3504195, "sai-chc", Latn, } m["crg"] = { "Michif", 13315, "qfa-mix", Latn, ancestors = {"cr", "fr"}, } m["crh"] = { "Crimean Tatar", 33357, "trk-kcu", {"Latn", "Cyrl"}, dotted_dotless_i = true, } m["cri"] = { "Sãotomense", 36536, "crp", Latn, ancestors = {"pt"}, } m["crj"] = { "Southern East Cree", 12953464, "alg", {"Cans"}, ancestors = {"cr"}, translit_module = "cr-translit", } m["crk"] = { "Plains Cree", 56699, "alg", {"Cans", "Latn"}, ancestors = {"cr"}, } m["crl"] = { "Northern East Cree", 12642195, "alg", {"Cans"}, ancestors = {"cr"}, translit_module = "cr-translit", } m["crm"] = { "Moose Cree", 3446671, "alg", {"Cans"}, ancestors = {"cr"}, } m["crn"] = { "Cora", 12953454, "azc", Latn, } m["cro"] = { "Crow", 1207611, "sio-mor", Latn, } m["crq"] = { "Iyo'wujwa Chorote", 3540927, "sai-mtc", Latn, } m["crr"] = { "Carolina Algonquian", 16113723, "alg-eas", Latn, } m["crs"] = { "Seychellois Creole", 34015, "crp", Latn, ancestors = {"fr"}, } m["crt"] = { "Iyojwa'ja Chorote", 3504118, "sai-mtc", Latn, } m["crv"] = { "Chaura", 2605680, "aav-nic", } m["crw"] = { "Chrau", 5105629, "mkh-ban", Latn, } m["crx"] = { "Carrier", 12953431, "ath-nor", {"Latn", "Cans"}, } m["cry"] = { "Cori", 35204, "nic-plc", Latn, } m["crz"] = { "Cruzeño", 2967636, "nai-chu", Latn, } m["csa"] = { "Chiltepec Chinantec", 12953435, "omq-chi", Latn, } m["csb"] = { "Kashubian", 33690, "zlw-lch", Latn, ancestors = {"zlw-pom"}, } m["csc"] = { "Catalan Sign Language", 35768, "sgn", Latn, -- when documented } m["csd"] = { "Chiangmai Sign Language", 5095211, "sgn", } m["cse"] = { "Czech Sign Language", 5201809, "sgn", Latn, -- when documented } m["csf"] = { "Cuban Sign Language", 5192046, "sgn", Latn, -- when documented } m["csg"] = { "Chilean Sign Language", 3322112, "sgn", Latn, -- when documented } m["csh"] = { "Asho Chin", 12627282, "tbq-kuk", } m["csi"] = { "Coast Miwok", 2981109, "nai-you", Latn, } m["csj"] = { "Songlai Chin", 7561280, "tbq-kuk", } m["csk"] = { "Jola-Kasa", 3446622, "alv-jol", Latn, } m["csl"] = { "Chinese Sign Language", 1094190, "sgn", } m["csm"] = { "Central Sierra Miwok", 2944443, "nai-you", Latn, } m["csn"] = { "Colombian Sign Language", 2748229, "sgn", Latn, -- when documented } m["cso"] = { "Sochiapam Chinantec", 7550388, "omq-chi", Latn, } m["csq"] = { "Croatian Sign Language", 3507506, "sgn", } m["csr"] = { "Costa Rican Sign Language", 5174901, "sgn", Latn, -- when documented } m["css"] = { "Southern Ohlone", 25559664, "nai-you", Latn, } m["cst"] = { "Northern Ohlone", 25559666, "nai-you", Latn, } m["csv"] = { "Sumtu Chin", 7638087, "tbq-kuk", } m["csw"] = { "Swampy Cree", 56696, "alg", {"Latn", "Cans"}, ancestors = {"cr"}, } m["csy"] = { "Siyin Chin", 7533375, "tbq-kuk", } m["csz"] = { "Coos", 3126783, "nai-coo", Latn, } m["cta"] = { "Tataltepec Chatino", 7687853, "omq-cha", Latn, } m["ctc"] = { "Chetco-Tolowa", 12628946, "ath-pco", Latn, } m["ctd"] = { "Tedim Chin", 56357, "tbq-kuk", {"Latn", "Pauc"}, } m["cte"] = { "Tepinapa Chinantec", 12953443, "omq-chi", Latn, } m["ctg"] = { "Chittagonian", 33173, "inc-eas", {"Beng"}, ancestors = {"inc-obn"}, } m["cth"] = { "Thaiphum Chin", 16912048, "tbq-kuk", } m["ctl"] = { "Tlacoatzintepec Chinantec", 12643657, "omq-chi", Latn, } m["ctm"] = { "Chitimacha", 1294227, "qfa-iso", Latn, } m["ctn"] = { "Chhintange", 32994, "sit-kie", Deva, } m["cto"] = { "Emberá-Catío", 3052039, "sai-chc", Latn, } m["ctp"] = { "Western Highland Chatino", 32861734, "omq-cha", Latn, sort_key = { from = {"á", "é", "í", "ó", "ú"}, to = {"a", "e", "i", "o", "u"}}, entry_name = { from = {"[¹²³⁴⁵]"}, to = {}} } m["cts"] = { "Northern Catanduanes Bicolano", 7130477, "phi", Latn, } m["ctt"] = { "Wayanad Chetti", 7975850, "dra", {"Taml"}, } m["ctu"] = { "Chol", 35179, "myn", Latn, } m["ctz"] = { "Zacatepec Chatino", 8063754, "omq-cha", Latn, } m["cua"] = { "Cua", 3441115, "mkh-ban", Latn, } m["cub"] = { "Cubeo", 3006705, "sai-tuc", Latn, } m["cuc"] = { "Usila Chinantec", 7901979, "omq-chi", Latn, } m["cug"] = { "Cung", 35194, "nic-bbe", Latn, } m["cuh"] = { "Chuka", 12952344, "bnt-kka", Latn, } m["cui"] = { "Cuiba", 2980421, "sai-guh", Latn, } m["cuj"] = { "Mashco Piro", 3446596, "awd", Latn, } m["cuk"] = { "Kuna", 12953659, "cba", Latn, } m["cul"] = { "Culina", 2475442, "auf", Latn, } m["cuo"] = { "Cumanagoto", 5193784, "sai-cpc", Latn, } m["cup"] = { "Cupeño", 143130, "azc-cup", Latn, } m["cuq"] = { "Cun", 2475478, "qfa-lic", Latn, } m["cur"] = { "Chhulung", 5116126, "sit-kie", Deva, } m["cut"] = { "Teutila Cuicatec", 12953453, "omq-cui", Latn, } m["cuu"] = { "Tai Ya", 3441122, "qfa-tak", Latn, } m["cuv"] = { "Cuvok", 3515056, "cdc-cbm", Latn, } m["cuw"] = { "Chukwa", 12629033, "sit-kic", } m["cux"] = { "Tepeuxila Cuicatec", 20527242, "omq-cui", Latn, } m["cuy"] = { "Cuitlatec", 2030998, "qfa-iso", Latn, } m["cvg"] = { "Chug", 47683644, "sit-khb", } m["cvn"] = { "Valle Nacional Chinantec", 12953442, "omq-chi", Latn, } m["cwa"] = { "Kabwa", 6344537, "bnt-lok", Latn, } m["cwb"] = { "Maindo", 11002891, "bnt-mak", Latn, ancestors = {"chw"}, } m["cwd"] = { "Woods Cree", 56305, "alg", {"Latn", "Cans"}, ancestors = {"cr"}, } m["cwe"] = { "Kwere", 779632, "bnt-ruv", Latn, } m["cwg"] = { "Chewong", 646718, "mkh-asl", Latn, } m["cwt"] = { "Kuwaataay", 35699, "alv-jol", Latn, } m["cya"] = { "Nopala Chatino", 15616302, "omq-cha", Latn, } m["cyb"] = { "Cayubaba", 3183382, "qfa-iso", Latn, } m["cyo"] = { "Cuyunon", 33153, "phi", Latn, } m["czh"] = { "Huizhou", 56546, "zhx", {"Hani"}, -- ? ancestors = {"ltc"}, } m["czk"] = { "Knaanic", 56384, "zlw", {"Hebr"}, ancestors = {"zlw-ocs"}, } m["czn"] = { "Zenzontepec Chatino", 603106, "omq-cha", Latn, } m["czo"] = { "Min Zhong", 56435, "zhx-min-shn", {"Hani"}, } m["czt"] = { "Zotung Chin", 8074599, "tbq-kuk", Latn, } return m fpdf2u73ixus7qpw0rqx1v5vn2pameu Module:languages/data3/k 828 3093 8483 2022-10-04T03:45:21Z Rebel Agent 2678 Ke dirile module 8483 Scribunto text/plain local u = mw.ustring.char -- UTF-8 encoded strings for some commonly used diacritics local GRAVE = u(0x0300) local ACUTE = u(0x0301) local CIRC = u(0x0302) local TILDE = u(0x0303) local MACRON = u(0x0304) local BREVE = u(0x0306) local DOTABOVE = u(0x0307) local DIAER = u(0x0308) local CARON = u(0x030C) local DGRAVE = u(0x030F) local INVBREVE = u(0x0311) local DOTBELOW = u(0x0323) local RINGBELOW = u(0x0325) local CEDILLA = u(0x0327) local Cyrl = {"Cyrl"} local Deva = {"Deva"} local Latn = {"Latn"} local Latinx = {"Latinx"} local m = {} m["kaa"] = { "Karakalpak", 33541, "trk-kno", {"Latn", "Cyrl"}, dotted_dotless_i = true, } m["kab"] = { "Kabyle", 35853, "ber", Latn, } m["kac"] = { "Jingpho", 33332, "sit-jnp", {"Latn", "Mymr"}, } m["kad"] = { "Kadara", 3914011, "nic-plc", Latn, } m["kae"] = { "Ketangalan", 2779411, "map", } m["kaf"] = { "Katso", 246122, "tbq-lol", } m["kag"] = { "Kajaman", 6348863, "poz", Latn, } m["kah"] = { "Fer", 5443742, "csu-bgr", Latn, } m["kai"] = { "Karekare", 3438770, "cdc-wst", Latn, } m["kaj"] = { "Jju", 35401, "nic-plc", Latn, } m["kak"] = { "Kayapa Kallahan", 3192220, "phi", Latn, } m["kam"] = { "Kamba", 2574767, "bnt-kka", Latn, } m["kao"] = { "Kassonke", 36905, "dmn-wmn", Latn, } m["kap"] = { "Bezhta", 33054, "cau-tsz", Cyrl, translit_module = "kap-translit", } m["kaq"] = { "Capanahua", 2937196, "sai-pan", Latn, } m["kaw"] = { "Old Javanese", 49341, "poz-sus", {"Latn", "Java"}, translit_module = "jv-translit", --same as jv } m["kax"] = { "Kao", 3192799, "paa-nha" } m["kay"] = { "Kamayurá", 3192336, "tup-gua", Latn, } m["kba"] = { "Kalarko", 5517764, "aus-pam", Latn, } m["kbb"] = { "Kaxuyana", 12953626, "sai-prk", Latn, } m["kbc"] = { "Kadiwéu", 18168288, "sai-guc", Latn, } m["kbd"] = { "Kabardian", 33522, "cau-cir", Cyrl, translit_module = "kbd-translit", override_translit = true, } m["kbe"] = { "Kanju", 10543322, "aus-pam", Latn, } m["kbh"] = { "Camsá", 2842667, "qfa-iso", Latn, } m["kbi"] = { "Kaptiau", 6367294, "poz-oce", Latn, } m["kbj"] = { "Kari", 6370438, "bnt-boa", Latn, } m["kbk"] = { "Grass Koiari", 12952642, "ngf", Latn, } m["kbm"] = { "Iwal", 3156391, "poz-ocw", Latn, } m["kbn"] = { "Kare (Africa)", 35554, "alv-mbm", Latn, } m["kbo"] = { "Keliko", 11275553, "csu-mma", } m["kbp"] = { "Kabiyé", 35475, "nic-gne", Latn, } m["kbq"] = { "Kamano", 11732272, "paa-kag", Latn, } m["kbr"] = { "Kafa", 35481, "omv-gon", {"Ethi", "Latn"}, } m["kbs"] = { "Kande", 35556, "bnt-tso", Latn, } m["kbt"] = { "Gabadi", 3291159, "poz-ocw", Latn, } m["kbu"] = { "Kabutra", 10966761, "inc-wes", ancestors = {"raj"}, } m["kbv"] = { "Kamberataro", 5261289, "paa", Latn, } m["kbw"] = { "Kaiep", 6347632, "poz-ocw", Latn, } m["kbx"] = { "Ap Ma", 56298, "paa-ram", } m["kbz"] = { "Duhwa", 56295, "cdc-wst", Latn, } m["kca"] = { "Khanty", 33563, "urj-ugr", Cyrl, translit_module = "kca-translit", override_translit = true, } m["kcb"] = { "Kawacha", 11732302, "ngf", } m["kcc"] = { "Lubila", 3914381, "nic-uce", Latn, } m["kcd"] = { "Ngkâlmpw Kanum", 12952566, "paa-yam", } m["kce"] = { "Kaivi", 6348685, "nic-kau", } m["kcf"] = { "Ukaan", 36651, "nic-bco", } m["kcg"] = { "Tyap", 3912765, "nic-plc", } m["kch"] = { "Vono", 3913920, "nic-kau", } m["kci"] = { "Kamantan", 3914019, "nic-plc", } m["kcj"] = { "Kobiana", 35609, "alv-nyn", } m["kck"] = { "Kalanga", 33672, "bnt-sho", Latn, } m["kcl"] = { "Kala", 6349982, "poz-ocw", Latn, } m["kcm"] = { "Tar Gula", 277963, "csu-bba", } m["kcn"] = { "Nubi", 36388, "crp", {"Latn", "Arab"}, ancestors = {"apd"}, entry_name = { from = {'Á', 'á', 'É', 'é', 'Í', 'í', 'Ó', 'ó', 'Ú', 'ú'}, to = {'A', 'a', 'E', 'e', 'I', 'i', 'O', 'o', 'U', 'u'}}, } m["kco"] = { "Kinalakna", 11732320, "ngf", } m["kcp"] = { "Kanga", 6362384, "qfa-kad", Latn, } m["kcq"] = { "Kamo", 3914879, "alv-wjk", } m["kcr"] = { "Katla", 35688, "nic-ktl", } m["kcs"] = { "Koenoem", 3438755, "cdc-wst", } m["kct"] = { "Kaian", 6347538, "paa-ram", } m["kcu"] = { "Kikami", 3915212, "bnt-ruv", Latn, } m["kcv"] = { "Kete", 3195598, "bnt-lub", } m["kcw"] = { "Kabwari", 6344539, "bnt-glb", } m["kcx"] = { "Kachama-Ganjule", 12634070, "omv-eom", } m["kcy"] = { "Korandje", 33427, "son", } m["kcz"] = { "Konongo", 11732345, "bnt-tkm", Latn, } m["kda"] = { "Worimi", 3914062, "aus-pam", Latn, } m["kdc"] = { "Kutu", 6448634, "bnt-ruv", } m["kdd"] = { "Yankunytjatjara", 34207, "aus-pam", Latn, } m["kde"] = { "Makonde", 35172, "bnt-rvm", Latn, } m["kdf"] = { "Mamusi", 6746036, "poz-ocw", Latn, } m["kdg"] = { "Seba", 7442316, "bnt-sbi", Latn, } m["kdh"] = { "Tem", 36531, "nic-gne", } m["kdi"] = { "Kumam", 6443410, "sdv-los", } m["kdj"] = { "Karamojong", 56326, "sdv-ttu", Latn, } m["kdk"] = { "Numee", 3346774, "poz-cln", } m["kdl"] = { "Tsikimba", 3914404, "nic-kam", } m["kdm"] = { "Kagoma", 3914420, "nic-plc", } m["kdn"] = { "Kunda", 4121130, "bnt-sna", } m["kdp"] = { "Kaningdon-Nindem", 3914956, "nic-nin", } m["kdq"] = { "Koch", 56431, "tbq-bdg", } m["kdr"] = { "Karaim", 33725, "trk-kcu", {"Cyrl", "Latn", "Hebr"}, } m["kdt"] = { "Kuy", 56310, "mkh-kat", } m["kdu"] = { "Kadaru", 35441, "nub-hil", Latn, } m["kdv"] = { "Kado", 7402721, "sit-luu", } m["kdw"] = { "Koneraw", 11732341, "ngf", } m["kdx"] = { "Kam", 36753, "alv-wjk", } m["kdy"] = { "Keder", 6383641, "paa-tkw", } m["kdz"] = { "Kwaja", 11128866, "nic-nka", Latn, } m["kea"] = { "Kabuverdianu", 35963, "crp", Latn, ancestors = {"pt"}, } m["keb"] = { "Kélé", 35559, "bnt-kel", } m["kec"] = { "Keiga", 3409311, "qfa-kad", Latn, } m["ked"] = { "Kerewe", 6393846, "bnt-haj", } m["kee"] = { "Eastern Keres", 15649021, "nai-ker", Latn, } m["kef"] = { "Kpessi", 35748, "alv-gbe", } m["keg"] = { "Tese", 16887296, "sdv", } m["keh"] = { "Keak", 6382110, "paa-spk", } m["kei"] = { "Kei", 2410352, } m["kej"] = { "Kadar", 6345179, "dra", } m["kek"] = { "Q'eqchi", 35536, "myn", Latn, } m["kel"] = { "Kela-Yela", 6385426, "bnt-mon", Latn, } m["kem"] = { "Kemak", 35549, "poz-tim", } m["ken"] = { "Kenyang", 35650, "nic-mam", Latn, } m["keo"] = { "Kakwa", 3033547, "sdv-bri", } m["kep"] = { "Kaikadi", 6347757, "dra", } m["keq"] = { "Kamar", 14916877, "inc-eas", ancestors = {"inc-mgd"}, } m["ker"] = { "Kera", 56251, "cdc-est", Latn, } m["kes"] = { "Kugbo", 3813394, "nic-cde", Latn, } m["ket"] = { "Ket", 33485, "qfa-yen", Cyrl, } m["keu"] = { "Akebu", 35026, "alv-ktg", } m["kev"] = { "Kanikkaran", 6363201, "dra", } m["kew"] = { "Kewa", 12952619, "paa-eng", Latn, } m["kex"] = { "Kukna", 5031131, "inc-eas", ancestors = {"bh"}, } m["key"] = { "Kupia", 6445354, "inc-eas", } m["kez"] = { "Kukele", 3915391, "nic-ucn", Latn, } m["kfa"] = { "Kodava", 33531, "dra", {"Knda"}, } m["kfb"] = { "Kolami", 33479, "dra", Deva, } m["kfc"] = { "Konda-Dora", 35679, "dra", {"Telu"}, } m["kfd"] = { "Korra Koraga", 12952655, "dra", {"Knda"}, } m["kfe"] = { "Kota (India)", 33483, "dra", {"Taml"}, } m["kff"] = { "Koya", 33471, "dra", } m["kfg"] = { "Kudiya", 12952667, "dra", } m["kfh"] = { "Kurichiya", 12952676, "dra", } m["kfi"] = { "Kannada Kurumba", 56589, "dra", } m["kfj"] = { "Kemiehua", 27144776, "mkh-pal", } m["kfk"] = { "Kinnauri", 2383208, "sit-kin", } m["kfl"] = { "Kung", 6444510, "nic-rnc", Latn, } m["kfn"] = { "Kuk", 6442398, "nic-rnc", Latn, } m["kfo"] = { "Koro (West Africa)", 11160588, "dmn-mnk", {"Latn", "Nkoo"}, } m["kfp"] = { "Korwa", 6432786, "mun", } m["kfq"] = { "Korku", 33715, "mun", } m["kfr"] = { "Kachchi", 56487, "inc-snd", {"Gujr", "sd-Arab"}, translit_module = "gu-translit", ancestors = {"inc-vra"}, } m["kfs"] = { "Bilaspuri", 12953397, "him", {"Deva", "Takr"}, translit_module = "hi-translit", } m["kft"] = { "Kanjari", 12953610, "inc-pan", ancestors = {"pa"}, } m["kfu"] = { "Katkari", 6377671, "inc-sou", ancestors = {"pmh"}, } m["kfv"] = { "Kurmukar", 6446193, "inc-eas", ancestors = {"inc-mgd"}, } m["kfw"] = { "Kharam Naga", 12952906, "tbq-kuk", } m["kfx"] = { "Kullu Pahari", 6443148, "him", Deva, translit_module = "hi-translit", } m["kfy"] = { "Kumaoni", 33529, "inc-pah", {"Deva", "Shrd", "Takr"}, } m["kfz"] = { "Koromfé", 35701, "nic-gur", Latn, } m["kga"] = { "Koyaga", 11155632, "dmn-mnk", } m["kgb"] = { "Kawe", 12952750, "poz-hce", } m["kgd"] = { "Kataang", 12953622, "mkh", } m["kge"] = { "Komering", 49224, "poz-lgx", } m["kgf"] = { "Kube", 11732359, "ngf", } m["kgg"] = { "Kusunda", 33630, "qfa-iso", Latn, } m["kgi"] = { "Selangor Sign Language", 33731, "sgn", } m["kgj"] = { "Gamale Kham", 22236996, "sit-kha", } m["kgk"] = { "Kaiwá", 3111883, "tup-gua", Latn, } m["kgl"] = { "Kunggari", 10550184, "aus-pam", } m["kgm"] = { "Karipúna", 6371069, } m["kgn"] = { "Karingani", 6371041, "xme-ttc", ancestors = {"xme-ttc-nor"}, } m["kgo"] = { "Krongo", 6438927, "qfa-kad", Latn, } m["kgp"] = { "Kaingang", 2665734, "sai-sje", Latn, } m["kgq"] = { "Kamoro", 6359001, "ngf", } m["kgr"] = { "Abun", 56657, "paa", } m["kgs"] = { "Kumbainggar", 3915412, "aus-pam", } m["kgt"] = { "Somyev", 3913354, "nic-mmb", Latn, } m["kgu"] = { "Kobol", 11732325, "ngf-mad", } m["kgv"] = { "Karas", 6368621, "ngf", } m["kgw"] = { "Karon Dori", 56817, } m["kgx"] = { "Kamaru", 12953604, "poz", } m["kgy"] = { "Kyerung", 12952691, "sit-kyk", } m["kha"] = { "Khasi", 33584, "aav-pkl", {"Latn", "as-Beng"}, } m["khb"] = { "Lü", 36948, "tai-swe", {"Talu", "Lana"}, translit_module = "translit-redirect", sort_key = { from = {"[%pᪧ]", "᧞", "᧟", "([ᦵᦶᦷᦺ])([ᦀ-ᦫ])", "[᩠ᩳ-᩿]", "ᩔ", "ᩕ", "ᩖ", "ᩘ", "([ᨭ-ᨱ])ᩛ", "([ᨷ-ᨾ])ᩛ", "ᩤ", u(0x200C)}, to = {"", "ᦶᦜ", "ᦶᦜᧁ", "%2%1", "", "ᩈᩈ", "ᩁ", "ᩃ", "ᨦ", "%1ᨮ", "%1ᨻ", "ᩣ"}}, entry_name = { from = {" ", u(0x200C)}, to = {}}, } m["khc"] = { "Tukang Besi North", 18611555, "poz", } m["khd"] = { "Bädi Kanum", 20888004, "paa-yam", } m["khe"] = { "Korowai", 6432598, "ngf", } m["khf"] = { "Khuen", 27144893, "mkh", } m["khh"] = { "Kehu", 10994953, } m["khj"] = { "Kuturmi", 3914490, "nic-plc", Latn, } m["khl"] = { "Lusi", 3267788, "poz-ocw", Latn, } m["khn"] = { "Khandeshi", 33726, "inc-sou", ancestors = {"pmh"}, } m["kho"] = { "Khotanese", 6583551, "xsc-sak", {"Brah", "Khar"}, translit_module = "Brah-translit", } m["khp"] = { "Kapauri", 3502575, "paa-tkw", } m["khq"] = { "Koyra Chiini", 33600, "son", } m["khr"] = { "Kharia", 3915562, "mun", } m["khs"] = { "Kasua", 6374863, "ngf", } m["kht"] = { "Khamti", 3915502, "tai-swe", {"Mymr"}, entry_name = { from = {u(0xFE00)}, --VS01 to = {""}}, } m["khu"] = { "Nkhumbi", 11019169, "bnt-swb", } m["khv"] = { "Khvarshi", 56425, "cau-tsz", Cyrl, translit_module = "khv-translit", } m["khw"] = { "Khowar", 938216, "inc-dar", {"Arab"}, } m["khx"] = { "Kanu", 12952571, "bnt-lgb", } m["khy"] = { "Ekele", 6385549, "bnt-ske", Latn, } m["khz"] = { "Keapara", 12952603, "poz-ocw", Latn, } m["kia"] = { "Kim", 35685, "alv-kim", } m["kib"] = { "Koalib", 35859, "alv-hei", } m["kic"] = { "Kickapoo", 20162127, "alg-sfk", Latn, } m["kid"] = { "Koshin", 35632, "nic-beb", Latn, } m["kie"] = { "Kibet", 56893, } m["kif"] = { "Eastern Parbate Kham", 12953022, "sit-kha", } m["kig"] = { "Kimaama", 11732321, "ngf", } m["kih"] = { "Kilmeri", 6408020, "paa-brd", } m["kii"] = { "Kitsai", 56627, "cdd", Latn, } m["kij"] = { "Kilivila", 3196601, "poz-ocw", Latn, } m["kil"] = { "Kariya", 3438708, "cdc-wst", } m["kim"] = { "Tofa", 36848, "trk-sib", Cyrl, } m["kio"] = { "Kiowa", 56631, "nai-kta", Latn, } m["kip"] = { "Sheshi Kham", 12952622, "sit-kha", } m["kiq"] = { "Kosadle", 6432994, } m["kis"] = { "Kis", 6416362, "poz-ocw", Latn, } m["kit"] = { "Agob", 3332143, } m["kiv"] = { "Kimbu", 10997740, "bnt-tkm", } m["kiw"] = { "Northeast Kiwai", 11732324, "paa-kiw", } m["kix"] = { "Khiamniungan Naga", 6401546, "sit-kch", Latn, } m["kiy"] = { "Kirikiri", 6415159, "paa-lkp", } m["kiz"] = { "Kisi", 3912772, "bnt-bki", } m["kja"] = { "Mlap", 6885683, "paa-nim", } m["kjb"] = { "Q'anjob'al", 35551, "myn", Latn, } m["kjc"] = { "Coastal Konjo", 3198689, "poz", } m["kjd"] = { "Southern Kiwai", 11732322, "paa-kiw", } m["kje"] = { "Kisar", 3197441, "poz", } m["kjg"] = { "Khmu", 33335, "mkh", {"Laoo"}, sort_key = { from = {"[%pໆ]", "[່-ໍ]", "ຼ", "ຽ", "ໜ", "ໝ", "([ເແໂໃໄ])([ກ-ຮໞໟ])"}, to = {"", "", "ລ~", "ຍ~", "ຫນ", "ຫມ", "%2%1"}}, } m["kjh"] = { "Khakas", 33575, "trk-sib", Cyrl, translit_module = "kjh-translit", override_translit = true, } m["kji"] = { "Zabana", 379130, "poz-ocw", Latn, } m["kjj"] = { "Khinalug", 35278, "cau-nec", Cyrl, translit_module = "kjj-translit", override_translit = true, entry_name = { from = {ACUTE}, to = {}}, } m["kjk"] = { "Highland Konjo", 3198688, "poz", } m["kjl"] = { "Kham", 22237017, "sit-kha", } m["kjm"] = { "Kháng", 6403501, "mkh-pal", } m["kjn"] = { "Kunjen", 3200468, "aus-pmn", Latn, } m["kjo"] = { "Harijan Kinnauri", 5657463, "him", } m["kjp"] = { "Eastern Pwo", 5330390, "kar", {"Mymr", "Leke", "Thai"}, } m["kjq"] = { "Western Keres", 12645568, "nai-ker", Latn, } m["kjr"] = { "Kurudu", 12952678, "poz-hce", Latn, } m["kjs"] = { "East Kewa", 20050949, "paa-eng", } m["kjt"] = { "Phrae Pwo", 7187991, "kar", {"Thai"}, } m["kju"] = { "Kashaya", 3193689, "nai-pom", Latn, } m["kjx"] = { "Ramopa", 56830, "paa-nbo", } m["kjy"] = { "Erave", 12952416, "paa-eng", } m["kjz"] = { "Bumthangkha", 2786408, "sit-ebo", {"Tibt"}, } m["kka"] = { "Kakanda", 3915342, "alv-ngb", } m["kkb"] = { "Kwerisa", 56881, "paa-lkp", } m["kkc"] = { "Odoodee", 12952987, } m["kkd"] = { "Kinuku", 6414422, "nic-kau", } m["kke"] = { "Kakabe", 3913966, "dmn-mok", Latn, } m["kkf"] = { "Kalaktang Monpa", nil, "sit-tsk", } m["kkg"] = { "Mabaka Valley Kalinga", 18753304, "phi", } m["kkh"] = { "Khün", 3545044, "tai-swe", {"Lana", "Thai"}, sort_key = { from = {"[%pᪧๆ]", "[᩠ᩳ-᩿]", "ᩔ", "ᩕ", "ᩖ", "ᩘ", "([ᨭ-ᨱ])ᩛ", "([ᨷ-ᨾ])ᩛ", "ᩤ", "[็-๎]", "([เแโใไ])([ก-ฮ])"}, to = {"", "", "ᩈᩈ", "ᩁ", "ᩃ", "ᨦ", "%1ᨮ", "%1ᨻ", "ᩣ", "", "%2%1"}}, } m["kki"] = { "Kagulu", 12952537, "bnt-ruv", Latn, } m["kkj"] = { "Kako", 35755, "bnt-kak", } m["kkk"] = { "Kokota", 3198399, "poz-ocw", Latn, } m["kkl"] = { "Kosarek Yale", 6432995, "ngf", } m["kkm"] = { "Kiong", 6414512, "nic-ucr", Latn, } m["kkn"] = { "Kon Keu", 6428686, "mkh-pal", } m["kko"] = { "Karko", 35529, "nub-hil", } m["kkp"] = { "Koko-Bera", 6426699, "aus-pmn", Latn, } m["kkq"] = { "Kaiku", 6347840, "bnt-kbi", Latn, } m["kkr"] = { "Kir-Balar", 3440527, "cdc-wst", Latn, } m["kks"] = { "Kirfi", 56242, "cdc-wst", Latn, } m["kkt"] = { "Koi", 6426194, "sit-kiw", } m["kku"] = { "Tumi", 3913934, "nic-kau", } m["kkv"] = { "Kangean", 2071325, "poz-msa", Latn, } m["kkw"] = { "Teke-Kukuya", 36560, "bnt-tek", } m["kkx"] = { "Kohin", 6425997, "poz-brw", } m["kky"] = { "Guugu Yimidhirr", 56543, "aus-pam", Latn, } m["kkz"] = { "Kaska", 20823, "ath-nor", Latn, } m["kla"] = { "Klamath-Modoc", 2669248, "nai-plp", Latn, } m["klb"] = { "Kiliwa", 3182593, "nai-yuc", Latn, } m["klc"] = { "Kolbila", 6427122, "alv-lek", } m["kld"] = { "Gamilaraay", 3111818, "aus-cww", Latn, } m["kle"] = { "Kulung", 6443304, "sit-kic", } m["klf"] = { "Kendeje", 56895, } m["klg"] = { "Tagakaulu Kalagan", 18756514, "phi", } m["klh"] = { "Weliki", 7981017, "ngf-fin", Latn, } m["kli"] = { "Kalumpang", 13561407, "poz", } m["klj"] = { "Khalaj", 33455, "trk", } m["klk"] = { "Kono (Nigeria)", 6429589, "nic-kau", Latn, } m["kll"] = { "Kagan Kalagan", 18748913, "phi", } m["klm"] = { "Kolom", 6844970, "ngf-mad", Latn, } m["kln"] = { "Kalenjin", 637228, "sdv-nma", Latn, } m["klo"] = { "Kapya", 6367410, "nic-ykb", } m["klp"] = { "Kamasa", 6356107, "ngf", } m["klq"] = { "Rumu", 7379420, "ngf", } m["klr"] = { "Khaling", 56381, "sit-kiw", } m["kls"] = { "Kalasha", 33416, "inc-dar", {"Latn", "ks-Arab"}, } m["klt"] = { "Nukna", 7068874, "ngf-fin", Latn, } m["klu"] = { "Klao", 3914866, "kro-wkr", } m["klv"] = { "Maskelynes", 3297282, "poz-vnc", Latn, } m["klw"] = { "Lindu", 18390055, "poz-kal", } m["klx"] = { "Koluwawa", 6427954, "poz-ocw", Latn, } m["kly"] = { "Kalao", 6350643, "poz", } m["klz"] = { "Kabola", 11732258, "qfa-tap", } m["kma"] = { "Konni", 35680, "nic-buk", } m["kmb"] = { "Kimbundu", 35891, "bnt-kmb", Latn, } m["kmc"] = { "Southern Kam", 35379, "qfa-kms", Latn, } m["kmd"] = { "Madukayang Kalinga", 18753305, "phi", } m["kme"] = { "Bakole", 35068, "bnt-kpw", } m["kmf"] = { "Kare (New Guinea)", 11732286, "ngf-mad", Latn, } m["kmg"] = { "Kâte", 3201059, "ngf", } m["kmh"] = { "Kalam", 12952550, "ngf-mad", } m["kmi"] = { "Kami", 3915372, "alv-ngb", Latn, } m["kmj"] = { "Kumarbhag Paharia", 3130374, "dra", {"Beng", "Deva"}, } m["kmk"] = { "Limos Kalinga", 18753303, "phi", } m["kml"] = { "Tanudan Kalinga", 18753307, "phi", Latn, } m["kmm"] = { "Kom (India)", 12952647, "tbq-kuk", } m["kmn"] = { "Awtuw", 3504217, "paa-spk", } m["kmo"] = { "Kwoma", 11732376, "paa-spk", } m["kmp"] = { "Gimme", 11152236, "alv-dur", } m["kmq"] = { "Kwama", 2591184, "ssa-kom", } m["kmr"] = { "Northern Kurdish", 36163, "ku", {"Latn", "Cyrl", "Armn", "ku-Arab"}, translit_module = "translit-redirect", entry_name = { from = {"'"}, to = {"’"}}, wikimedia_codes = {"ku"}, ancestors = {"ku-pro"}, } m["kms"] = { "Kamasau", 6356117, "qfa-tor", Latn, } m["kmt"] = { "Kemtuik", 6387179, "paa-nim", } m["kmu"] = { "Kanite", 12952567, "paa-kag", } m["kmv"] = { "Karipúna Creole French", 2523999, "crp", ancestors = {"fr"}, } m["kmw"] = { "Kumu", 6428450, "bnt-kbi", Latn, } m["kmx"] = { "Waboda", 7958705, "paa-kiw", } m["kmy"] = { "Koma", 35634, "alv-dur", } m["kmz"] = { "Khorasani Turkish", 35373, "trk-ogz", ancestors = {"trk-oat"}, } m["kna"] = { "Kanakuru", 56811, "cdc-wst", Latn, } m["knb"] = { "Lubuagan Kalinga", 12953602, "phi", } m["knd"] = { "Konda", 11732340, "ngf-sbh", Latn, } m["kne"] = { "Kankanaey", 18753329, "phi", Latn, } m["knf"] = { "Mankanya", 35789, "alv-pap", } m["kni"] = { "Kanufi", 3913297, "nic-nin", Latn, } m["knj"] = { "Akatek", 34923, "myn", Latn, } m["knk"] = { "Kuranko", 3198896, "dmn-mok", Latn, } m["knl"] = { "Keninjal", 6389309, "poz-mly", } m["knm"] = { -- two unrelated lects have this name; this is the Katukinian one "Kanamari", 3438373, "sai-ktk", Latn, } m["kno"] = { "Kono (Sierra Leone)", 35675, "dmn-vak", } m["knp"] = { "Kwanja", 35641, "nic-mmb", Latn, } m["knq"] = { "Kintaq", 6414335, "mkh-asl", } m["knr"] = { "Kaningra", 6363253, "paa-spk", } m["kns"] = { "Kensiu", 6391529, "mkh-asl", } m["knt"] = { "Katukina", 3194265, "sai-pan", Latn, } m["knu"] = { -- a dialect of 'kpe' "Kono (Guinea)", 3198703, "dmn-msw", Latn, ancestors = {"kpe"}, } m["knv"] = { "Tabo", 7959888, "aav", } m["knx"] = { "Kendayan", 6388963, "poz-mly", Latn, } m["kny"] = { "Kanyok", 11110766, "bnt-lub", } m["knz"] = { "Kalamsé", 3914000, "nic-gnn", } m["koa"] = { "Konomala", 3198732, "poz-ocw", Latn, } m["koc"] = { "Kpati", 3913279, "nic-nge", Latn, } m["kod"] = { "Kodi", 4577633, } m["koe"] = { "Kacipo-Balesi", 5364424, "sdv", } m["kof"] = { "Kubi", 3438718, "cdc-wst", Latn, } m["kog"] = { "Cogui", 3198286, "cba", } m["koh"] = { "Koyo", 35649, "bnt-mbo", Latn, } m["koi"] = { "Komi-Permyak", 56318, "urj-prm", {"Cyrl", "Perm"}, translit_module = "kv-translit", entry_name = {remove_diacritics = ACUTE}, override_translit = true, } m["kok"] = { "Konkani", 34239, "inc-sou", {"Deva", "Knda", "Mlym", "fa-Arab", "Latn"}, ancestors = {"pmh"}, translit_module = "mr-translit", entry_name = { from = {"च़", "ज़", "झ़", "ಚ಼", "ಜ಼", "ಝ಼"}, to = {"च", "ज", "झ", "ಚ", "ಜ", "ಝ"}} , } m["kol"] = { "Kol (New Guinea)", 4227542, } m["koo"] = { "Konzo", 2361829, "bnt-glb", } m["kop"] = { "Waube", 11732373, "ngf-mad", } m["koq"] = { "Kota (Gabon)", 35607, "bnt-kel", Latn, } m["kos"] = { "Kosraean", 33464, "poz-mic", Latn, } m["kot"] = { "Lagwan", 3502264, "cdc-cbm", Latn, } m["kou"] = { "Koke", 797249, "alv-bua", } m["kov"] = { "Kudu-Camo", 3915850, "nic-jer", } m["kow"] = { "Kugama", 3913307, "alv-mye", } m["koy"] = { "Koyukon", 28304, "ath-nor", Latn, } m["koz"] = { "Korak", 6431365, "ngf-mad", } m["kpa"] = { "Kutto", 3437656, "cdc-wst", } m["kpb"] = { "Mullu Kurumba", 19573111, "dra", } m["kpc"] = { "Curripaco", 2882543, "awd-nwk", Latn, } m["kpd"] = { "Koba", 6424249, "poz", } m["kpe"] = { "Kpelle", 35673, "dmn-msw", Latn, } m["kpf"] = { "Komba", 6428239, "ngf", } m["kpg"] = { "Kapingamarangi", 35771, "poz-pnp", Latn, } m["kph"] = { "Kplang", 35628, "alv-gng", } m["kpi"] = { "Kofei", 6425665, "paa-egb", } m["kpj"] = { "Karajá", 10322066, "sai-mje", Latn, } m["kpk"] = { "Kpan", 3915380, "nic-jkn", Latn, } m["kpl"] = { "Kpala", 11154769, "nic-nkk", Latn, } m["kpm"] = { "Koho", 3511919, "mkh-ban", Latn, } m["kpn"] = { "Kepkiriwát", 3195366, "tup", Latn, } m["kpo"] = { "Ikposo", 35029, "alv-ktg", Latn, } m["kpp"] = { "Paku Karen", nil, } m["kpq"] = { "Korupun-Sela", 6432769, "ngf", } m["kpr"] = { "Korafe-Yegha", 11732347, "ngf", } m["kps"] = { "Tehit", 7694851, } m["kpt"] = { "Karata", 56636, "cau-ava", Cyrl, } m["kpu"] = { "Kafoa", 6346151, "qfa-tap", } m["kpv"] = { "Komi-Zyrian", 34114, "urj-prm", Cyrl, translit_module = "kv-translit", override_translit = true, wikimedia_codes = {"kv"}, } m["kpw"] = { "Kobon", 11732326, "ngf-mad", } m["kpx"] = { "Mountain Koiari", 6925030, "ngf", } m["kpy"] = { "Koryak", 36199, "qfa-cka", Cyrl, } m["kpz"] = { "Kupsabiny", 56445, "sdv-kln", } m["kqa"] = { "Mum", 6935252, "ngf-mad", } m["kqb"] = { "Kovai", 6434822, "ngf", } m["kqc"] = { "Doromu-Koki", 5298175, "ngf", } m["kqd"] = { "Koy Sanjaq Surat", 33463, "sem-nna", } m["kqe"] = { "Kalagan", 18748906, "phi", } m["kqf"] = { "Kakabai", 6349119, "poz-ocw", Latn, } m["kqg"] = { "Khe", 3914015, "nic-gur", } m["kqh"] = { "Kisankasa", 6416409, "sdv", } m["kqi"] = { "Koitabu", 6426363, "ngf", } m["kqj"] = { "Koromira", 6432520, "paa-sbo", } m["kqk"] = { "Kotafon Gbe", 12952447, "alv-pph", } m["kql"] = { "Kyenele", 11732453, "paa-yua", } m["kqm"] = { "Khisa", 3913955, "nic-gur", } m["kqn"] = { "Kaonde", 33601, "bnt-lub", Latn, } m["kqo"] = { "Eastern Krahn", 3915374, "kro-wee", } m["kqp"] = { "Kimré", 3441210, "cdc-est", } m["kqq"] = { "Krenak", 6436747, "sai-cer", } m["kqr"] = { "Kimaragang", 3196845, "poz-san", Latn, } m["kqs"] = { "Northern Kissi", 19921576, "alv-kis", } m["kqt"] = { "Klias River Kadazan", 12953594, "poz-san", } m["kqu"] = { "Seroa", 33127766, "khi-tuu", } m["kqv"] = { "Okolod", 7082487, "poz-san", } m["kqw"] = { "Kandas", 3192590, "poz-ocw", Latn, } m["kqx"] = { "Mser", 3502347, "cdc-cbm", } m["kqy"] = { "Koorete", 6430753, "omv-eom", } m["kqz"] = { "Korana", 2756709, "khi-khk", Latinx, } m["kra"] = { "Kumhali", 13580783, "inc-eas", ancestors = {"bh"}, } m["krb"] = { "Karkin", 3193345, "nai-you", Latn, } m["krc"] = { "Karachay-Balkar", 33714, "trk-kcu", Cyrl, translit_module = "krc-translit", } m["krd"] = { "Kairui-Midiki", 12953277, "poz-tim", } m["kre"] = { "Panará", 3361895, "sai-cer", } m["krf"] = { "Koro (Vanuatu)", 3198995, "poz-oce", Latn, } m["krh"] = { "Kurama", 35593, "nic-kau", } m["kri"] = { "Krio", 35744, "crp", Latn, ancestors = {"en"}, } m["krj"] = { "Kinaray-a", 33720, "phi", Latn, } m["krk"] = { "Kerek", 332792, "qfa-cka", Cyrl, } m["krl"] = { "Karelian", 33557, "fiu-fin", Latn, } m["krm"] = { "Krim", 35713, "alv", } m["krn"] = { "Sapo", 3915386, "kro-wee", } m["krp"] = { "Korop", 35626, "nic-ucr", Latn, } m["krr"] = { "Kru'ng", 12953650, "mkh-ban", } m["krs"] = { "Kresh", 56674, "csu-bkr", } m["kru"] = { "Kurukh", 33492, "dra", Deva, } m["krv"] = { "Kavet", 12953649, "sai-ktk", Latn, } m["krw"] = { "Western Krahn", 10975611, "kro-wee", } m["krx"] = { "Karon", 35704, "alv-jol", } m["kry"] = { "Kryts", 35861, "cau-lzg", {"Latn", "Cyrl"}, } m["krz"] = { "Sota Kanum", 12952568, "paa-yam", } m["ksa"] = { "Shuwa-Zamani", 3913929, "nic-kau", } m["ksb"] = { "Shambala", 3788739, "bnt-seu", Latn, } m["ksc"] = { "Southern Kalinga", 18753301, "phi", } m["ksd"] = { "Tolai", 35870, "poz-ocw", Latn, } m["kse"] = { "Kuni", 6444619, "poz-ocw", Latn, } m["ksf"] = { "Bafia", 34930, "bnt-baf", } m["ksg"] = { "Kusaghe", 3200638, "poz-ocw", Latn, } m["ksi"] = { "Krisa", 841704, "paa-msk", Latn, } m["ksj"] = { "Uare", 6450052, "ngf", } m["ksk"] = { "Kansa", 3192772, "sio-dhe", } m["ksl"] = { "Kumalu", 17584381, "poz-ocw", Latn, } m["ksm"] = { "Kumba", 3913972, "alv-mye", } m["ksn"] = { "Kasiguranin", 6374525, "phi", } m["kso"] = { "Kofa", 56278, "cdc-cbm", } m["ksp"] = { "Kaba", 3915316, "csu-sar", } m["ksq"] = { "Kwaami", 3440525, "cdc-wst", } m["ksr"] = { "Borong", 4946263, "ngf", } m["kss"] = { "Southern Kissi", 11028974, "alv-kis", } m["kst"] = { "Winyé", 3913360, "nic-gnw", } m["ksu"] = { "Khamyang", 6583541, "tai-swe", } m["ksv"] = { "Kusu", 6448199, "bnt-tet", } m["ksw"] = { "S'gaw Karen", 56410, "kar", {"Mymr"}, translit_module = "ksw-translit", } m["ksx"] = { "Kedang", 6382520, "poz", Latn, } m["ksy"] = { "Kharia Thar", 6400661, "inc-eas", ancestors = {"inc-mgd"}, } m["ksz"] = { "Kodaku", 21179986, "mun", } m["kta"] = { "Katua", 6378404, "mkh-ban", } m["ktb"] = { "Kambaata", 35664, "cus-hec", Latn, } m["ktc"] = { "Kholok", 3440464, "cdc-wst", } m["ktd"] = { "Kokata", 10547021, "aus-pam", } m["ktf"] = { "Kwami", 12952687, "bnt-lgb", } m["ktg"] = { "Kalkatungu", 3914057, "aus-pam", Latn, } m["kth"] = { "Karanga", 713643, } m["kti"] = { "North Muyu", 20857698, "ngf", Latn, } m["ktj"] = { "Plapo Krumen", 10975356, "kro-grb", } m["ktk"] = { "Kaniet", 3399050, "poz-aay", Latn, } m["ktl"] = { "Koroshi", 3775265, "ira-nwi", ancestors = {"bal"}, } m["ktm"] = { "Kurti", 3200615, "poz-aay", Latn, } m["ktn"] = { "Karitiâna", 3112184, "tup", Latn, } m["kto"] = { "Kuot", 56537, } m["ktp"] = { "Kaduo", 769809, "tbq-lol", } m["ktq"] = { "Katabaga", 3193895, } m["ktr"] = { "Kota Marudu Tinagas", 18642280, } m["kts"] = { "South Muyu", 42308820, "ngf", Latn, } m["ktt"] = { "Ketum", 12952616, "ngf", } m["ktu"] = { "Kituba", 35746, "crp", Latn, ancestors = {"kg"}, } m["ktv"] = { "Eastern Katu", 22808951, "mkh-kat", } m["ktw"] = { "Kato", 20831, "ath-pco", Latn, } m["ktx"] = { "Kaxararí", 6380124, "sai-pan", Latn, } m["kty"] = { "Kango", 6362818, "bnt-bta", Latn, } m["ktz"] = { "Juǀ'hoan", 1192295, "khi-kxa", Latn, } m["kub"] = { "Kutep", 35645, "nic-jkn", } m["kuc"] = { "Kwinsu", 6450460, "paa-tkw", } m["kud"] = { "Auhelawa", 5166, "poz-ocw", Latn, } m["kue"] = { "Kuman", 137525, "ngf", Latn, } m["kuf"] = { "Western Katu", 6378400, "mkh-kat", {"Laoo", "Tale"}, } m["kug"] = { "Kupa", 3915336, "alv-ngb", } m["kuh"] = { "Kushi", 3438747, "cdc-wst", } m["kui"] = { "Kuikúro", 3915522, "sai-kui", Latn, } m["kuj"] = { "Kuria", 6445968, "bnt-lok", Latn, } m["kuk"] = { "Kepo'", 6393217, "poz", } m["kul"] = { "Kulere", 3440506, "cdc-wst", } m["kum"] = { "Kumyk", 36209, "trk-kcu", Cyrl, translit_module = "kum-translit", } m["kun"] = { "Kunama", 36041, } m["kuo"] = { "Kumukio", 11732362, "ngf", } m["kup"] = { "Kunimaipa", 6444696, } m["kuq"] = { "Karipuna", 6371071, "tup-gua", Latn, } m["kus"] = { "Kusaal", 35708, "nic-dag", Latn, } m["kut"] = { "Kutenai", 33434, "qfa-iso", } m["kuu"] = { "Upper Kuskokwim", 28062, "ath-nor", } m["kuv"] = { "Kur", 12635082, "poz-cma", Latn, } m["kuw"] = { "Kpagua", 11137573, "bad-cnt", } m["kux"] = { "Kukatja", 10549839, "aus-pam", } m["kuy"] = { "Kuuku-Ya'u", 10550697, "aus-pmn", } m["kuz"] = { "Kunza", 2669181, "qfa-iso", } m["kva"] = { "Bagvalal", 56638, "cau-ava", } m["kvb"] = { "Kubu", 6441341, "poz-mly", } m["kvc"] = { "Kove", 3199402, "poz-ocw", Latn, } m["kvd"] = { "Kui (Indonesia)", 6442230, "ngf", } m["kve"] = { "Kalabakan", 6350003, "poz-san", } m["kvf"] = { "Kabalai", 3440427, "cdc-est", } m["kvg"] = { "Kuni-Boazi", 2907551, "ngf", } m["kvh"] = { "Komodo", 3198565, "poz-cet", } m["kvi"] = { "Kwang", 3440398, "cdc-est", Latn, } m["kvj"] = { "Psikye", 56304, "cdc-cbm", } m["kvk"] = { "Korean Sign Language", 3073428, "sgn-jsl", } m["kvl"] = { "Brek Karen", 12952577, "kar", } m["kvm"] = { "Kendem", 35751, "nic-mam", Latn, } m["kvn"] = { "Border Kuna", 31777873, "cba", } m["kvo"] = { "Dobel", 5286559, "poz", } m["kvp"] = { "Kompane", 18343041, "poz", } m["kvq"] = { "Geba Karen", 12952581, "kar", } m["kvr"] = { "Kerinci", 3195442, "poz-mly", } m["kvt"] = { "Lahta Karen", 12952582, "kar", } m["kvu"] = { "Yinbaw Karen", 14426328, "kar", } m["kvv"] = { "Kola", 6426967, "poz", } m["kvw"] = { "Wersing", 7983599, "qfa-tap", } m["kvx"] = { "Parkari Koli", 3244176, "inc-wes", } m["kvy"] = { "Yintale Karen", 14426329, "kar", } m["kvz"] = { "Tsakwambo", 7849438, "ngf", } m["kwa"] = { "Dâw", 3042278, "sai-nad", } m["kwb"] = { "Baa", 34842, "alv-ada", } m["kwc"] = { "Likwala", 35597, "bnt-mbo", } m["kwd"] = { "Kwaio", 3200796, "poz-sls", Latn, } m["kwe"] = { "Kwerba", 6450328, "paa-tkw", } m["kwf"] = { "Kwara'ae", 3200829, "poz-oce", } m["kwg"] = { "Sara Kaba Deme", 3915384, "csu-kab", } m["kwh"] = { "Kowiai", 6435028, "poz", } m["kwi"] = { "Awa-Cuaiquer", 2603103, "sai-bar", Latn, } m["kwj"] = { "Kwanga", 3438383, "paa-spk", } m["kwk"] = { "Kwak'wala", 2640628, "wak", Latn, } m["kwl"] = { "Kofyar", 3441382, "cdc-wst", Latn, } m["kwm"] = { "Kwambi", 3487165, "bnt-ova", } m["kwn"] = { "Kwangali", 36334, "bnt-kav", Latn, } m["kwo"] = { "Kwomtari", 3508116, } m["kwp"] = { "Kodia", 3914867, "kro-ekr", } m["kwq"] = { "Kwak", 11014183, "nic-nka", ancestors = {"yam"}, } m["kwr"] = { "Kwer", 12635137, "ngf-okk", } m["kws"] = { "Kwese", 3200846, "bnt-pen", } m["kwt"] = { "Kwesten", 6450354, "paa-tkw", } m["kwu"] = { "Kwakum", 35624, "bnt-kak", } m["kwv"] = { "Sara Kaba Náà", 3915361, "csu-kab", } m["kww"] = { "Kwinti", 721182, } m["kwx"] = { "Khirwar", 12976968, "dra", } m["kwz"] = { "Kwadi", 2364661, "khi-kkw", Latn, } m["kxa"] = { "Kairiru", 3398785, "poz-ocw", Latn, } m["kxb"] = { "Krobu", 35586, "alv-ptn", Latn, } m["kxc"] = { "Khonso", 56624, "cus-eas", } m["kxd"] = { "Brunei Malay", 3182878, "poz-mly", Latn, } m["kxe"] = { "Kakihum", 3914433, "nic-kam", ancestors = {"tvd"}, } m["kxf"] = { "Manumanaw Karen", 12952592, "kar", {"Mymr", "Latn"}, } m["kxh"] = { "Karo", 3447116, "omv-aro", } m["kxi"] = { "Keningau Murut", 6389308, "poz-san", Latn, } m["kxj"] = { "Kulfa", 713654, "csu-kab", } m["kxk"] = { "Zayein Karen", 14352960, "kar", } m["kxl"] = { "Nepali Kurux", 3200624, "dra", Deva, } m["kxm"] = { "Northern Khmer", 3502234, "mkh-kmr", {"Thai", "Khmr"}, ancestors = {"xhm"}, sort_key = { from = {"[%pๆ]", "[็-๎]", "([เแโใไ])([ก-ฮ])"}, to = {"", "", "%2%1"}}, } m["kxn"] = { "Kanowit", 6364300, "poz-bnn", Latn, } m["kxo"] = { "Kanoé", 4356223, "qfa-iso", } m["kxp"] = { "Wadiyara Koli", 12953645, "inc-wes", } m["kxq"] = { "Smärky Kanum", 12952569, "paa-yam", } m["kxr"] = { "Koro (New Guinea)", 3198994, "poz-oce", Latn, } m["kxs"] = { "Kangjia", 3182570, "xgn", } m["kxt"] = { "Koiwat", 6426388, "paa-spk", } m["kxu"] = { "Kui (India)", 33919, "dra", {"Orya"}, } m["kxv"] = { "Kuvi", 3200721, "dra", {"Orya"}, } m["kxw"] = { "Konai", 11732339, } m["kxx"] = { "Likuba", 35646, "bnt-bmo", } m["kxy"] = { "Kayong", 6380673, "mkh", } m["kxz"] = { "Kerewo", 6393847, "paa-kiw", } m["kya"] = { "Kwaya", 6450276, "bnt-haj", Latn, } m["kyb"] = { "Butbut Kalinga", 18753300, "phi", } m["kyc"] = { "Kyaka", 12952690, "paa-eng", } m["kyd"] = { "Karey", 6370196, "poz", } m["kye"] = { "Krache", 35658, "alv-gng", } m["kyf"] = { "Kouya", 35595, "kro-bet", } m["kyg"] = { "Keyagana", 6398208, "paa-kag", } m["kyh"] = { "Karok", 1288440, "qfa-iso", Latn, } m["kyi"] = { "Kiput", 3038653, "poz-swa", Latn, } m["kyj"] = { "Karao", 3192950, "phi", Latn, } m["kyk"] = { "Kamayo", 3192339, "phi", } m["kyl"] = { "Kalapuya", 3192120, "nai-klp", } m["kym"] = { "Kpatili", 3913982, "znd", } m["kyn"] = { "Karolanos", 6373093, "phi", } m["kyo"] = { "Kelon", 6386414, "ngf", } m["kyp"] = { "Kang", 25559558, "tai", } m["kyq"] = { "Kenga", 35707, "csu-bgr", } m["kyr"] = { "Kuruáya", 3200633, "tup", Latn, } m["kys"] = { "Baram Kayan", 2883794, "poz", } m["kyt"] = { "Kayagar", 6380394, "ngf", } m["kyu"] = { "Western Kayah", 12952596, "kar", {"Kali", "Mymr", "Latn"}, translit_module = "translit-redirect", } m["kyv"] = { "Kayort", 6380675, "inc-eas", {"as-Beng"}, ancestors = {"inc-mgd"}, } m["kyw"] = { "Kudmali", 6446173, "inc-eas", ancestors = {"bh"}, } m["kyx"] = { "Rapoisi", 7294279, "paa-nbo", } m["kyy"] = { "Kambaira", 6356254, "paa-kag", } m["kyz"] = { "Kayabí", 6380372, "tup-gua", Latn, } m["kza"] = { "Western Karaboro", 36601, "alv-krb", } m["kzb"] = { "Kaibobo", 6347565, "poz-cma", } m["kzc"] = { "Bondoukou Kulango", 11031321, "alv-kul", } m["kzd"] = { "Kadai", 7679471, "poz-cma", Latn, } m["kze"] = { "Kosena", 12952663, "ngf", Latn, } m["kzf"] = { "Da'a Kaili", 33103997, "poz-kal", Latn, } m["kzg"] = { "Kikai", 3196527, "jpx-ryu", {"Jpan"}, } m["kzh"] = { "Dongolawi", 5295991, "nub", Latn, } m["kzi"] = { "Kelabit", 6385445, "poz-swa", Latn, } m["kzj"] = { "Coastal Kadazan", 3307195, "poz-san", Latn, } m["kzk"] = { "Kazukuru", 1089069, "poz-ocw", } m["kzl"] = { "Kayeli", 4207444, "poz-cma", Latn, } m["kzm"] = { "Kais", 6348319, "paa", Latn, } m["kzn"] = { "Kokola", 11128329, "bnt-mak", Latn, ancestors = {"vmw"}, } m["kzo"] = { "Kaningi", 35683, "bnt-mbt", } m["kzp"] = { "Kaidipang", 6347611, "phi", } m["kzq"] = { "Kaike", 10951226, "sit-tam", } m["kzr"] = { "Karang", 35681, "alv-mbm", Latn, } m["kzs"] = { "Sugut Dusun", 12953510, "poz-san", Latn, } m["kzt"] = { "Tambunan Dusun", 12953514, "poz-san", Latn, } m["kzu"] = { "Kayupulau", 6380723, "poz-ocw", } m["kzv"] = { "Komyandaret", 6428671, "ngf-okk", Latn, } m["kzw"] = { -- contrast xoo, sai-kat, sai-xoc, the last of which the ISO conflated into this code "Kariri", 12953620, "sai-mje", Latn, } m["kzx"] = { "Kamarian", 6356040, "poz-cma", Latn, } m["kzy"] = { "Kango-Sua", 11008360, "bnt-kbi", Latn, ancestors = {"bip"}, } m["kzz"] = { "Kalabra", 6350038, "paa", Latn, } return m 9iwbe2pvtmj5gxoyqlefe9yr8saz0wz Module:languages/data3/a 828 3094 8484 2022-10-04T03:50:19Z Rebel Agent 2678 Ke dirile module 8484 Scribunto text/plain local u = mw.ustring.char -- UTF-8 encoded strings for some commonly-used diacritics local GRAVE = u(0x0300) local ACUTE = u(0x0301) local CIRC = u(0x0302) local TILDE = u(0x0303) local MACRON = u(0x0304) local BREVE = u(0x0306) local DOTABOVE = u(0x0307) local DIAER = u(0x0308) local CARON = u(0x030C) local DGRAVE = u(0x030F) local INVBREVE = u(0x0311) local DOTBELOW = u(0x0323) local RINGBELOW = u(0x0325) local CEDILLA = u(0x0327) -- Punctuation to be used for standardChars field local PUNCTUATION = ' !#%&*+,-./:;<=>?@^_`|~\'()' -- Use these in "scripts" to save a little memory. local Arab = {"Arab"} local Cyrl = {"Cyrl"} local Deva = {"Deva"} local Latn = {"Latn"} local m = {} m["aaa"] = { "Ghotuo", 35463, "alv-yek", Latn, } m["aab"] = { "Alumu-Tesu", 35034, "nic-alu", Latn, } m["aac"] = { "Ari", 1811224, "paa-pag", Latn, } m["aad"] = { "Amal", 56708, "paa-iwm", Latn, } -- "aae" IS TREATED AS "sq", SEE WT:LT m["aaf"] = { "Aranadan", 3507928, "dra", {"Mlym"}, } m["aag"] = { "Ambrak", 4741706, "qfa-tor", Latn, } m["aah"] = { "Abu' Arapesh", 4670715, "qfa-tor", Latn, } m["aai"] = { "Arifama-Miniafia", 4790560, "poz-ocw", Latn, } m["aak"] = { "Ankave", 3446690, "ngf", Latn, } m["aal"] = { "Afade", 56434, "cdc-cbm", Latn, } m["aan"] = { "Anambé", 3507873, "tup-gua", Latn, } m["aap"] = { "Pará Arára", 56807, "sai-pek", Latn, } m["aaq"] = { "Penobscot", 3515185, "alg-abp", Latn, } m["aas"] = { "Aasax", 56620, "cus-sou", Latn, } -- "aat" IS TREATED AS "sq", SEE WT:LT m["aau"] = { "Abau", 3073568, "paa-spk", Latn, } m["aaw"] = { "Solong", 7558834, "poz-ocw", Latn, } m["aax"] = { "Mandobo Atas", 12636156, "ngf", Latn, } m["aaz"] = { "Amarasi", 4740192, "poz-tim", Latn, } m["aba"] = { "Abé", 34833, "alv-lag", Latn, } m["abb"] = { "Bankon", 34860, "bnt-bsa", Latn, } m["abc"] = { "Ambala Ayta", 3448896, "phi", Latn, } m["abd"] = { "Camarines Norte Agta", 3399682, "phi", Latn, } m["abe"] = { "Abenaki", 17502788, "alg-abp", Latn, } m["abf"] = { "Abai Sungai", 4663287, "poz-san", Latn, } m["abg"] = { "Abaga", 3507954, "paa-kag", Latn, } m["abh"] = { "Tajiki Arabic", 56833, "sem-arb", Arab, entry_name = "ar-entryname", } m["abi"] = { "Abidji", 34781, "alv-lag", Latn, } m["abj"] = { "Aka-Bea", 2356391, "qfa-ads", Latn, } m["abl"] = { "Abung", 49215, "poz-lgx", Latn, } m["abm"] = { "Abanyom", 7502, "nic-eko", Latn, } m["abn"] = { "Abua", 34835, "nic-cde", Latn, } m["abo"] = { "Abon", 35121, "nic-tvn", Latn, } m["abp"] = { "Abenlen Ayta", 3436621, "phi", Latn, } m["abq"] = { "Abaza", 27567, "cau-abz", Cyrl, translit_module = "abq-translit", override_translit = true, entry_name = { from = {GRAVE, ACUTE}, to = {}} , } m["abr"] = { "Abron", 34831, "alv-ctn", Latn, ancestors = {"ak"}, } m["abs"] = { "Ambonese Malay", 3124354, "crp", Latn, ancestors = {"ms"}, } m["abt"] = { "Ambulas", 3508015, "paa-spk", Latn, } m["abu"] = { "Abure", 34767, "alv-ptn", Latn, } m["abv"] = { "Baharna Arabic", 56576, "sem-arb", Arab, entry_name = "ar-entryname", } m["abw"] = { "Pal", 7126121, "ngf-mad", Latn, } m["abx"] = { "Inabaknon", 2820163, "poz-sbj", Latn, } m["aby"] = { "Aneme Wake", 3508107, "ngf", Latn, } m["abz"] = { "Abui", 2822110, "qfa-tap", Latn, } m["aca"] = { "Achagua", 2822982, "awd", Latn, } m["acb"] = { "Áncá", 11130787, "nic-mom", Latn, } m["acd"] = { "Gikyode", 35256, "alv-gng", Latn, } m["ace"] = { "Acehnese", 27683, "cmc", {"Latn", "ms-Arab"}, standardChars = "A-Za-z0-9ÈÉËÔÖèéëôö" .. PUNCTUATION, -- current orthography (not yet add Arab) } m["ach"] = { "Acholi", 34926, "sdv-los", Latn, } m["aci"] = { "Aka-Cari", 2670418, "qfa-adn", Latn, } m["ack"] = { "Aka-Kora", 3433680, "qfa-adn", Latn, } m["acl"] = { "Akar-Bale", 3436825, "qfa-ads", Latn, } m["acm"] = { "Iraqi Arabic", 56232, "sem-arb", Arab, entry_name = "ar-entryname", } m["acn"] = { "Achang", 56582, "tbq-brm", Latn, } m["acp"] = { "Eastern Acipa", 5329945, "nic-kmk", Latn, } m["acr"] = { "Achi", 34774, "myn", Latn, } m["acs"] = { "Acroá", 2829146, "sai-cje", Latn, } m["acu"] = { "Achuar", 2823170, "sai-jiv", Latn, } m["acv"] = { "Achumawi", 56661, "nai-pal", Latn, } m["acw"] = { "Hijazi Arabic", 56608, "sem-arb", Arab, entry_name = "ar-entryname", } m["acx"] = { "Omani Arabic", 56630, "sem-arb", Arab, entry_name = "ar-entryname", } m["acy"] = { "Cypriot Arabic", 56416, "sem-arb", {"Latn", "Arab"}, entry_name = "ar-entryname", ancestors = {"acm"}, } m["acz"] = { "Acheron", 34769, "alv-tal", Latn, } m["ada"] = { "Adangme", 35141, "alv-gda", Latn, } m["adb"] = { -- rename or remove, see RFM "Adabe", 36872, nil, Latn, } m["add"] = { "Dzodinka", 35266, "nic-nka", Latn, } m["ade"] = { "Adele", 27740, "alv-ntg", Latn, } m["adf"] = { "Dhofari Arabic", 56565, "sem-arb", Arab, entry_name = "ar-entryname", } m["adg"] = { "Andegerebinha", 3508123, "aus-pam", Latn, } m["adh"] = { "Adhola", 1971400, "sdv-los", Latn, } m["adi"] = { "Adi", 56440, "sit-tan", Latn, } m["adj"] = { "Adioukrou", 34738, "alv-lag", Latn, } m["adl"] = { "Galo", 2857892, "sit-tan", Latn, } m["adn"] = { "Adang", 3398276, "qfa-tap", Latn, } m["ado"] = { "Abu", 56659, "paa-ram", Latn, } m["adp"] = { "Adap", 3512402, "sit-tib", {"Tibt"}, ancestors = {"dz"}, wikipedia_article = "Dzongkha", -- Considered a dialect of Dzongkha } m["adq"] = { "Adangbe", 34730, "alv-gda", Latn, ancestors = {"ada"}, } m["adr"] = { "Adonara", 4684505, "poz-cet", Latn, } m["ads"] = { "Adamorobe Sign Language", 27709, "sgn", Latn, -- when documented } m["adt"] = { "Adnyamathanha", 2225391, "aus-psw", Latn, } m["adu"] = { "Aduge", 34734, "alv-nwd", Latn, ancestors = {"opa"}, wikipedia_article = "Okpamheri language", } m["adw"] = { "Amondawa", 12626847, "tup-gua", Latn, } m["ady"] = { "Adyghe", 27776, "cau-cir", Cyrl, translit_module = "ady-translit", override_translit = true, } m["adz"] = { "Adzera", nil, "poz-ocw", Latn, } m["aea"] = { "Areba", 3509129, "aus-pam", Latn, } m["aeb"] = { "Tunisian Arabic", 56240, "sem-arb", Arab, entry_name = "ar-entryname", } m["aed"] = { "Argentine Sign Language", 3322073, "sgn", Latn, -- when documented } m["aee"] = { "Northeast Pashayi", 12642198, "inc-dar", Latn, } m["aek"] = { "Haeke", 5638166, "poz-cln", Latn, } m["ael"] = { "Ambele", 34818, "nic-grf", Latn, } m["aem"] = { "Arem", 3507920, "mkh-vie", Latn, } m["aen"] = { "Armenian Sign Language", 3446604, "sgn", } m["aeq"] = { "Aer", 3246741, "inc-wes", Arab, ancestors = {"inc-gup"}, } m["aer"] = { "Eastern Arrernte", 10728232, "aus-pam", Latn, } m["aes"] = { "Alsea", 2395641, nil, Latn, } m["aeu"] = { "Akeu", 4700657, "tbq-lol", Latn, } m["aew"] = { "Ambakich", 56642, "paa-ram", Latn, } m["aey"] = { "Amele", 3508025, "ngf-mad", Latn, } m["aez"] = { "Aeka", 16110528, "ngf", Latn, wikipedia_article = "Orokaiva language", -- subvariety? } m["afb"] = { "Gulf Arabic", 56385, "sem-arb", Arab, entry_name = "ar-entryname", } m["afd"] = { "Andai", 4753480, "paa-arf", Latn, } m["afe"] = { "Putukwam", 3914930, "nic-ben", Latn, } m["afg"] = { "Afghan Sign Language", 4689093, "sgn", } m["afh"] = { "Afrihili", 384707, "art", Latn, type = "appendix-constructed", } m["afi"] = { "Akrukay", 57003, "paa-ram", Latn, } m["afk"] = { "Nanubae", 6964416, "paa-arf", Latn, } m["afn"] = { "Defaka", 35174, "nic", Latn, } m["afo"] = { "Eloyi", 3914066, "nic-plt", Latn, } m["afp"] = { "Tapei", 16887371, "paa-arf", Latn, } m["afs"] = { "Afro-Seminole Creole", 27867, "crp", Latn, ancestors = {"en"}, } m["aft"] = { "Afitti", 3400829, "sdv-nyi", Latn, } m["afu"] = { "Awutu", 34847, "alv-gng", Latn, } m["afz"] = { "Obokuitai", 7075258, "paa-lkp", Latn, } m["aga"] = { "Aguano", 3331203, nil, Latn, } m["agb"] = { "Legbo", 35584, "nic-uce", Latn, } m["agc"] = { "Agatu", 34732, "alv-ido", Latn, } m["agd"] = { "Agarabi", 3399642, "paa-kag", Latn, } m["age"] = { "Angal", 10951553, "paa-eng", Latn, } m["agf"] = { "Arguni", 12473346, "poz-cet", Latn, } m["agg"] = { "Angor", 3508100, "paa", Latn, } m["agh"] = { "Ngelima", 7022266, "bnt-bta", Latn, } m["agi"] = { "Agariya", 663586, "mun", Deva, } m["agj"] = { "Argobba", 29292, "sem-eth", {"Ethi"}, } m["agk"] = { "Isarog Agta", 6078982, "phi", Latn, } m["agl"] = { "Fembe", 372927, "ngf", Latn, } m["agm"] = { "Angaataha", 3508001, "ngf", Latn, } m["agn"] = { "Agutaynen", 3399717, "phi-kal", Latn, } m["ago"] = { "Tainae", 7676186, "ngf", Latn, } m["agq"] = { "Aghem", 34737, "nic-rnw", Latn, } m["agr"] = { "Aguaruna", 1526530, "sai-jiv", Latn, } m["ags"] = { "Esimbi", 35260, "nic-bds", Latn, } m["agt"] = { "Central Cagayan Agta", 5017296, "phi", Latn, } m["agu"] = { "Aguacateca", 35091, "myn", Latn, } m["agv"] = { "Remontado Agta", 3508085, "phi", Latn, } m["agw"] = { "Kahua", 3191906, "poz-sls", Latn, } m["agx"] = { "Aghul", 36498, "cau-lzg", Cyrl, } m["agy"] = { "Southern Alta", 7569611, "phi", Latn, } m["agz"] = { "Mount Iriga Agta", 6921432, "phi", Latn, } m["aha"] = { "Ahanta", 34729, "alv-ctn", Latn, } m["ahb"] = { "Axamb", 2874710, "poz-vnc", Latn, } m["ahg"] = { "Qimant", 35663, "cus-cen", Latn, } m["ahh"] = { "Aghu", 3436645, "ngf", Latn, } m["ahi"] = { "Tiagbamrin Aizi", 3400073, "kro-aiz", Latn, } m["ahk"] = { "Akha", 56643, "tbq-lol", {"Latn", "Mymr", "Thai"}, sort_key = { from = {"[%pๆ]", "[็-๎]", "([เแโใไ])([ก-ฮ])"}, to = {"", "", "%2%1"}}, } m["ahl"] = { "Igo", 35412, "alv-ktg", Latn, } m["ahm"] = { "Mobumrin Aizi", 35967, "kro-aiz", Latn, } m["ahn"] = { "Àhàn", 34723, "alv-aah", Latn, } m["aho"] = { "Ahom", 34778, "tai-swe", {"Ahom"}, translit_module = "Ahom-translit", } m["ahp"] = { "Aproumu Aizi", 34810, "alv-kwa", Latn, } m["ahr"] = { "Ahirani", 15549890, "inc-wes", Deva, ancestors = {"inc-pra"}, translit_module = "mr-translit", } m["ahs"] = { "Ashe", 34823, "nic-plc", Latn, } m["aht"] = { "Ahtna", 21058, "ath-nor", Latn, } m["aia"] = { "Arosi", 2863483, "poz-sls", Latn, } m["aib"] = { "Aynu", 27927, "trk-kar", {"Arab", "Latn"}, } m["aic"] = { "Ainbai", 3332149, "paa-brd", Latn, } m["aid"] = { "Alngith", 3279409, "aus-pmn", Latn, } m["aie"] = { "Amara", 2841180, "poz-ocw", Latn, } m["aif"] = { "Agi", 3331491, "qfa-tor", Latn, } m["aig"] = { "Antigua and Barbuda Creole English", 3244184, "crp", Latn, ancestors = {"en"}, } m["aih"] = { "Ai-Cham", 2827749, "qfa-kms", {"Latn", "Hani"}, } m["aii"] = { "Assyrian Neo-Aramaic", 29440, "sem-nna", {"Syrc"}, entry_name = { from = {"[" .. u(0x0304) .. u(0x0308) .. u(0x0331) .. u(0x0730) .. "-" .. u(0x0748) .. "]"}, to = {}, }, } m["aij"] = { "Lishanid Noshan", 3436467, "sem-nna", {"Hebr"}, } m["aik"] = { "Ake", 34808, "nic-pls", Latn, } m["ail"] = { "Aimele", 3327418, "ngf", Latn, } m["aim"] = { "Aimol", 4697175, "tbq-kuk", {"Latn", "Beng"}, } m["ain"] = { "Ainu", 27969, "qfa-iso", {"Kana", "Latn", "Cyrl"}, } m["aio"] = { "Aiton", 3399725, "tai-swe", {"Mymr"}, translit_module = "aio-phk-translit", entry_name = { from = {u(0xFE00)}, --VS01 to = {""}}, } m["aip"] = { "Burumakok", 5000984, "ngf-okk", Latn, } m["air"] = { "Airoran", 3321131, "paa-tkw", Latn, } m["ait"] = { "Arikem", 3446679, "tup", Latn, } m["aiw"] = { "Aari", 7495, "omv-aro", Latn, } m["aix"] = { "Aighon", 3504287, "poz-ocw", Latn, } m["aiy"] = { "Ali", 34814, "alv-gbf", Latn, } m["aja"] = { "Aja", 3237491, "csu-bkr", Latn, } m["ajg"] = { "Adja", 35035, "alv-gbe", Latn, } m["aji"] = { "Ajië", 2828867, "poz-cln", Latn, } m["ajn"] = { "Andajin", 16111302, "aus-wor", Latn, } m["ajp"] = { "South Levantine Arabic", nil, "sem-arb", Arab, entry_name = "ar-entryname", } m["ajw"] = { "Ajawa", 56645, "cdc-wst", Latn, } m["ajz"] = { "Amri Karbi", 3508092, "tbq-kuk", Latn, ancestors = {"mjw"}, } m["akb"] = { "Angkola Batak", 2640686, "btk", {"Latn", "Batk"}, } m["akc"] = { "Mpur", 3327139, "paa-wpa", Latn, } m["akd"] = { "Ukpet-Ehom", 36618, "nic-ucr", Latn, } m["ake"] = { "Akawaio", 28059, "sai-pem", Latn, } m["akf"] = { "Akpa", 34801, "alv-ido", Latn, } m["akg"] = { "Anakalangu", 4750964, "poz-cet", Latn, } m["akh"] = { "Angal Heneng", 10950354, "paa-eng", Latn, } m["aki"] = { "Aiome", 56735, "paa", Latn, } m["akj"] = { "Jeru", 2919121, "qfa-adn", {"Latn", "Deva"}, } m["akk"] = { "Akkadian", 35518, "sem-eas", {"Xsux", "Latn"}, } m["akl"] = { "Aklanon", 8773, "phi", Latn, } m["akm"] = { "Aka-Bo", 35361, "qfa-adn", Latn, } m["ako"] = { "Akurio", 56650, "sai-tar", Latn, } m["akp"] = { "Siwu", 36470, "alv-ntg", Latn, } m["akq"] = { "Ak", 56654, "paa", Latn, } m["akr"] = { "Araki", 2699882, "poz-vnc", Latn, } m["aks"] = { "Akaselem", 34817, "nic-grm", Latn, } m["akt"] = { "Akolet", 3330162, "poz-ocw", Latn, } m["aku"] = { "Akum", 34799, "nic-ykb", Latn, } m["akv"] = { "Akhvakh", 56423, "cau-ava", Cyrl, } m["akw"] = { "Akwa", 34802, "bnt-mbo", Latn, } m["akx"] = { "Aka-Kede", 3436816, "qfa-adc", Latn, } m["aky"] = { "Aka-Kol", 3436784, "qfa-adc", Latn, } m["akz"] = { "Alabama", 1815020, "nai-mus", Latn, } m["ala"] = { "Alago", 34813, "alv-ido", Latn, } m["alc"] = { "Kawésqar", 56544, "aqa", Latn, } m["ald"] = { "Alladian", 34837, "alv-lag", Latn, } m["ale"] = { "Aleut", 27210, "esx", Latn, } m["alf"] = { "Alege", 34815, "nic-ben", Latn, } m["alh"] = { "Alawa", 2147917, "aus-gun", Latn, } m["ali"] = { "Amaimon", 3327427, "ngf-mad", Latn, } m["alj"] = { "Alangan", 3327423, "phi", Latn, } m["alk"] = { "Alak", 2714690, "mkh", Latn, } m["all"] = { "Allar", 3393634, "dra", {"Mlym"}, } -- "aln" IS TREATED AS "sq", SEE WT:LT m["alm"] = { "Amblong", 11022615, "poz-vnc", Latn, } m["alo"] = { "Larike-Wakasihu", 3217929, "poz-cma", Latn, } m["alp"] = { "Alune", 3327367, "poz-cet", Latn, } m["alq"] = { "Algonquin", 28092, "alg", Latn, ancestors = {"oj"}, } m["alr"] = { "Alutor", 28213, "qfa-cka", Cyrl, } m["alt"] = { "Southern Altai", 1991779, "trk-sib", Cyrl, translit_module = "Altai-translit", } m["alu"] = { "'Are'are", 5160, "poz-sls", Latn, } m["alw"] = { "Alaba", 56652, "cus-hec", Latn, } m["alx"] = { "Amol", 3504260, "qfa-tor", Latn, } m["aly"] = { "Alyawarr", 3327389, "aus-pam", Latn, } m["alz"] = { "Alur", 56507, "sdv-los", Latn, } m["ama"] = { "Amanayé", 3508053, "tup-gua", Latn, } m["amb"] = { "Ambo", 3450142, "nic-tvn", Latn, } m["amc"] = { "Amahuaca", 2669150, "sai-pan", Latn, } m["ame"] = { "Yanesha'", 3088540, "awd", Latn, } m["amf"] = { "Hamer-Banna", 35764, "omv-aro", Latn, } m["amg"] = { "Amurdag", 3360016, "aus-wdj", Latn, } m["ami"] = { "Amis", 35132, "map", Latn, } m["amj"] = { "Amdang", 28335, "ssa-fur", Latn, } m["amk"] = { "Ambai", 1875885, "poz-hce", Latn, } m["aml"] = { "War-Jaintia", 56321, "aav-khs", Latn, } m["amm"] = { "Ama", 3446626, "qfa-mal", Latn, } m["amn"] = { "Amanab", 3327399, "paa-brd", Latn, } m["amo"] = { "Amo", 34826, "nic-kne", Latn, } m["amp"] = { "Alamblak", 56688, "paa", Latn, } m["amq"] = { "Amahai", 3327384, "poz-cma", Latn, } m["amr"] = { "Amarakaeri", 35128, "sai-har", Latn, } m["ams"] = { "Southern Amami-Oshima", 2840986, "jpx-ryu", {"Jpan"}, } m["amt"] = { "Amto", 56517, "paa-asa", Latn, } m["amu"] = { "Guerrero Amuzgo", 3501942, "omq", Latn, } m["amv"] = { "Ambelau", 2669214, "poz-cma", Latn, } m["amw"] = { "Western Neo-Aramaic", 34226, "sem-arw", {"Armi", "Syrc", "Latn"}, } m["amx"] = { "Anmatyerre", 10412317, "aus-pam", Latn, } m["amy"] = { "Ami", 12626835, "aus-dal", Latn, } m["amz"] = { "Atampaya", 3446651, "aus-pam", Latn, } m["ana"] = { "Andaqui", 2846078, nil, Latn, } m["anb"] = { "Andoa", 2846171, "sai-zap", Latn, } m["anc"] = { "Ngas", 35999, "cdc-wst", Latn, } m["and"] = { "Ansus", 3513300, "poz-hce", Latn, } m["ane"] = { "Xârâcùù", 3571097, "poz-cln", Latn, } m["anf"] = { "Animere", 34783, "alv-ktg", Latn, } m["ang"] = { "Old English", 42365, "gmw", {"Latinx", "Runr"}, translit_module = "translit-redirect", entry_name = { from = {"[ĀÁ]", "[āá]", "[ǢǼ]", "[ǣǽ]", "Ċ", "ċ", "[ĒÉ]", "[ēé]", "Ġ", "ġ", "[ĪÍ]", "[īí]", "[ŌÓ]", "[ōó]", "[ŪÚ]", "[ūú]", "[ȲÝ]", "[ȳý]", "Ƿ", "ƿ", MACRON, ACUTE, DOTABOVE}, to = {"A", "a", "Æ", "æ", "C", "c", "E", "e", "G", "g", "I", "i", "O", "o", "U", "u", "Y", "y", "W", "w"}}, sort_key = { -- most dictionaries sort æ as if written ae, and þ/ð after t -- most dictionaries don't have ƿ at all (normalized to w); for now, -- put after w to keep them from cluttering up the w lists from = {"[æǣǽ]", "[þð]", "ƿ"}, to = {"ae", "t~", "w~"}}, } m["anh"] = { "Nend", 6991554, "ngf-mad", Latn, } m["ani"] = { "Andi", 34849, "cau-ava", Cyrl, } m["anj"] = { "Anor", 56458, "paa", Latn, } m["ank"] = { "Goemai", 35272, "cdc-wst", Latn, } m["anl"] = { "Anu", 4777679, "sit-mru", Latn, } m["anm"] = { "Anal", 56235, "tbq-kuk", Latn, } m["ann"] = { "Obolo", 36614, "nic-lcr", Latn, } m["ano"] = { "Andoque", 2669225, "qfa-iso", Latn, } m["anp"] = { "Angika", 28378, "inc-eas", Deva, ancestors = {"bh"}, } m["anq"] = { "Jarawa", 2475526, "qfa-ong", Latn, } m["anr"] = { "Andh", 4754314, "inc-sou", Deva, ancestors = {"pmh"}, } m["ans"] = { "Anserma", 3446613, "sai-chc", Latn, } m["ant"] = { "Antakarinya", 921304, "aus-psw", Latn, } m["anu"] = { "Anuak", 56677, "sdv-lon", Latn, } m["anv"] = { "Denya", 35187, "nic-mam", Latn, } m["anw"] = { "Anaang", 2845320, "nic-ief", Latn, } m["anx"] = { "Andra-Hus", 2846195, "poz-aay", Latn, } m["any"] = { "Anyi", 28395, "alv-ctn", Latn, } m["anz"] = { "Anem", 56512, "paa", Latn, } m["aoa"] = { "Angolar", 34994, "crp", Latn, ancestors = {"pt"}, } m["aob"] = { "Abom", 3446647, "ngf", Latn, } m["aoc"] = { "Pemon", 10729616, "sai-pem", Latn, } m["aod"] = { "Andarum", 3507888, "paa", Latn, } m["aoe"] = { "Angal Enen", 10951638, "paa-eng", Latn, } m["aof"] = { "Bragat", 3507977, "qfa-tor", Latn, } m["aog"] = { "Angoram", 56366, -- cf 6754745 for merged dialect "paa-lsp", Latn, } m["aoi"] = { "Anindilyakwa", 2714654, "aus-arn", Latn, } m["aoj"] = { "Mufian", 3507881, "qfa-tor", Latn, } m["aok"] = { "Arhö", 4790086, "poz-cln", Latn, } m["aol"] = { "Alor", 3332062, "poz", Latn, } m["aom"] = { "Ömie", 8078975, "ngf", Latn, } m["aon"] = { "Bumbita Arapesh", 3508044, "qfa-tor", Latn, } m["aor"] = { "Aore", 12627129, "poz-vnc", Latn, } m["aos"] = { "Taikat", 7676018, "paa-brd", Latn, } m["aot"] = { "Atong (India)", 5646, "tbq-bdg", {"Latn", "Beng"}, } m["aou"] = { "A'ou", 16109994, "qfa-gel", Latn, -- also Hani? wikipedia_article = "Gelao language", -- might change, as A'ou is a dialect of Gelao } m["aox"] = { "Atorada", 3507932, "awd", Latn, } m["aoz"] = { "Uab Meto", 3441962, "poz-tim", Latn, } m["apb"] = { "Sa'a", 36294, "poz-sls", Latn, } m["apc"] = { "North Levantine Arabic", 22809485, "sem-arb", Arab, entry_name = "ar-entryname", } m["apd"] = { "Sudanese Arabic", 56573, "sem-arb", Arab, entry_name = "ar-entryname", } m["ape"] = { "Bukiyip", 3507895, "qfa-tor", Latn, } m["apf"] = { "Pahanan Agta", 7135432, "phi", Latn, } m["apg"] = { "Ampanang", 4748035, "poz", Latn, } m["aph"] = { "Athpare", 3449126, "sit-kie", {"Deva", "Latn"}, } m["api"] = { "Apiaká", 3507941, "tup-gua", Latn, } m["apj"] = { "Jicarilla", 28277, "apa", Latn, } m["apk"] = { "Plains Apache", 27861, "apa", Latn, } m["apl"] = { "Lipan", 28269, "apa", Latn, } m["apm"] = { "Chiricahua", 13368, "apa", Latn, } m["apn"] = { "Apinayé", 2858311, "sai-nje", Latn, } m["apo"] = { "Ambul", 12627135, "poz-ocw", Latn, } m["app"] = { "Apma", 2669188, "poz-vnc", Latn, } m["apq"] = { "A-Pucikwar", 28466, "qfa-adc", Latn, } m["apr"] = { "Arop-Lokep", 2863482, "poz-ocw", Latn, } m["aps"] = { "Arop-Sissano", 12627242, "poz-ocw", Latn, } m["apt"] = { "Apatani", 56306, "sit-tan", Latn, } m["apu"] = { "Apurinã", 2859081, "awd", Latn, } m["apv"] = { "Alapmunte", 16110782, "sai-nmk", Latn, } m["apw"] = { "Western Apache", 28060, "apa", Latn, } m["apx"] = { "Aputai", 12473343, "poz-tim", Latn, } m["apy"] = { "Apalaí", 2736980, "sai-gui", Latn, } m["apz"] = { "Safeyoka", 7398693, "ngf", Latn, } m["aqc"] = { "Archi", 34915, "cau-lzg", Cyrl, } m["aqd"] = { "Ampari Dogon", 4748057, "nic-dgw", Latn, } m["aqg"] = { "Arigidi", 34829, "alv-von", Latn, } m["aqm"] = { "Atohwaim", 11732297, "ngf", Latn, } m["aqn"] = { "Northern Alta", 7058116, "phi", Latn, } m["aqp"] = { "Atakapa", 10975683, "qfa-iso", Latn, } m["aqr"] = { "Arhâ", 4790085, "poz-cln", Latn, } m["aqt"] = { "Angaité", 15736037, "sai-mas", Latn, } m["aqz"] = { "Akuntsu", 4701960, "tup", Latn, } m["arc"] = { "Aramaic", 28602, "sem-ara", {"Hebr", "Armi", "Syrc", "Palm", "Nbat", "Phnx", "Mand", "Samr", "Hatr"}, -- varieties are in [[Module:etymology language/data]] translit_module = "translit-redirect", entry_name = { from = {"[" .. u(0x0591) .. "-" .. u(0x05BD) .. u(0x05BF) .. "-" .. u(0x05C5) .. u(0x05C7) .. "]", "[" .. u(0x0304) .. u(0x0308) .. u(0x0331) .. u(0x0730) .. "-" .. u(0x0748) .. "]" }, to = {}} , } m["ard"] = { "Arabana", 3507959, "aus-kar", Latn, } m["are"] = { "Western Arrernte", 12645549, "aus-pam", Latn, } m["arh"] = { "Arhuaco", 2640621, "cba", Latn, } m["ari"] = { "Arikara", 56539, "cdd", Latn, } m["arj"] = { "Arapaso", 12627166, "sai-tuc", Latn, } m["ark"] = { "Arikapú", 3446640, "sai-mje", Latn, } m["arl"] = { "Arabela", 2591221, "sai-zap", Latn, } m["arn"] = { "Mapudungun", 33730, "sai-ara", Latn, } m["aro"] = { "Araona", 958414, "sai-tac", Latn, } m["arp"] = { "Arapaho", 56417, "alg-ara", Latn, } m["arq"] = { "Algerian Arabic", 56499, "sem-arb", Arab, entry_name = "ar-entryname", } m["arr"] = { "Arara-Karo", 35539, "tup", Latn, } m["ars"] = { "Najdi Arabic", 56574, "sem-arb", Arab, entry_name = "ar-entryname", } m["aru"] = { "Arua", 2746221, "auf", Latn, } m["arv"] = { "Arbore", 56883, "cus-eas", Latn, } m["arw"] = { "Arawak", 2655664, "awd-taa", Latn, ancestors = {"awd-taa-pro"}, } m["arx"] = { "Aruá", 3507907, "tup", Latn, } m["ary"] = { "Moroccan Arabic", 56426, "sem-arb", {"Arab"}, entry_name = "ar-entryname", sort_key = { from = {"^%f[" .. u(0x5D0) .. "-" .. u(0x5EA) .. "]"}, to = {u(0xFB21)}, }, } m["arz"] = { "Egyptian Arabic", 29919, "sem-arb", Arab, entry_name = "ar-entryname", } m["asa"] = { "Pare", 36403, "bnt-par", Latn, } m["asb"] = { "Assiniboine", 2591288, "sio-dkt", Latn, } m["asc"] = { "Casuarina Coast Asmat", 11732046, "ngf", Latn, } m["ase"] = { "American Sign Language", 14759, "sgn", {"Sgnw"}, } m["asf"] = { "Auslan", 29525, "sgn", Latn, -- when documented } m["asg"] = { "Cishingini", 35199, "nic-kam", Latn, } m["ash"] = { "Abishira", 2871740, "qfa-iso", Latn, } m["asi"] = { "Buruwai", 5001031, "ngf", Latn, } m["asj"] = { "Nsari", 36418, "nic-bbe", Latn, } m["ask"] = { "Ashkun", 29379, "nur-sou", {"Arab", "Latn"}, } m["asl"] = { "Asilulu", 12473347, "poz-cma", Latn, } m["asn"] = { "Xingú Asuriní", 8044571, "tup-gua", Latn, } m["aso"] = { "Dano", 5220979, "paa-kag", {"Latn"}, } m["asp"] = { "Algerian Sign Language", 3135421, "sgn", } m["asq"] = { "Austrian Sign Language", 36668, "sgn", Latn, -- when documented } m["asr"] = { "Asuri", 3504321, "mun", Latn, -- when documented } m["ass"] = { "Ipulo", 35408, "nic-tvc", Latn, } m["ast"] = { "Asturian", 29507, "roa-ibe", Latn, ancestors = {"roa-ole"}, } m["asu"] = { "Tocantins Asurini", 32041490, "tup-gua", Latn, } m["asv"] = { "Asoa", 56296, "csu-maa", Latn, } m["asw"] = { "Australian Aboriginal Sign Language", 955216, "sgn", Latn, -- when documented } m["asx"] = { "Muratayak", 11732766, "ngf-fin", Latn, } m["asy"] = { "Yaosakor Asmat", 16113158, "ngf", Latn, } m["asz"] = { "As", 2866218, "poz-hce", Latn, } m["ata"] = { "Pele-Ata", 56511, "paa", Latn, } m["atb"] = { "Zaiwa", 56594, "tbq-brm", Latn, -- also Hani? } m["atc"] = { "Atsahuaca", 4817730, "sai-pan", Latn, } m["atd"] = { "Ata Manobo", 12627315, "mno", Latn, } m["ate"] = { "Atemble", 4813055, "ngf-mad", Latn, } m["atg"] = { "Okpela", 7082551, "alv-yek", Latn, } m["ati"] = { "Attié", 34844, "alv-lag", Latn, } m["atj"] = { "Atikamekw", 56590, "alg", Latn, ancestors = {"cr"}, } m["atk"] = { "Ati", 4815751, "phi", Latn, } m["atl"] = { "Mount Iraya Agta", 6921430, "phi", Latn, } m["atm"] = { "Ata", 4812603, "phi", Latn, } m["ato"] = { "Atong (Cameroon)", 34824, "nic-grs", Latn, } m["atp"] = { "Pudtol Atta", 12640726, "phi", Latn, } m["atq"] = { "Aralle-Tabulahan", 4783889, "poz-ssw", Latn, } m["atr"] = { "Waimiri-Atroari", 56865, "sai-car", Latn, } m["ats"] = { "Gros Ventre", 56628, "alg-ara", Latn, } m["att"] = { "Pamplona Atta", 12639245, "phi", Latn, } m["atu"] = { "Reel", 7306882, "sdv-dnu", Latn, } m["atv"] = { "Northern Altai", 2640863, "trk-sib", Cyrl, translit_module = "Altai-translit", } m["atw"] = { "Atsugewi", 56718, "nai-pal", Latn, } m["atx"] = { "Arutani", 56609, nil, Latn, } m["aty"] = { "Aneityum", 2379113, "poz-oce", Latn, } m["atz"] = { "Arta", 3508067, "phi", Latn, } m["aua"] = { "Asumboa", 4811870, "poz-oce", Latn, } m["aub"] = { "Alugu", 12626798, "tbq-lol", Latn, -- also Hani? } m["auc"] = { "Huaorani", 758570, "qfa-iso", Latn, } m["aud"] = { "Anuta", 35326, "poz-pnp", Latn, } m["aug"] = { "Aguna", 34733, "alv-gbe", Latn, } m["auh"] = { "Aushi", 2872082, "bnt-sbi", Latn, } m["aui"] = { "Anuki", 3508132, "poz-ocw", Latn, } m["auj"] = { "Awjila", 56398, "ber", {"Latn", "Arab", "Tfng"}, } m["auk"] = { "Heyo", 3504295, "qfa-tor", Latn, } m["aul"] = { "Aulua", 427300, "poz-vnc", Latn, } m["aum"] = { "Asu", 34798, "alv-ngb", Latn, } m["aun"] = { "Molmo One", 12637224, "qfa-tor", Latn, } m["auo"] = { "Auyokawa", 56247, "cdc-wst", Latn, } m["aup"] = { "Makayam", 6738863, "ngf", Latn, } m["auq"] = { "Anus", 23855, "poz-ocw", Latn, } m["aur"] = { "Aruek", 3504279, "qfa-tor", Latn, } m["aut"] = { "Austral", 2669261, "poz-pep", Latn, } m["auu"] = { "Auye", 4827334, "ngf", Latn, } m["auw"] = { "Awyi", 3513326, "paa-brd", Latn, } m["aux"] = { "Aurá", 3507995, "tup-gua", Latn, } m["auy"] = { "Auyana", 2873211, "paa-kag", Latn, } m["auz"] = { "Uzbeki Arabic", 3399507, "sem-arb", Arab, entry_name = "ar-entryname", } m["avb"] = { "Avau", 12627412, "poz-ocw", Latn, } m["avd"] = { "Alviri-Vidari", 3327357, "xme", {"fa-Arab"}, ancestors = {"xme-mid"}, } m["avi"] = { "Avikam", 34840, "alv-lag", Latn, } m["avk"] = { "Kotava", 1377116, "art", Latn, type = "appendix-constructed", } m["avm"] = { "Angkamuthi", nil, "aus-pmn", Latn, } m["avn"] = { "Avatime", 34796, "alv-ktg", Latn, } m["avo"] = { "Agavotaguerra", 3508007, "awd", Latn, } m["avs"] = { "Aushiri", 3409318, "sai-zap", Latn, } m["avt"] = { "Au", 3446608, "qfa-tor", Latn, } m["avu"] = { "Avokaya", 56685, "csu-mma", Latn, } m["avv"] = { "Avá-Canoeiro", 4829584, "tup-gua", Latn, } m["awa"] = { "Awadhi", 29579, "inc-hie", {"Deva", "Kthi", "fa-Arab"}, ancestors = {"inc-pra"}, translit_module = "hi-translit", } m["awb"] = { "Awa (New Guinea)", 2874650, "paa-kag", Latn, } m["awc"] = { "Cicipu", 35193, "nic-kam", Latn, } m["awe"] = { "Awetí", 4830038, "tup", Latn, } m["awg"] = { "Anguthimri", 4764288, "aus-pam", Latn, } m["awh"] = { "Awbono", 3446684, "ngf", Latn, } m["awi"] = { "Aekyom", 3399691, "ngf", Latn, } m["awk"] = { "Awabakal", 3449138, "aus-pam", Latn, } m["awm"] = { "Arawum", 4784537, "ngf-mad", Latn, } m["awn"] = { "Awngi", 34934, "cus-cen", {"Ethi"}, } m["awo"] = { "Awak", 3446643, "alv-wjk", Latn, } m["awr"] = { "Awera", 56379, "paa-lkp", Latn, } m["aws"] = { "South Awyu", 12633986, "ngf", Latn, } m["awt"] = { "Araweté", 4784535, "tup-gua", Latn, } m["awu"] = { "Central Awyu", 12628801, "ngf", Latn, } m["awv"] = { "Jair Awyu", 16110177, "ngf", Latn, } m["aww"] = { "Awun", 56369, "paa-spk", Latn, } m["awx"] = { "Awara", 2874670, "ngf-fin", Latn, } m["awy"] = { "Edera Awyu", 12630425, "ngf", Latn, } m["axb"] = { "Abipon", 11252539, "sai-guc", Latn, } m["axe"] = { "Ayerrerenge", 16112737, "aus-pam", Latn, } m["axg"] = { "Mato Grosso Arára", 3446660, nil, Latn, } m["axk"] = { "Aka (Central Africa)", 11010149, "bnt-ngn", Latn, } m["axl"] = { "Lower Southern Aranda", 6693295, "aus-pam", Latn, } m["axm"] = { "Middle Armenian", 4438498, "hyx", {"Armn"}, ancestors = {"xcl"}, translit_module = "Armn-translit", override_translit = true, entry_name = { from = {"եւ", "՞", "՜", "՛", "՟"}, to = {"և"}} , } m["axx"] = { "Xaragure", 8045635, "poz-cln", Latn, } m["aya"] = { "Awar", 56876, "paa", Latn, } m["ayb"] = { "Ayizo", 34841, "alv-pph", Latn, } m["ayd"] = { "Ayabadhu", 3509164, "aus-pmn", Latn, } m["aye"] = { "Ayere", 34788, "alv-aah", Latn, } m["ayg"] = { "Nyanga (Togo)", 35446, "alv-gng", Latn, } m["ayi"] = { "Leyigha", 3914492, "nic-uce", Latn, } m["ayk"] = { "Akuku", 3450179, "alv-nwd", Latn, } m["ayl"] = { "Libyan Arabic", 56503, "sem-arb", Arab, entry_name = "ar-entryname", } m["ayn"] = { "Yemeni Arabic", 1686766, "sem-arb", Arab, entry_name = "ar-entryname", } m["ayo"] = { "Ayoreo", 56634, "sai-zam", Latn, } m["ayp"] = { "North Mesopotamian Arabic", 56577, "sem-arb", Arab, ancestors = {"acm"}, entry_name = "ar-entryname", } m["ayq"] = { "Ayi", 56449, "paa-spk", Latn, } m["ays"] = { "Sorsogon Ayta", 7563752, "phi", Latn, } m["ayt"] = { "Bataan Ayta", 4921648, "phi", Latn, } m["ayu"] = { "Ayu", 34786, "alv", Latn, } m["ayy"] = { "Tayabas Ayta", 7689745, "phi", Latn, } m["ayz"] = { "Maybrat", 4830892, "paa-wpa", Latn, } m["aza"] = { "Azha", 4832486, "tbq-lol", Latn, } m["azd"] = { "Eastern Durango Nahuatl", 16115449, "azc-nah", Latn, } m["azg"] = { "San Pedro Amuzgos Amuzgo", 35092, "omq", Latn, } m["azm"] = { "Ipalapa Amuzgo", 12633013, "omq", Latn, } m["azn"] = { "Western Durango Nahuatl", 12645553, "azc-nah", Latn, } m["azo"] = { "Awing", 34856, "nic-nge", Latn, } m["azt"] = { "Faire Atta", 12630884, "phi", Latn, } m["azz"] = { "Highland Puebla Nahuatl", 12953754, "azc-nah", Latn, } return m 0rtlxyxmbnqto7hkh5qs5hq69b1pp1r Module:languages/data3/n 828 3095 8485 2022-10-04T03:54:49Z Rebel Agent 2678 Ke dirile module 8485 Scribunto text/plain local u = mw.ustring.char -- UTF-8 encoded strings for some commonly-used diacritics local GRAVE = u(0x0300) local ACUTE = u(0x0301) local CIRC = u(0x0302) local TILDE = u(0x0303) local MACRON = u(0x0304) local BREVE = u(0x0306) local DOTABOVE = u(0x0307) local DIAER = u(0x0308) local CARON = u(0x030C) local DGRAVE = u(0x030F) local INVBREVE = u(0x0311) local DOTBELOW = u(0x0323) local RINGBELOW = u(0x0325) local CEDILLA = u(0x0327) local Deva = {"Deva"} local Latn = {"Latn"} local m = {} m["naa"] = { "Namla", 3508760, "paa-pau", Latn, } m["nab"] = { "Nambikwara", 2068190, "sai-nmk", Latn, } m["nac"] = { "Narak", 6965295, "ngf", Latn, } m["nae"] = { "Naka'ela", 6960073, "poz", Latn, } m["naf"] = { "Nabak", 11732491, "ngf", Latn, } m["nag"] = { "Naga Pidgin", 3503454, "crp", Latn, ancestors = {"as"}, } m["nah"] = { "Nahuatl", 13300, "azc-nah", Latn, } m["naj"] = { "Nalu", 36026, "alv-nal", Latn, } m["nak"] = { "Nakanai", 6528669, "poz-ocw", Latn, } m["nal"] = { "Nalik", 3335387, "poz-ocw", Latn, } m["nam"] = { "Ngan'gityemerri", 3298041, "aus-dal", Latn, } m["nan"] = { "Min Nan", 36495, "zhx-min-hai", {"Hani", "Latn"}, wikimedia_codes = {"zh-min-nan"}, } m["nao"] = { "Naaba", 11883865, "sit", ancestors = {"xct"}, } m["nap"] = { "Neapolitan", 33845, "roa-itd", Latn, } m["naq"] = { "Khoekhoe", 13301, "khi-khk", Latn, } m["nar"] = { "Iguta", 5621686, "nic-jer", Latn, } m["nas"] = { "Nasioi", 56772, "paa-sbo", Latn, } m["nat"] = { "Hungworo", 3914395, "nic-kmk", Latn, } m["naw"] = { "Nawuri", 35906, "alv-gng", Latn, } m["nax"] = { "Nakwi", 3504178, "qfa-mal", Latn, } m["nay"] = { "Ngarrindjeri", 7022091, "aus-pam", Latn, } m["naz"] = { "Coatepec Nahuatl", 5138605, "azc-nah", Latn, } m["nba"] = { "Nyemba", 3346655, "bnt-clu", Latn, ancestors = {"lch"}, } m["nbb"] = { "Ndoe", 36134, "nic-eko", Latn, } m["nbc"] = { "Chang", 5071694, "sit-kch", Latn, } m["nbd"] = { "Ngbinda", 11132859, "bnt-boa", Latn, } m["nbe"] = { "Konyak Naga", 6430448, "sit-kch", Latn, } m["nbg"] = { "Nagarchal", 13299, "dra", ancestors = {"gon"}, } m["nbh"] = { "Ngamo", 3438705, "cdc-wst", Latn, } m["nbi"] = { "Mao Naga", 12952905, "tbq-anp", Latn, } m["nbj"] = { "Ngarinman", 10600380, nil, Latn, } m["nbk"] = { "Nake", 11732496, "ngf-mad", Latn, } m["nbm"] = { "Ngbaka Ma'bo", 3915331, "nic-nkm", Latn, } m["nbn"] = { "Kuri", 3200540, "poz", Latn, } m["nbo"] = { "Nkukoli", 3914482, "nic-uce", Latn, } m["nbp"] = { "Nnam", 36138, "nic-eko", Latn, } m["nbq"] = { "Nggem", 12952956, "ngf", Latn, } m["nbr"] = { "Numana", 5529310, "nic-nin", Latn, } m["nbs"] = { "Namibian Sign Language", 6961792, "sgn", Latn, -- when documented } m["nbt"] = { "Na", 12952895, "sit-tan", {"Deva", "Latn"}, } m["nbu"] = { "Rongmei Naga", 12952912, "sit-zem", Latn, } m["nbv"] = { "Ngamambo", 11129694, "nic-mom", Latn, } m["nbw"] = { "Southern Ngbandi", 17522635, "nic-ngd", Latn, } m["nby"] = { "Ningera", 11732524, "paa-brd", Latn, } m["nca"] = { "Iyo", 6101336, "ngf-fin", Latn, } m["ncb"] = { "Central Nicobarese", 3335553, "aav-nic", {"Deva", "Latn"}, } m["ncc"] = { "Ponam", 3396122, "poz-aay", Latn, } m["ncd"] = { "Nachering", 6957144, "sit-kic", Deva, } m["nce"] = { "Yale", 2992915, "paa", --kwomtari or isolate Latn, } m["ncf"] = { "Notsi", 3344784, "poz-ocw", Latn, } m["ncg"] = { "Nisga'a", 3342138, "nai-tsi", Latn, } m["nch"] = { "Central Huasteca Nahuatl", 2194290, "azc-nah", Latn, } m["nci"] = { "Classical Nahuatl", 559242, "azc-nah", Latn, entry_name = { from = {"Ā", "ā", "Ē", "ē", "Ī", "ī", "Ō", "ō", "Ū", "ū", "Ȳ", "ȳ"}, to = {"A", "a", "E", "e", "I", "i", "O", "o", "U", "u", "Y", "y"} }, } m["ncj"] = { "Northern Puebla Nahuatl", 15705671, "azc-nah", Latn, } m["nck"] = { "Nakara", 6960662, "aus-arn", Latn, } m["ncl"] = { "Michoacán Nahuatl", 2896217, "azc-nah", Latn, } m["ncm"] = { "Nambo", 42173731, nil, Latn, } m["ncn"] = { "Nauna", 3337158, "poz-aay", Latn, } m["nco"] = { "Sibe", 56806, "paa-sbo", Latn, } m["ncr"] = { "Ncane", 11297920, "nic-bbe", Latn, ancestors = {"nhu"}, } m["ncs"] = { "Nicaraguan Sign Language", 33765, "sgn", {"Sgnw"}, } m["nct"] = { "Chothe Naga", 5105385, "tbq-kuk", {"Beng", "Latn"}, } m["ncu"] = { "Chumburung", 35198, "alv-gng", Latn, } m["ncx"] = { "Central Puebla Nahuatl", 5061727, "azc-nah", Latn, } m["ncz"] = { "Natchez", 3111838, nil, Latn, } m["nda"] = { "Ndasa", 35904, "bnt-kel", Latn, } m["ndb"] = { "Kenswei Nsei", 7067553, "nic-rnn", Latn, } m["ndc"] = { "Ndau", 13311, "bnt-sho", Latn, } m["ndd"] = { "Nde-Nsele-Nta", 36131, "nic-eko", Latn, } m["ndf"] = { "Nadruvian", 6957967, nil, Latn, } m["ndg"] = { "Ndengereko", 6983726, "bnt-mbi", Latn, } m["ndh"] = { "Ndali", 6983678, "bnt-run", Latn, } m["ndi"] = { "Chamba Leko", 36381, "alv-lek", Latn, } m["ndj"] = { "Ndamba", 6983684, "bnt-kil", Latn, } m["ndk"] = { "Ndaka", 11164947, "bnt-nya", Latn, } m["ndl"] = { "Ndolo", 6983788, "bnt-zbi", Latn, ancestors = {"lse"}, } m["ndm"] = { "Ndam", 56283, "cdc-est", Latn, } m["ndn"] = { "Ngundi", 35916, "bnt-ngn", Latn, } m["ndp"] = { "Ndo", 6983774, "csu-mle", Latn, } m["ndq"] = { "Ndombe", 6983792, "bnt-swb", Latn, } m["ndr"] = { "Ndoola", 35837, "nic-mmb", Latn, } m["nds"] = { "Low German", 25433, "gmw", Latn, ancestors = {"gml"}, } m["ndt"] = { "Ndunga", 6983857, "nic-mbc", Latn, } m["ndu"] = { "Dugun", 11015189, "alv-dur", Latn, } m["ndv"] = { "Ndut", 36028, "alv-cng", Latn, } m["ndw"] = { "Ndobo", 11008568, "bnt-ngn", Latn, } m["ndx"] = { "Nduga", 6983833, nil, Latn, } m["ndy"] = { "Lutos", 6705910, "csu-val", Latn, } m["ndz"] = { "Ndogo", 35983, "nic-ser", Latn, } m["nea"] = { "Eastern Ngad'a", 12473454, "poz-cet", } m["neb"] = { "Toura", 7853636, "dmn-mda", Latn, } m["nec"] = { "Nedebang", 4925378, "ngf", } m["ned"] = { "Nde-Gbite", 11010279, "nic-grf", } m["nee"] = { "Kumak", 3347266, "poz-cln", Latn, } m["nef"] = { "Nefamese", 6987002, "crp", } m["neg"] = { "Negidal", 33676, "tuw", {"Cyrl"}, } m["neh"] = { "Nyenkha", 3695185, "sit-ebo", {"Tibt", "Latn"}, } m["nej"] = { "Neko", 6989840, "ngf-fin", Latn, } m["nek"] = { "Neku", 14916900, "poz-cln", } m["nem"] = { "Nemi", 3338008, "poz-cln", Latn, } m["nen"] = { "Nengone", 3338052, "poz-occ", Latn, } m["neo"] = { "Ná-Meo", 15977293, "hmn", } m["neq"] = { "North Central Mixe", 25559729, nil, Latn, } m["ner"] = { "Yahadian", 8046778, nil, Latn, } m["nes"] = { "Bhoti Kinnauri", 21179921, "sit-las", } m["net"] = { "Nete", 6998869, "paa-eng", } m["neu"] = { "Neo", 606917, "art", Latn, type = "appendix-constructed", } m["nev"] = { "Nyaheun", 7070801, "mkh-ban", } m["new"] = { "Newar", 33979, "sit-new", {"Deva", "Newa"}, ancestors = {"nwx"}, translit_module = "translit-redirect", } m["nex"] = { "Neme", 12952941, } m["ney"] = { "Neyo", 36410, "kro", } m["nez"] = { "Nez Perce", 3339226, "nai-shp", Latn, } m["nfa"] = { "Dhao", 2053828, "poz", } m["nfd"] = { "Ahwai", 3913957, "nic-plt", Latn, } m["nfl"] = { "Aiwoo", 56742, "poz-oce", Latn, } m["nfr"] = { "Nafaanra", 13297, "alv-snf", Latn, } m["nfu"] = { "Mfumte", 6826794, "nic-nka", Latn, } m["nga"] = { "Ngbaka", 36022, "alv-gbf", Latn, } m["ngb"] = { "Northern Ngbandi", 17522631, "nic-ngd", Latn, } m["ngc"] = { "Ngombe (Congo)", 3123524, "bnt-bun", } m["ngd"] = { "Ngando (Central African Republic)", 35910, "bnt-ngn", } m["nge"] = { "Ngemba", 6750551, "nic-nge", Latn, } m["ngg"] = { -- compare 'aiy' "Ngbaka Manza", 11033316, "alv-gbf", Latn, } m["ngh"] = { "Nǀuu", 2618974, "khi-tuu", Latn, } m["ngi"] = { "Ngizim", 3914924, "cdc-wst", Latn, } m["ngj"] = { "Ngie", 36361, "nic-mom", Latn, } m["ngk"] = { "Ngalkbun", 3913790, "aus-gun", Latn, } m["ngl"] = { "Lomwe", 35824, "bnt-mak", Latn, } m["ngm"] = { "Ngatik Men's Creole", 36400, "crp", ancestors = {"en", "pon"}, } m["ngn"] = { "Ngwo", 36051, "nic-mom", Latn, } m["ngo"] = { "Ngoni", 7022547, "bnt-ngu", Latn, } m["ngp"] = { "Ngulu", 7193332, "bnt-seu", Latn, } m["ngq"] = { "Ngoreme", 7022573, "bnt-lok", Latn, } m["ngr"] = { "Nagu", 3063524, "poz-oce", Latn, } m["ngs"] = { "Gvoko", 3441188, "cdc-cbm", Latn, } m["ngt"] = { "Ngeq", 25559548, "mkh-kat", } m["ngu"] = { "Guerrero Nahuatl", 5614980, "azc-nah", Latn, } m["ngv"] = { "Nagumi", 35842, "nic-jrn", } m["ngw"] = { "Ngwaba", 3440480, "cdc-cbm", Latn, } m["ngx"] = { "Nggwahyi", 56265, "cdc-cbm", Latn, } m["ngy"] = { "Tibea", 36598, "bnt-baf", Latn, } m["ngz"] = { "Ngungwel", 35920, "bnt-tkc", Latn, } m["nha"] = { "Nhanda", 3339380, "aus-psw", Latn, } m["nhb"] = { "Beng", 3913311, "dmn-nbe", Latn, } m["nhc"] = { "Tabasco Nahuatl", 6047326, "azc-nah", Latn, } m["nhd"] = { "Chiripá", 2873230, "tup-gua", ancestors = {"gn"}, } m["nhe"] = { "Eastern Huasteca Nahuatl", 4358289, "azc-nah", Latn, } m["nhf"] = { "Nhuwala", 10600396, "aus-nga", Latn, } m["nhg"] = { "Tetelcingo Nahuatl", 3450252, "azc-nah", Latn, } m["nhh"] = { "Nahari", 6583560, "inc-eas", ancestors = {"inc-mgd"}, } m["nhi"] = { "Zacatlán-Ahuacatlán-Tepetzintla Nahuatl", 12953764, "azc-nah", Latn, } m["nhk"] = { "Cosoleacaque Nahuatl", 12953757, "azc-nah", Latn, } m["nhm"] = { "Morelos Nahuatl", 4800819, "azc-nah", Latn, } m["nhn"] = { "Central Nahuatl", 6047309, "azc-nah", Latn, } m["nho"] = { "Takuu", 3409818, "poz-pnp", Latn, } m["nhp"] = { "Pajapan Nahuatl", 12953760, "azc-nah", Latn, } m["nhq"] = { "Huaxcaleca Nahuatl", 12953758, "azc-nah", Latn, } m["nhr"] = { "Naro", 2164778, "khi-kal", Latn, } m["nht"] = { "Ometepec Nahuatl", 7090132, "azc-nah", Latn, } m["nhu"] = { "Noone", 36072, "nic-bbe", Latn, } m["nhv"] = { "Temascaltepec Nahuatl", 2379405, "azc-nah", Latn, } m["nhw"] = { "Western Huasteca Nahuatl", 2678840, "azc-nah", Latn, } m["nhx"] = { "Mecayapan Nahuatl", 12953756, "azc-nah", Latn, } m["nhy"] = { "Northern Oaxaca Nahuatl", 12953763, "azc-nah", Latn, } m["nhz"] = { "Santa María La Alta Nahuatl", 15705753, "azc-nah", Latn, } m["nia"] = { "Nias", 2407831, "poz-nws", Latn, } m["nib"] = { "Nakame", 11732495, "ngf-fin", Latn, } m["nid"] = { "Ngandi", 7021977, "aus-arn", Latn, } m["nie"] = { "Niellim", 33662, "alv-bua", } m["nif"] = { "Nek", 6989781, "ngf-fin", Latn, } m["nig"] = { "Ngalakan", 3913796, "aus-gun", Latn, } m["nih"] = { "Nyiha", 11128374, "bnt-mby", Latn, } m["nii"] = { "Nii", 35237, "ngf", Latn, } m["nij"] = { "Ngaju", 2992872, "poz-brw", Latn, } m["nik"] = { "Southern Nicobarese", 7570194, "aav-nic", } m["nil"] = { "Nila", 7036821, } m["nim"] = { "Nilamba", 4121200, "bnt-tkm", Latn, } m["nin"] = { "Ninzo", 3914021, "nic-nin", } m["nio"] = { "Nganasan", 36743, "syd", {"Cyrl"}, } m["niq"] = { "Nandi", 6956591, "sdv-nma", } m["nir"] = { "Nimboran", 301116, "paa-nim", } m["nis"] = { "Nimi", 11732523, "ngf-fin", Latn, } m["nit"] = { "Southeastern Kolami", 56767, "dra", } m["niu"] = { "Niuean", 33790, "poz-pol", Latn, } m["niv"] = { "Nivkh", 36464, "qfa-iso", {"Cyrl"}, translit_module = "niv-translit", } m["niw"] = { "Nimo", 3504126, "paa-asa", } m["nix"] = { "Hema", 5710904, "bnt-nyg", Latn, } m["niy"] = { "Ngiti", 7022396, "csu-lnd", } m["niz"] = { "Ningil", 11732527, "qfa-tor", } m["nja"] = { "Nzanyi", 3441299, "cdc-cbm", Latn, } m["njb"] = { "Nocte Naga", 7046410, "sit-tno", } m["njh"] = { "Lotha Naga", 33590, "sit-aao", } m["nji"] = { "Gudanji", 3915692, "aus-mir", } m["njj"] = { "Njen", 36112, "nic-mom", Latn, } m["njl"] = { "Njalgulgule", 7071229, "sdv-daj", } m["njm"] = { "Angami", 56761, "tbq-anp", } m["njn"] = { "Liangmai Naga", 14194500, "sit-zem", } m["njo"] = { "Ao", 28433, "sit-aao", Latn, } m["njr"] = { "Njerep", 35844, "nic-mmb", Latn, } m["njs"] = { "Nisa", 13593518, "paa-egb", } m["njt"] = { "Ndyuka-Trio Pidgin", 13591205, "crp", ancestors = {"djk", "tri"}, } m["nju"] = { "Ngadjunmaya", 7021846, "aus-pam", } m["njx"] = { "Kunyi", 3196559, "bnt-kng", Latn, } m["njy"] = { "Njyem", 35898, "bnt-ndb", Latn, } m["njz"] = { "Nyishi", 56870, "sit-tan", Latn, } m["nka"] = { "Nkoya", 7042633, "bnt-lbn", Latn, } m["nkb"] = { "Khoibu Naga", 21481876, "sit-mar", } m["nkc"] = { "Nkongho", 35863, "bnt-saw", Latn, } m["nkd"] = { "Koireng", 6426342, "sit-zem", } m["nke"] = { "Duke", 3041075, "poz-ocw", } m["nkf"] = { "Inpui Naga", 21481817, "sit-zem", } m["nkg"] = { "Nekgini", 11732509, "ngf-fin", Latn, } m["nkh"] = { "Khezha Naga", 6401519, "tbq-anp", } m["nki"] = { "Thangal Naga", 56374, "sit-zem", } m["nkj"] = { "Nakai", 14916897, "ngf-okk", Latn, } m["nkk"] = { "Nokuku", 7048122, "poz-vnc", } m["nkm"] = { "Namat", 15634505, } m["nkn"] = { "Nkangala", 10962292, "bnt-clu", Latn, ancestors = {"mck"}, } m["nko"] = { "Nkonya", 35867, "alv-gng", Latn, } m["nkp"] = { "Niuatoputapu", 3399095, "poz-pnp", } m["nkq"] = { "Nkami", 7042522, "alv-gng", Latn, } m["nkr"] = { "Nukuoro", 2635961, "poz-pnp", Latn, } m["nks"] = { "North Asmat", 11732049, } m["nkt"] = { "Nyika", 16917497, "bnt-mwi", Latn, } m["nku"] = { "Bouna Kulango", 20668241, "alv-kul", } -- nkv is treated as nkt, see WT:LT m["nkw"] = { "Nkutu", 7193313, "bnt-tet", Latn, } m["nkx"] = { "Nkoroo", 36000, "ijo", } m["nkz"] = { "Nkari", 11130307, "nic-ief", ancestors = {"ibr"}, } m["nla"] = { "Ngombale", 36292, "bai", Latn, } m["nlc"] = { "Nalca", 6960839, "ngf", Latn, } m["nle"] = { "East Nyala", 25559347, "bnt-msl", Latn, ancestors = {"luy"}, } m["nlg"] = { "Gela", 3063531, "poz-sls", Latn, } m["nli"] = { "Grangali", 3444203, "inc-dar", } m["nlj"] = { "Nyali", 7070830, "bnt-nya", Latn, } m["nlk"] = { "Ninia Yali", 12953310, } m["nll"] = { "Nihali", 33904, "qfa-iso", {"Deva", "Latn"}, } m["nlm"] = { "Mankiyali", 47522426, "inc-dar", } m["nlo"] = { "Ngul", 35894, "bnt-bdz", Latn, } m["nlq"] = { "Lao Naga", 63283609, "sit-tno", } m["nlu"] = { "Nchumbulu", 36143, "alv-gng", Latn, } m["nlv"] = { "Orizaba Nahuatl", 3086050, "azc-nah", Latn, } m["nlw"] = { "Walangama", 7961277, } m["nlx"] = { "Nahali", 33361, "inc-bhi", } m["nly"] = { "Nyamal", 7070837, "aus-nga", Latn, } m["nlz"] = { "Nalögo", 20527138, "poz-oce", } m["nma"] = { "Maram Naga", 56378, "sit-zem", } m["nmb"] = { "Big Nambas", 2902304, "poz-vnc", } m["nmc"] = { "Ngam", 3915446, "csu-sar", Latn, } m["nmd"] = { "Ndumu", 35901, "bnt-mbt", Latn, } m["nme"] = { "Mzieme Naga", 6949473, "sit-zem", } m["nmf"] = { "Tangkhul Naga", 7682992, "sit-tng", } m["nmg"] = { "Kwasio", 34098, "bnt-mnj", Latn, } m["nmh"] = { "Monsang Naga", 6902496, } m["nmi"] = { "Nyam", 3438738, "cdc-wst", Latn, } m["nmj"] = { "Ngombe (Central African Republic)", 3913949, "alv-gbs", } m["nmk"] = { "Namakura", 3335410, "poz-vnc", } m["nml"] = { "Ndemli", 36089, "nic-grf", Latn, } m["nmm"] = { "Manangba", 6746900, "sit-tam", {"Tibt", "Deva"}, } m["nmn"] = { "ǃXóõ", 13229, "khi-tuu", Latn, } m["nmo"] = { "Moyon Naga", 6927748, "tbq-kuk", } m["nmp"] = { "Nimanbur", nil, } m["nmq"] = { "Nambya", 11008869, "bnt-sho", Latn, } m["nmr"] = { "Nimbari", 36069, "alv-lni", } m["nms"] = { "Letemboi", 3236886, "poz-vnc", } m["nmt"] = { "Namonuito", 12908815, "poz-mic", } m["nmu"] = { "Northeast Maidu", 3278074, "nai-mdu", Latn, } m["nmv"] = { "Ngamini", 7021944, "aus-kar", Latn, } m["nmw"] = { "Nimoa", 7037729, "poz-ocw", } m["nmy"] = { "Namuyi", 56844, "sit-nax", } m["nmz"] = { "Nawdm", 36085, "nic-yon", Latn, } m["nna"] = { "Nyangumarta", 33653, } m["nnb"] = { "Nande", 3196953, "bnt-glb", Latn, } m["nnc"] = { "Nancere", 3140491, "cdc-est", Latn, } m["nnd"] = { "West Ambae", 2841479, "poz-vnc", Latn, } m["nne"] = { "Ngandyera", 10961003, "bnt-ova", Latn, } m["nnf"] = { "Ngaing", 11732510, "ngf-fin", Latn, } m["nng"] = { "Maring Naga", 12952908, "sit-mar", } m["nnh"] = { "Ngiemboon", 36286, "bai", Latn, } m["nni"] = { "North Nuaulu", 12952968, "poz-cma", } m["nnj"] = { "Nyangatom", 4662604, "sdv-ttu", } m["nnk"] = { "Nankina", 11732502, "ngf-fin", Latn, } m["nnl"] = { "Northern Rengma Naga", 7067615, "tbq-anp", } m["nnm"] = { "Namia", 56363, "paa-spk", Latn, } m["nnn"] = { "Ngete", 56625, "cdc-mas", Latn, } m["nnp"] = { "Wancho", 7967085, "sit-kch", } m["nnq"] = { "Ngindo", 7022366, "bnt-mbi", Latn, } m["nnr"] = { "Narungga", 13591127, "aus-pam", } m["nnt"] = { "Nanticoke", 3915517, "alg-eas", Latn, } m["nnu"] = { "Dwang", 35258, "alv-gng", Latn, } m["nnv"] = { "Nukunu", 10604066, } m["nnw"] = { "Southern Nuni", 11152248, "nic-gnn", Latn, } m["nnx"] = { "Ngong", 12952915, } m["nny"] = { -- contrast aus-ynk "Nyangga", 10604331, "aus-tnk", Latn, } m["nnz"] = { "Nda'nda'", 36016, "bai", Latn, } m["noa"] = { "Woun Meu", 3111873, "sai-chc", Latn, } m["noc"] = { "Nuk", 11732534, "ngf-fin", Latn, } m["nod"] = { "Northern Thai", 565110, "tai-swe", {"Lana", "Thai"}, sort_key = { from = {"[%pᪧๆ]", "[᩠ᩳ-᩿]", "ᩔ", "ᩕ", "ᩖ", "ᩘ", "([ᨭ-ᨱ])ᩛ", "([ᨷ-ᨾ])ᩛ", "ᩤ", "[็-๎]", "([เแโใไ])([ก-ฮ])", u(0x200C)}, to = {"", "", "ᩈᩈ", "ᩁ", "ᩃ", "ᨦ", "%1ᨮ", "%1ᨻ", "ᩣ", "", "%2%1"}}, entry_name = { from = {u(0x200C)}, to = {}}, } m["noe"] = { "Nimadi", 3502294, "inc-wes", Deva, ancestors = {"raj"}, translit_module = "hi-translit", } m["nof"] = { "Nomane", 11732531, } m["nog"] = { "Nogai", 33871, "trk-kno", {"Cyrl", "Arab", "Latn"}, translit_module = "nog-translit", override_translit = true, } m["noh"] = { "Nomu", 11732532, } m["noi"] = { "Noiri", 12953774, "inc-bhi", } m["noj"] = { "Nonuya", 5372139, "sai-wit", Latn, } m["nok"] = { "Nooksack", 3343396, } m["nol"] = { "Nomlaki", 3343229, "nai-wtq", Latn, } m["nom"] = { "Nocamán", 7046289, "sai-pan", Latn, } m["non"] = { "Old Norse", 35505, "gmq", {"Latn", "Runr"}, translit_module = "translit-redirect", } m["nop"] = { "Numanggang", 7069052, "ngf-fin", Latn, } m["noq"] = { "Ngongo", 11057478, "bnt-yak", Latn, } m["nos"] = { "Eastern Nisu", 25559419, "tbq-lol", } m["not"] = { "Nomatsiguenga", 3342992, "awd", Latn, } m["nou"] = { "Ewage-Notu", 5418860, } m["nov"] = { "Novial", 36738, "art", Latn, type = "appendix-constructed" } m["now"] = { "Nyambo", 4967930, "bnt-haj", Latn, } m["noy"] = { "Noy", 36321, "alv-bua", } m["noz"] = { "Nayi", 3183349, "omv-diz", } m["npa"] = { "Nar Phu", 4926353, "sit-tam", } m["npb"] = { "Nupbikha", 3695201, "sit-ebo", } m["npg"] = { "Ponyo", 7228475, "sit-kch", } m["nph"] = { "Phom", 7187109, "sit-kch", } m["npl"] = { "Southeastern Puebla Nahuatl", 4632950, "azc-nah", Latn, } m["npn"] = { "Mondropolon", 3320594, "poz-aay", } m["npo"] = { "Pochuri Naga", 7206342, "tbq-anp", } m["nps"] = { "Nipsan", 11732528, } m["npu"] = { "Puimei Naga", 7259044, "sit-zem", } m["npy"] = { "Napu", 12953768, } m["nqg"] = { "Ede Nago", 12952408, "alv-ede", } m["nqk"] = { "Kura Ede Nago", 12952409, "alv-ede", } m["nql"] = { "Ngendelengo", 63283693, "bnt-swb", Latn, } m["nqm"] = { "Ndom", 6983791, "ngf", Latn, } m["nqn"] = { "Nen", 20816352, "paa-yam", } m["nqo"] = { "N'Ko", 18546266, "dmn-man", {"Nkoo"}, } m["nqq"] = { "Kyan-Karyaw Naga", 63283784, "sit-tno", } m["nqy"] = { "Akyaung Ari", 4702035, "sit-tng", } m["nra"] = { "Ngom", 36087, "bnt-kel", Latn, } m["nrb"] = { "Nara", 36179, "sdv-nes", } m["nrc"] = { "Noric", 37023, "cel", {"Ital"}, } m["nre"] = { "Southern Rengma Naga", 7313205, "tbq-anp", } m["nrf"] = { "Norman", 33850, "roa-oil", Latn, ancestors = {"frm"}, sort_key = { from = {"[áàâä]", "[éèêë]", "[íìîï]", "[óòôö]", "[úùûü]", "[ýỳŷÿ]", "ç", "æ" , "œ" , "'"}, to = {"a" , "e" , "i" , "o" , "u" , "y" , "c", "ae", "oe"}} , wikimedia_codes = {"nrm"}, } m["nrg"] = { "Narango", 12952929, "poz-vnc", } m["nri"] = { "Chokri Naga", 5104247, "tbq-anp", } m["nrk"] = { "Ngarla", 3915860, "aus-nga", Latn, } m["nrl"] = { "Ngarluma", 7022078, "aus-nga", Latn, } m["nrm"] = { "Narom", 3336135, "poz-swa", Latn, } m["nrn"] = { "Norn", 36708, "gmq", Latn, ancestors = {"non"}, } m["nrp"] = { "North Picene", 430138, nil, {"Ital"}, translit_module = "Ital-translit", } m["nrr"] = { "Norra", 12952967, "tai", } m["nrt"] = { "Northern Kalapuya", 3192121, "nai-klp", } m["nru"] = { "Narua", 21658869, "sit-nax", } m["nrx"] = { "Ngurmbur", 2591251, } m["nrz"] = { "Lala (New Guinea)", 6480151, "poz-ocw", } m["nsa"] = { "Sangtam Naga", 7418144, "sit-aao", } m["nsb"] = { "Lower Nossob", 6693681, "khi-tuu", Latn, } m["nsc"] = { "Nshi", 11129508, "nic-rnn", Latn, } m["nsd"] = { "Southern Nisu", nil, "tbq-lol", } m["nse"] = { "Nsenga", 3081996, "bnt-sna", Latn, } m["nsg"] = { "Ngasa", 56345, "sdv-lma", } m["nsh"] = { "Ngoshie", 7022582, "nic-mom", Latn, } m["nsi"] = { "Nigerian Sign Language", 7033021, "sgn", } m["nsk"] = { "Naskapi", 1704302, "alg", {"Cans"}, ancestors = {"cr"}, translit_module = "nsk-translit", } m["nsl"] = { "Norwegian Sign Language", 1781613, "sgn", } m["nsm"] = { "Sema", 3478238, "tbq-anp", } m["nsn"] = { "Nehan", 3337774, "poz-ocw", } m["nso"] = { "Northern Sotho", 33890, "bnt-sts", Latn, } m["nsp"] = { "Nepalese Sign Language", 3915492, "sgn", } m["nsq"] = { "Northern Sierra Miwok", 3344226, "nai-utn", Latn, } m["nsr"] = { "Maritime Sign Language", 3915483, "sgn", } m["nss"] = { "Nali", 3335385, "poz-aay", } m["nst"] = { "Tangsa", 56350, "sit-tno", Latn, } m["nsu"] = { "Sierra Negra Nahuatl", nil, "azc-nah", Latn, } m["nsv"] = { "Southwestern Nisu", nil, "tbq-lol", } m["nsw"] = { "Navut", 3337327, "poz-vnc", } m["nsx"] = { "Nsongo", 7067577, "bnt-tmb", Latn, } m["nsy"] = { "Nasal", 6966574, } m["nsz"] = { "Nisenan", 33665, "nai-mdu", Latn, } m["ntd"] = { "Northern Tidong", nil, "poz-san", } m["nte"] = { "Nathembo", 11030947, "bnt-mak", } m["ntg"] = { "Ngantangarra", 33060509, } m["nti"] = { "Natioro", 36140, "alv-wan", } m["ntj"] = { "Ngaanyatjarra", 3915409, "aus-pam", Latn, } m["ntk"] = { "Ikoma", 5996114, "bnt-lok", Latn, } m["ntm"] = { "Nateni", 3070731, "nic-grm", Latn, } m["nto"] = { "Ntomba", 11130292, "bnt-mon", Latn, } m["ntp"] = { "Northern Tepehuan", 15615651, "azc", Latn, sort_key = { from = {"á", "é", "í", "ó", "ú"}, to = {"a", "e", "i", "o", "u"} }, } m["ntr"] = { "Delo", 35195, "nic-gne", Latn, } m["nts"] = { "Natagaimas", 6967931, } m["ntu"] = { "Natügu", nil, "poz-oce", } m["ntw"] = { "Nottoway", 3344791, "iro-nor", } m["ntx"] = { "Somra", 7560536, "sit-tng", } m["nty"] = { "Mantsi", 56878, "sit-mnz", } m["nua"] = { "Yuaga", 3573088, "poz-cln", Latn, } m["nuc"] = { "Nukuini", 3346231, } m["nud"] = { "Ngala", 7021893, "paa-spk", Latn, } m["nue"] = { "Ngundu", 12952953, "bad-cnt", Latn, } m["nuf"] = { "Nusu", 56413, "tbq-lol", } m["nug"] = { "Nungali", 7069826, "aus-mir", } m["nuh"] = { "Ndunda", 3913968, "nic-mmb", Latn, } m["nui"] = { "Ngumbi", 36459, "bnt-yko", } m["nuj"] = { "Nyole (Uganda)", 3739448, "bnt-msl", Latn, } m["nuk"] = { "Nootka", 2992876, "wak", Latn, } m["nul"] = { "Nusa Laut", 7070332, "poz-cma", } m["num"] = { "Niuafo'ou", 36173, "poz-pol", Latn, } m["nun"] = { "Anong", 2748232, "sit-nng", } m["nuo"] = { "Nguôn", 3915785, "mkh-vie", } m["nup"] = { "Nupe", 36720, "alv-ngb", Latn, sort_key = { from = {"dz", "gb", "sh", "ts", "zh"}, to = {"d~", "g~", "s~", "t~", "z~"} }, entry_name = { remove_diacritics = ACUTE .. CIRC .. CARON .. GRAVE .. MACRON }, } m["nuq"] = { "Nukumanu", 12909019, "poz-pnp", } m["nur"] = { "Nuguria", 7068910, "poz-pnp", } m["nus"] = { "Nuer", 33675, "sdv-dnu", Latn, } m["nut"] = { "Nung", 72695, "tai", {"Latn", "Hani"}, } m["nuu"] = { "Ngbundu", 11126081, "bad", Latn, } m["nuv"] = { "Northern Nuni", 11016572, "nic-gnn", Latn, } m["nuw"] = { "Nguluwan", 6528643, } m["nux"] = { "Mehek", 6809452, "paa-spk", Latn, } m["nuy"] = { "Nunggubuyu", 1747811, "aus-arn", } m["nuz"] = { "Tlamacazapa Nahuatl", 2073277, "azc-nah", Latn, } m["nvh"] = { "Nasarian", 6966614, "poz-vnc", } m["nvm"] = { "Namiae", 12952922, } m["nvo"] = { "Nyokon", nil, "nic-mbw", Latn, } m["nwa"] = { "Nawathinehena", 6982892, "alg-ara", Latn, } m["nwb"] = { "Nyabwa", 33664, "kro-wee", } m["nwc"] = { "Classical Newar", 5128301, "sit-new", } m["nwe"] = { "Ngwe", 36181, "bai", Latn, } m["nwi"] = { "Southwest Tanna", 3504488, } m["nwm"] = { "Nyamusa-Molo", 12747951, "csu-bbk", } m["nwo"] = { "Nauo", 6981305, "aus-pam", Latn, } m["nwr"] = { "Nawaru", 12638166, "ngf", } m["nwx"] = { "Middle Newar", nil, "sit-new", ancestors = {"nwc"}, } m["nwy"] = { "Nottoway-Meherrin", nil, "iro-nor", } m["nxa"] = { "Nauete", 6981095, "poz-tim", } m["nxd"] = { "Ngando (Congo)", 3913277, "bnt-ske", } m["nxe"] = { "Nage", 2295569, "poz-cet", } m["nxg"] = { "Ngadha", 1516651, "poz-cet", Latn, } m["nxi"] = { "Nindi", 7038230, "bnt-mbi", Latn, } m["nxl"] = { "South Nuaulu", 18544857, "poz-cma", } m["nxm"] = { "Numidian", 35761, "afa", {"Tfng", "Latn"}, --Tfng may not support all the needed characters } m["nxn"] = { "Ngawun", 3915711, "aus-pam", Latn, } m["nxo"] = { "Ndambomo", 6983681, "bnt-kel", Latn, } m["nxq"] = { "Naxi", 2478711, "sit-nax", } m["nxr"] = { "Ninggerum", 11732526, "ngf-okk", Latn, } m["nxu"] = { "Narau", 6965452, "ngf", Latn, } m["nxx"] = { "Nafri", 6958211, "paa-sen", Latn, } m["nyb"] = { "Nyangbo", 36256, "alv-ktg", Latn, } m["nyc"] = { "Nyanga-li", 7070876, "bnt-boa", Latn, } m["nyd"] = { "Nyole (Kenya)", 7071227, "bnt-msl", Latn, } m["nye"] = { "Nyengo", 7071068, "bnt-clu", Latn, } m["nyf"] = { "Giryama", 3107606, "bnt-mij", Latn, } m["nyg"] = { "Nyindu", 11030685, "bnt-shh", Latn, } m["nyh"] = { "Nyigina", 3913780, "aus-nyu", Latn, } m["nyi"] = { "Nyimang", 34846, "sdv-nyi", Latn, } m["nyj"] = { "Nyanga (Congo)", 7070879, "bnt-nyb", Latn, } m["nyk"] = { "Nyaneka", 10962298, "bnt-swb", Latn, } m["nyl"] = { "Nyeu", 3033578, "mkh-kat", } m["nym"] = { "Nyamwezi", 4121131, "bnt-tkm", Latn, } m["nyn"] = { "Nyankole", 13207, "bnt-nyg", Latn, } m["nyo"] = { "Nyoro", 33794, "bnt-nyg", Latn, } m["nyp"] = { "Nyang'i", 7070894, "ssa-klk", } m["nys"] = { "Nyunga", 7049771, "aus-pam", Latn, } m["nyt"] = { "Nyawaygi", 3915783, "aus-dyb", } m["nyu"] = { "Nyungwe", 7071318, "bnt-sna", Latn, } m["nyv"] = { "Nyulnyul", 3442732, "aus-nyu", Latn, } m["nyw"] = { "Nyaw", 26425602, "tai", {"Thai", "Latn"}, -- Vietnamese alphabet } m["nyx"] = { "Nganyaywana", 3913800, "aus-cww", Latn, } m["nyy"] = { "Nyakyusa", 3272620, "bnt-run", Latn, } m["nza"] = { "Tigon Mbembe", 36518, "nic-jkn", Latn, } m["nzb"] = { "Njebi", 35923, "bnt-nze", Latn, } m["nzd"] = { "Nzadi", 17152586, "bnt-bdz", Latn, entry_name = { from = {"[ÀÂǍÁ]", "[àâǎá]", "[ÈÊĚÉ]", "[èêěé]", "[ÌÎǏÍ]", "[ìîǐí]", "[ÒÔǑÓ]", "[òôǒó]", "[ÙÛǓÚ]", "[ùûǔú]", "[ǹń]", "ḿ", "[`ˋ]", GRAVE, CIRC, CARON, ACUTE}, to = {"A", "a", "E", "e", "I", "i", "O", "o", "U", "u", "n", "m"}}, } m["nzi"] = { "Nzima", 36337, "alv-ctn", } m["nzk"] = { "Nzakara", 3913339, "znd", Latn, } m["nzm"] = { "Zeme Naga", 21491053, "sit-zem", } m["nzs"] = { "New Zealand Sign Language", 36239, "sgn", } m["nzu"] = { "Central Teke", 36473, "bnt-tkc", } m["nzy"] = { "Nzakambay", 36374, "alv-mbm", Latn, } m["nzz"] = { "Nanga Dama Dogon", 6963443, "nic-nwa", } return m 9ta374k4apv3fxri3jrt4uhbh483pew Module:languages/data3/m 828 3096 8486 2022-10-04T03:58:42Z Rebel Agent 2678 Ke dirile module 8486 Scribunto text/plain local u = mw.ustring.char -- UTF-8 encoded strings for some commonly used diacritics local GRAVE = u(0x0300) local ACUTE = u(0x0301) local CIRC = u(0x0302) local TILDE = u(0x0303) local MACRON = u(0x0304) local BREVE = u(0x0306) local DOTABOVE = u(0x0307) local DIAER = u(0x0308) local CARON = u(0x030C) local DGRAVE = u(0x030F) local INVBREVE = u(0x0311) local DOTBELOW = u(0x0323) local RINGBELOW = u(0x0325) local CEDILLA = u(0x0327) local Cyrl = {"Cyrl"} local Latn = {"Latn"} local m = {} m["maa"] = { "San Jerónimo Tecóatl Mazatec", 7692927, "omq-maz", Latn, } m["mab"] = { "Yutanduchi Mixtec", 12645448, "omq-mxt", Latn, } m["mad"] = { "Madurese", 36213, "poz-msa", Latn, } m["mae"] = { "Bo-Rukul", 34967, "nic-ple", Latn, } m["maf"] = { "Mafa", 35819, "cdc-cbm", Latn, } m["mag"] = { "Magahi", 33728, "inc-eas", {"Deva", "Kthi"}, ancestors = {"bh"}, } m["mai"] = { "Maithili", 36109, "inc-eas", {"Tirh", "Kthi", "Newa", "Deva"}, ancestors = {"bh"}, translit_module = "translit-redirect", } m["maj"] = { "Jalapa de Díaz Mazatec", 3915999, "omq-maz", Latn, } m["mak"] = { "Makasar", 33643, "poz-ssw", {"Latn", "Maka"}, } m["mam"] = { "Mam", 33467, "myn", Latn, } m["man"] = { "Mandingo", 35772, "dmn-man", Latn, } m["maq"] = { "Chiquihuitlán Mazatec", 5101757, "omq-maz", Latn, } m["mas"] = { "Maasai", 35787, "sdv-lma", Latn, } m["mat"] = { "Matlatzinca", 12953704, "omq", Latn, } m["mau"] = { "Huautla Mazatec", 36230, "omq-maz", Latn, } m["mav"] = { "Sateré-Mawé", 6794475, "tup", Latn, } m["maw"] = { "Mampruli", 35804, "nic-wov", Latn, } m["max"] = { "North Moluccan Malay", 7056136, "crp", Latn, } m["maz"] = { "Central Mazahua", 36228, "oto", Latn, } m["mba"] = { "Higaonon", 5753411, "mno", Latn, } m["mbb"] = { "Western Bukidnon Manobo", 7987643, "mno", Latn, } m["mbc"] = { "Macushi", 56633, "sai-pem", Latn, } m["mbd"] = { "Dibabawon Manobo", 18755523, "mno", Latn, } m["mbe"] = { "Molale", 3319444, "nai-plp", Latn, } m["mbf"] = { "Baba Malay", 18642798, "crp", Latn, ancestors = {"ms"}, } m["mbh"] = { "Mangseng", 6749147, "poz-ocw", Latn, } m["mbi"] = { "Ilianen Manobo", 14916911, "mno", Latn, } m["mbj"] = { "Nadëb", 3335011, "sai-nad", Latn, } m["mbk"] = { "Malol", 6744477, "poz-ocw", Latn, } m["mbl"] = { "Maxakalí", 3029682, "sai-mje", Latn, } m["mbm"] = { "Ombamba", 36407, "bnt-mbt", Latn, } m["mbn"] = { "Macaguán", 3273980, "sai-guh", Latn, } m["mbo"] = { -- is, like 'bqz', 'bsi' and 'bss', a dialect of Manenguba "Mbo (Cameroon)", nil, "bnt-mne", Latn, } m["mbp"] = { "Wiwa", 3012604, "cba", Latn, } m["mbq"] = { "Maisin", 3448149, nil, Latn, } m["mbr"] = { "Nukak Makú", 3346228, "sai-nad", Latn, } m["mbs"] = { "Sarangani Manobo", 7423093, "mno", Latn, } m["mbt"] = { "Matigsalug Manobo", 6787447, "mno", Latn, } m["mbu"] = { "Mbula-Bwazza", 3913324, "nic-jrn", Latn, } m["mbv"] = { "Mbulungish", 36003, "alv-nal", Latn, } m["mbw"] = { "Maring", 3293280, nil, Latn, } m["mbx"] = { "Sepik Mari", 6760942, "paa-spk", Latn, } m["mby"] = { "Memoni", 4180871, "inc-snd", {"Gujr", "ur-Arab"}, ancestors = {"inc-vra"}, } m["mbz"] = { "Amoltepec Mixtec", 13583504, "omq-mxt", Latn, } m["mca"] = { "Maca", 3281043, "sai-mtc", Latn, } m["mcb"] = { "Machiguenga", 3915441, "awd", Latn, } m["mcc"] = { "Bitur", 4919173, } m["mcd"] = { "Sharanahua", 12953881, "sai-pan", Latn, } m["mce"] = { "Itundujia Mixtec", 12953727, "omq-mxt", Latn, } m["mcf"] = { "Matsés", 2981620, "sai-pan", Latn, } m["mcg"] = { "Mapoyo", 56946, "sai-map", Latn, } m["mch"] = { "Maquiritari", 3082027, "sai-car", Latn, } m["mci"] = { "Mese", 6821190, } m["mcj"] = { "Mvanip", 3913281, "nic-mmb", Latn, } m["mck"] = { "Mbunda", 34170, "bnt-clu", Latn, } m["mcl"] = { "Macaguaje", 6722435, "sai-tuc", Latn, } m["mcm"] = { "Kristang", 2669169, "crp", Latn, ancestors = {"pt"}, } m["mcn"] = { "Masana", 56668, "cdc-mas", } m["mco"] = { "Coatlán Mixe", 25559716, "nai-miz", Latn, } m["mcp"] = { "Makaa", 35803, "bnt-mka", } m["mcq"] = { "Ese", 5397551, "ngf", Latn, } m["mcr"] = { "Menya", 11732444, "ngf", } m["mcs"] = { "Mambai", 6748872, "alv-mbm", } m["mcu"] = { "Cameroon Mambila", 19359039, "nic-mmb", Latn, } m["mcv"] = { "Minanibai", 6863167, "ngf", } m["mcw"] = { "Mawa", 3441333, "cdc-est", Latn, } m["mcx"] = { "Mpiemo", 35908, "bnt-bek", } m["mcy"] = { "South Watut", 12953293, "poz-ocw", } m["mcz"] = { "Mawan", 11732429, "ngf-mad", } m["mda"] = { "Mada (Nigeria)", 3915843, "nic-nin", Latn, } m["mdb"] = { "Morigi", 6912195, "paa-kiw", } m["mdc"] = { "Male", 6742927, "ngf-mad", } m["mdd"] = { "Mbum", 36170, "alv-mbm", } m["mde"] = { "Bura Mabang", 35860, "ssa", } m["mdf"] = { "Moksha", 13343, "urj-mdv", Cyrl, translit_module = "mdf-translit", override_translit = true, } m["mdg"] = { "Massalat", 759984, } m["mdh"] = { "Maguindanao", 33717, "phi", {"Latn", "Arab"}, } m["mdi"] = { "Mamvu", 3033594, "csu-mle", } m["mdj"] = { "Mangbetu", 56327, "csu-maa", } m["mdk"] = { "Mangbutu", 6748877, "csu-mle", } m["mdl"] = { "Maltese Sign Language", 6744816, "sgn", } m["mdm"] = { "Mayogo", 6797580, "nic-nke", Latn, } m["mdn"] = { "Mbati", 36165, "bnt-ngn", } m["mdp"] = { "Mbala", 6799583, "bnt-pen", } m["mdq"] = { "Mbole", 6799727, "bnt-mbe", } m["mdr"] = { "Mandar", 35995, "poz-ssw", {"Bugi", "Latn"}, } m["mds"] = { "Maria", 3448673, } m["mdt"] = { "Mbere", 36062, "bnt-mbt", } m["mdu"] = { "Mboko", 36058, "bnt-mbo", } m["mdv"] = { "Santa Lucía Monteverde Mixtec", 12953722, "omq-mxt", Latn, } m["mdw"] = { "Mbosi", 36035, "bnt-mbo", } m["mdx"] = { "Dizin", 35313, "omv-diz", } m["mdy"] = { "Maale", 795327, "omv-ome", } m["mdz"] = { "Suruí Do Pará", 10322149, "tup-gua", Latn, } m["mea"] = { "Menka", 36078, "nic-grs", Latn, } m["meb"] = { "Ikobi-Mena", 11732241, "ngf", Latn, } m["mec"] = { "Mara", 6772774, } m["med"] = { "Melpa", 36166, } m["mee"] = { "Mengen", 3305831, "poz-ocw", } m["mef"] = { "Megam", 6808589, } m["meg"] = { "Mea", 12952836, "poz-cln", } m["meh"] = { "Southwestern Tlaxiaco Mixtec", 7070686, "omq-mxt", Latn, } m["mei"] = { "Midob", 36007, "nub", Latn, } m["mej"] = { "Meyah", 11732436, "paa-wpa", } m["mek"] = { "Mekeo", 3304803, "poz-ocw", } m["mel"] = { "Central Melanau", 18638319, "poz-swa", Latn, } m["mem"] = { "Mangala", 6748664, } m["men"] = { "Mende", 1478672, "dmn-msw", {"Latn", "Mend"}, } m["meo"] = { "Kedah Malay", 4925684, "poz-mly", {"Latn", "ms-Arab", "Thai"}, } m["mep"] = { "Miriwung", 3111847, } m["meq"] = { "Merey", 3502314, "cdc-cbm", Latn, } m["mer"] = { "Meru", 13313, "bnt-kka", Latn, } m["mes"] = { "Masmaje", 3440448, } m["met"] = { "Mato", 3299190, "poz-ocw", Latn, } m["meu"] = { "Motu", 33516, "poz-ocw", Latn, } m["mev"] = { "Mano", 3913286, "dmn-mda", Latn, } m["mew"] = { "Maaka", 3438764, "cdc-wst", Latn, } m["mey"] = { "Hassaniya", 56231, "sem-arb", {"Arab"}, } m["mez"] = { "Menominee", 13363, "alg", Latn, sort_key = { from = {"·"}, to = {""}} , } m["mfa"] = { "Pattani Malay", 1199751, "poz-mly", {"ms-Arab", "Thai"}, entry_name = { from = {u(0xF70F)}, to = {"ญ"}} , sort_key = { from = {"[%pๆ]", "[็-๎]", "([เแโใไ])([ก-ฮ])"}, to = {"", "", "%2%1"}}, } m["mfb"] = { "Bangka", 3258818, } m["mfc"] = { "Mba", 4286464, "nic-mbc", Latn, } m["mfd"] = { "Mendankwe-Nkwen", 11129537, "nic-nge", Latn, } m["mfe"] = { "Mauritian Creole", 33661, "crp", Latn, ancestors = {"fr"}, } m["mff"] = { "Naki", 36083, "nic-bbe", Latn, } m["mfg"] = { "Mixifore", 3914478, "dmn-mok", } m["mfh"] = { "Matal", 3501751, "cdc-cbm", Latn, } m["mfi"] = { "Wandala", 3441249, "cdc-cbm", Latn, } m["mfj"] = { "Mefele", 3501871, "cdc-cbm", } m["mfk"] = { "North Mofu", 56303, "cdc-cbm", } m["mfl"] = { "Putai", 56291, } m["mfm"] = { "Marghi South", 56248, } m["mfn"] = { "Cross River Mbembe", 3915395, "nic-uce", Latn, } m["mfo"] = { "Mbe", 36075, "nic-eko", Latn, } m["mfp"] = { "Makassar Malay", 12952776, "qfa-mix", Latn, } m["mfq"] = { "Moba", 19921578, "nic-grm", Latn, } m["mfr"] = { "Marrithiyel", 6773014, "aus-dal", Latn, } m["mfs"] = { "Mexican Sign Language", 3915511, "sgn", Latn, -- when documented } m["mft"] = { "Mokerang", 3319387, "poz-aay", Latn, } m["mfu"] = { "Mbwela", 11004988, "bnt-clu", ancestors = {"lch"}, } m["mfv"] = { "Mandjak", 35822, "alv-pap", } m["mfw"] = { "Mulaha", 6933720, } m["mfx"] = { "Melo", 6813268, "omv-nom", } m["mfy"] = { "Mayo", 56729, "azc-trc", Latn, sort_key = { from = {"á", "é", "í", "ó", "ú"}, to = {"a", "e", "i", "o", "u"}}, } m["mfz"] = { "Mabaan", 20526385, "sdv", } m["mga"] = { "Middle Irish", 36116, "cel-gae", Latn, ancestors = {"sga"}, entry_name = { from = {"ḟ", "ṁ", "ṅ", "ṡ", "Ḟ", "Ṁ", "Ṅ", "Ṡ", "ä", "ë", "ï", "ö", "ü", "·"}, to = {"f", "m", "n", "s", "F", "M", "N", "S", "a", "e", "i", "o", "u"}} , sort_key = { from = {"á", "é", "æ", "ǽ", "í", "ó", "ú", "^h", "-"}, to = {"a", "e", "e", "e", "i", "o", "u"}} , } m["mgb"] = { "Mararit", 56359, "sdv-tmn", } m["mgc"] = { "Morokodo", 6913216, "csu-bbk", Latn, } m["mgd"] = { "Moru", 6915014, "csu-mma", } m["mge"] = { "Mango", 713659, "csu-sar", } m["mgf"] = { "Maklew", 6739816, } m["mgg"] = { "Mpongmpong", 35924, "bnt-bek", } m["mgh"] = { "Makhuwa-Meetto", 33604, "bnt-mak", Latn, ancestors = {"vmw"}, } m["mgi"] = { "Jili", 3914497, "nic-pls", } m["mgj"] = { "Abureni", 3441256, "nic-cde", Latn, } m["mgk"] = { "Mawes", 6794395, "paa", } m["mgl"] = { "Maleu-Kilenge", 3281884, } m["mgm"] = { "Mambae", 35774, "poz-tim", Latn, } m["mgn"] = { "Mbangi", 11017443, "nic-ngd", Latn, } m["mgo"] = { "Meta'", 36054, "nic-mom", Latn, } m["mgp"] = { "Eastern Magar", 12952758, "sit-gma", } m["mgq"] = { "Malila", 6743679, "bnt-mby", Latn, } m["mgr"] = { "Mambwe-Lungu", 626210, "bnt-mwi", Latn, } m["mgs"] = { "Manda (Tanzania)", 16939267, "bnt-bki", } m["mgt"] = { "Mongol", 11260674, "paa", Latn, } m["mgu"] = { "Mailu", 3278246, "ngf", } m["mgv"] = { "Matengo", 6786446, "bnt-mbi", Latn, } m["mgw"] = { "Matumbi", 6791974, "bnt-mbi", Latn, } m["mgy"] = { "Mbunga", 6799817, "bnt-kil", } m["mgz"] = { "Mbugwe", 3426367, "bnt-mra", } m["mha"] = { "Manda (India)", 56760, "dra", } m["mhb"] = { "Mahongwe", 35816, "bnt-kel", } m["mhc"] = { "Mocho", 1941682, "myn", } m["mhd"] = { "Mbugu", 36152, "qfa-mix", Latn, ancestors = {"asa"}, } m["mhe"] = { "Besisi", 2742262, "mkh-asl", } m["mhf"] = { "Mamaa", 6745346, "ngf-fin", Latn, } m["mhg"] = { "Margu", 6772812, } m["mhi"] = { "Ma'di", 56670, "csu-mma", } m["mhj"] = { "Mogholi", 13336, "xgn", } m["mhk"] = { "Mungaka", 36068, "nic-nun", Latn, } m["mhl"] = { "Mauwake", 6794095, "ngf-mad", } m["mhm"] = { "Makhuwa-Moniga", 6900145, "bnt-mak", } m["mhn"] = { "Mòcheno", 268130, "gmw", Latn, ancestors = {"bar"}, sort_key = { from = {"è", "ò"}, to = {"e", "o"} }, } m["mho"] = { "Mashi", 10962737, "bnt-kav", Latn, } m["mhp"] = { "Balinese Malay", 12473441, "crp", } m["mhq"] = { "Mandan", 1957120, "sio", } m["mhs"] = { "Buru (Indonesia)", 2928650, "poz-cma", } m["mht"] = { "Mandahuaca", 6747924, "awd-nwk", } m["mhu"] = { "Taraon", 56400, "sit-gsi", Latn, } m["mhw"] = { "Mbukushu", 2691548, } m["mhx"] = { "Lhao Vo", 11149315, "tbq-brm", } m["mhy"] = { "Ma'anyan", 2328761, "poz-bre", } m["mhz"] = { "Mor (Austronesian)", 2122792, "poz-hce", Latn, } m["mia"] = { "Miami", 56523, "alg", Latn, } m["mib"] = { "Atatláhuca Mixtec", 32093046, "omq-mxt", Latn, } m["mic"] = { "Mi'kmaq", 13321, "alg-eas", Latn, } m["mid"] = { "Mandaic", 6991742, "sem-ase", {"Mand"}, ancestors = {"myz"}, } m["mie"] = { "Ocotepec Mixtec", 25559575, "omq-mxt", Latn, } m["mif"] = { "Mofu-Gudur", 1365132, "cdc-cbm", Latn, } m["mig"] = { "San Miguel el Grande Mixtec", 12953719, "omq-mxt", Latn, } m["mih"] = { "Chayuco Mixtec", 13583510, "omq-mxt", Latn, } m["mii"] = { "Chigmecatitlán Mixtec", 12953724, "omq-mxt", Latn, } m["mij"] = { "Mungbam", 34725, "nic-beb", Latn, } m["mik"] = { "Mikasuki", 13316, "nai-mus", Latn, } m["mil"] = { "Peñoles Mixtec", 42411307, "omq-mxt", Latn, } m["mim"] = { "Alacatlatzala Mixtec", 14697894, "omq-mxt", Latn, } m["min"] = { "Minangkabau", 13324, "poz-mly", {"Latn", "Arab"}, } m["mio"] = { "Pinotepa Nacional Mixtec", 7196415, "omq-mxt", Latn, } m["mip"] = { "Apasco-Apoala Mixtec", 13583505, "omq-mxt", Latn, } m["miq"] = { "Miskito", 1516803, "nai-min", Latn, entry_name = { from = {"Â", "â", "Î", "î", "Û", "û"}, to = {"A", "a", "I", "i", "U", "u"}}, } m["mir"] = { "Isthmus Mixe", 6088873, "nai-miz", } m["mit"] = { "Southern Puebla Mixtec", 7570345, "omq-mxt", Latn, } m["miu"] = { "Cacaloxtepec Mixtec", 12953723, "omq-mxt", Latn, } m["miw"] = { "Akoye", 3327462, "ngf", Latn, } m["mix"] = { "Mixtepec Mixtec", 6884125, "omq-mxt", Latn, } m["miy"] = { "Ayutla Mixtec", 13583508, "omq-mxt", Latn, } m["miz"] = { "Coatzospan Mixtec", 3317290, "omq-mxt", Latn, } m["mjb"] = { "Makalero", 35729, "ngf", Latn, } m["mjc"] = { "San Juan Colorado Mixtec", 12953718, "omq-mxt", Latn, } m["mjd"] = { "Northwest Maidu", 3198700, "nai-mdu", Latn, } m["mje"] = { "Muskum", 3913334, } -- mjg "Monguor" is not recognized as a language, but it is a family code m["mji"] = { "Kim Mun", 1115317, "hmx-mie", } m["mjj"] = { "Mawak", 11732427, "ngf-mad", } m["mjk"] = { "Matukar", 6791963, "poz-ocw", Latn, } m["mjl"] = { "Mandeali", 6747931, "him", {"Deva", "Takr"}, translit_module = "hi-translit", } m["mjm"] = { "Medebur", 6805227, "poz-ocw", Latn, } m["mjn"] = { "Mebu", 6804364, "ngf-fin", } m["mjo"] = { "Malankuravan", 14916887, "dra", } m["mjp"] = { "Malapandaram", 10575729, "dra", } m["mjq"] = { "Malaryan", 12952773, "dra", } m["mjr"] = { "Malavedan", 12952775, "dra", } m["mjs"] = { "Miship", 3441264, "cdc-wst", Latn, } m["mjt"] = { "Sawriya Paharia", 33907, "dra", {"Beng", "Deva"}, } m["mju"] = { "Manna-Dora", 10576453, "dra", ancestors = {"te"}, } m["mjv"] = { "Mannan", 3286037, "dra", } m["mjw"] = { "Karbi", 56591, "tbq-kuk", Latn, } m["mjx"] = { "Mahali", 12953686, "mun", } m["mjy"] = { "Mahican", 3182562, "alg-eas", Latn, } m["mjz"] = { "Majhi", 6737786, "inc-eas", ancestors = {"bh"}, } m["mka"] = { "Mbre", 3450154, "nic", --unclassified within niger-congo tho } m["mkb"] = { "Mal Paharia", 6583595, } m["mkc"] = { "Siliput", 7515090, "qfa-tor", Latn, } m["mke"] = { "Mawchi", 21403317, } m["mkf"] = { "Miya", 43328, "cdc-wst", Latn, } m["mkg"] = { "Mak (China)", 3280623, "qfa-kms", } m["mki"] = { "Dhatki", 32480, "inc-wes", ancestors = {"mwr"}, } m["mkj"] = { "Mokilese", 2335528, "poz-mic", Latn, } m["mkk"] = { "Byep", 35052, "bnt-mka", } m["mkl"] = { "Mokole", 36047, } m["mkm"] = { "Moklen", 3319380, } m["mkn"] = { "Kupang Malay", 18458203, "crp", } m["mko"] = { "Mingang Doso", 3915382, "alv-bwj", } m["mkp"] = { "Moikodi", 6894594, "ngf", } m["mkq"] = { "Bay Miwok", 3460957, "nai-you", Latn, } m["mkr"] = { "Malas", 11732402, "ngf-mad", } m["mks"] = { "Silacayoapan Mixtec", 7514027, "omq-mxt", Latn, } m["mkt"] = { "Vamale", 14916907, "poz-cln", Latn, } m["mku"] = { "Konyanka Maninka", 11163298, "dmn-mnk", } m["mkv"] = { "Mafea", 3073532, "poz-vnc", Latn, } m["mkx"] = { "Cinamiguin Manobo", 12953697, "mno", } m["mky"] = { "East Makian", 3512690, "poz-hce", Latn, } m["mkz"] = { "Makasae", 35782, "ngf", } m["mla"] = { "Tamambo", 1153276, "poz-vnc", Latn, } m["mlb"] = { "Mbule", 35843, "nic-ymb", Latn, } m["mlc"] = { "Caolan", 3446682, "tai-cho", {"Latn", "Hani"}, } m["mle"] = { "Manambu", 11732406, "paa-spk", Latn, } m["mlf"] = { "Mal", 3281057, "mkh-khm", } m["mlh"] = { "Mape", 6753787, } m["mli"] = { "Malimpung", 12473435, } m["mlj"] = { "Miltu", 3441310, } m["mlk"] = { "Ilwana", 6001357, "bnt-sab", } m["mll"] = { "Malua Bay", 6744946, "poz-vnc", Latn, } m["mlm"] = { "Mulam", 3092284, "qfa-kms", Latn, } m["mln"] = { "Malango", 3281522, "poz-sls", Latn, } m["mlo"] = { "Mlomp", 36009, "alv-bak", } m["mlp"] = { "Bargam", 4860543, "ngf-mad", Latn, } m["mlq"] = { "Western Maninkakan", 11028033, "dmn-wmn", } m["mlr"] = { "Vame", 3515088, } m["mls"] = { "Masalit", 56557, "ssa", } m["mlu"] = { "To'abaita", 36645, "poz-sls", Latn, } m["mlv"] = { "Mwotlap", 2475538, "poz-vnc", Latn, } m["mlw"] = { "Moloko", 1965222, "cdc-cbm", Latn, } m["mlx"] = { "Malfaxal", 2157421, "poz-vnc", Latn, } m["mlz"] = { "Malaynon", 18755512, "phi", } m["mma"] = { "Mama", 3913963, "nic-jrn", } m["mmb"] = { "Momina", 6897297, } m["mmc"] = { "Michoacán Mazahua", 12953705, "oto", Latn, } m["mmd"] = { "Maonan", 3092293, "qfa-kms", } m["mme"] = { "Mae", 3276286, "poz-vnc", Latn, } m["mmf"] = { "Mundat", 56263, "cdc-wst", Latn, } m["mmg"] = { "North Ambrym", 2842468, "poz-vnc", Latn, } m["mmh"] = { "Mehináku", 3501838, "awd", Latn, } m["mmi"] = { "Musar", 6940113, "ngf-mad", } m["mmj"] = { "Majhwar", 6737795, } m["mmk"] = { "Mukha-Dora", 6933447, } m["mml"] = { "Man Met", 3194984, "mkh-pal", } m["mmm"] = { "Maii", 6735599, "poz-vnc", Latn, } m["mmn"] = { "Mamanwa", 3206623, "phi", Latn, } m["mmo"] = { "Mangga Buang", 12952294, "poz-ocw", Latn, } m["mmp"] = { "Musan", 2605703, "paa-asa", } m["mmq"] = { "Aisi", 6940074, "ngf-mad", Latn, } m["mmr"] = { "Western Xiangxi Miao", 3307901, "hmn", } m["mmt"] = { "Malalamai", 3281496, "poz-ocw", Latn, } m["mmu"] = { "Mmaala", 13123461, "nic-ymb", Latn, } m["mmv"] = { "Miriti", 6873567, "sai-tuc", Latn, } m["mmw"] = { "Emae", 3051961, "poz-pnp", Latn, } m["mmx"] = { "Madak", 3275205, "poz-ocw", Latn, } m["mmy"] = { "Migaama", 56259, "cdc-est", Latn, } m["mmz"] = { "Mabaale", 11003249, "bnt-ngn", } m["mna"] = { "Mbula", 3303572, "poz-ocw", Latn, } m["mnb"] = { "Muna", 6935584, "poz-mun", Latn, } m["mnc"] = { "Manchu", 33638, "tuw", {"Mong"}, ancestors = {"juc"}, translit_module = "mnc-translit", } m["mnd"] = { "Mondé", 6898840, "tup", Latn, } m["mne"] = { "Naba", 760732, "csu-bgr", } m["mnf"] = { "Mundani", 35839, "nic-mom", Latn, } m["mng"] = { "Eastern Mnong", 12953747, "mkh-ban", } m["mnh"] = { "Mono (Congo)", 33501, "bad-cnt", Latn, } m["mni"] = { "Manipuri", 33868, "sit", {"Mtei", "Beng"}, ancestors = {"omp"}, translit_module = "translit-redirect", } m["mnj"] = { "Munji", 33639, "ira-mny", ancestors = {"ira-mny-pro"}, } m["mnk"] = { "Mandinka", 33678, "dmn-wmn", Latn, } m["mnl"] = { "Tiale", 6744350, "poz-vnc", Latn, } m["mnm"] = { "Mapena", 11732415, } m["mnn"] = { "Southern Mnong", 23857582, } m["mnp"] = { "Min Bei", 36457, "zhx-min-shn", {"Hani"}, } m["mnq"] = { "Minriq", 2742268, "mkh-asl", } m["mnr"] = { "Mono (California)", 33591, "azc-num", Latn, } m["mns"] = { "Mansi", 33759, "urj-ugr", Cyrl, translit_module = "mns-translit", override_translit = true, } m["mnt"] = { "Maykulan", 3915696, "aus-pam", Latn, } m["mnu"] = { "Mer", 6817854, } m["mnv"] = { "Rennellese", 3397346, "poz-pnp", Latn, } m["mnw"] = { "Mon", 13349, "mkh-mnc", {"Mymr"}, ancestors = {"mkh-mmn"}, sort_key = { from = {"ျ", "ြ", "ွ", "ှ", "ၞ", "ၟ", "ၠ", "ၚ", "ဿ"}, to = {"္ယ", "္ရ", "္ဝ", "္ဟ", "္န", "္မ", "္လ", "င", "သ္သ"}}, } m["mnx"] = { "Manikion", 3507964, "paa-wpa", } m["mny"] = { "Manyawa", 11002622, "bnt-mak", ancestors = {"vmw"}, } m["mnz"] = { "Moni", 6899857, } m["moa"] = { "Mwan", 3320111, "dmn-nbe", Latn, } m["moc"] = { "Mocoví", 3027906, "sai-guc", Latn, } m["mod"] = { "Mobilian", 13333, "crp", Latn, ancestors = {"cho", "cic"}, } m["moe"] = { "Montagnais", 13351, "alg", Latn, ancestors = {"cr"}, entry_name = { from = {"Ā", "ā", "Ē", "ē", "Ī", "ī", "Ō", "ō", "Ū", "ū"}, to = {"A", "a", "E", "e", "I", "i", "O", "o", "U", "u"}} , } m["mog"] = { "Mongondow", 3058458, "phi", Latn, } m["moh"] = { "Mohawk", 13339, "iro-nor", Latn, } m["moi"] = { "Mboi", 3914417, "alv-yun", } m["moj"] = { "Monzombo", 11154772, "nic-nkk", Latn, } m["mok"] = { "Morori", 6913275, } m["mom"] = { "Monimbo", 56542, } m["moo"] = { "Monom", 6901726, "mkh-ban", } m["mop"] = { "Mopan Maya", 36183, "myn", Latn, } m["moq"] = { "Mor (Papuan)", 11732468, "paa", } m["mor"] = { "Moro", 36172, "alv-hei", } m["mos"] = { "Moore", 36096, "nic-mre", Latn, } m["mot"] = { "Barí", 2886281, "cba", Latn, } m["mou"] = { "Mogum", 3440473, "cdc-est", Latn, } m["mov"] = { "Mojave", 56510, "nai-yuc", Latn, } m["mow"] = { "Moi (Congo)", 11124792, "bnt-bmo", Latn, } m["mox"] = { "Molima", 3319495, "poz-ocw", Latn, } m["moy"] = { "Shekkacho", 56827, "omv-gon", } m["moz"] = { "Mukulu", 3440403, "cdc-est", } m["mpa"] = { "Mpoto", 6928303, "bnt-mbi", } m["mpb"] = { "Mullukmulluk", 6741120, } m["mpc"] = { "Mangarayi", 6748829, } m["mpd"] = { "Machinere", 12953681, "awd", Latn, } m["mpe"] = { "Majang", 56724, "sdv", } m["mpg"] = { "Marba", 56614, "cdc-mas", } m["mph"] = { "Maung", 6792550, "aus-wdj", Latn, } m["mpi"] = { "Mpade", 3280670, "cdc-cbm", Latn, } m["mpj"] = { "Martu Wangka", 3295916, "aus-pam", Latn, } m["mpk"] = { "Mbara (Chad)", 3912770, "cdc-cbm", } m["mpl"] = { "Middle Watut", 15887910, "poz-ocw", Latn, } m["mpm"] = { "Yosondúa Mixtec", 12953741, "omq-mxt", Latn, } m["mpn"] = { "Mindiri", 6863842, "poz-ocw", Latn, } m["mpo"] = { "Miu", 6883668, "poz-ocw", Latn, } m["mpp"] = { "Migabac", 11732448, } m["mpq"] = { "Matís", 3299145, "sai-pan", Latn, } m["mpr"] = { "Vangunu", 3554582, "poz-ocw", Latn, } m["mps"] = { "Dadibi", 5208077, "ngf", Latn, } m["mpt"] = { "Mian", 12952846, "ngf-okk", Latn, } m["mpu"] = { "Makuráp", 3281037, "tup", Latn, } m["mpv"] = { "Mungkip", 11732485, "ngf-fin", Latn, } m["mpw"] = { "Mapidian", 6753812, "awd", Latn, } m["mpx"] = { "Misima-Paneati", 6875666, "poz-ocw", Latn, } m["mpy"] = { "Mapia", 3287224, "poz-mic", Latn, } m["mpz"] = { "Mpi", 6928276, "tbq-lol", } m["mqa"] = { "Maba", 3273750, } m["mqb"] = { "Mbuko", 3502213, "cdc-cbm", Latn, } m["mqc"] = { "Mangole", 6749097, "poz-cma", Latn, } m["mqe"] = { "Matepi", 11732426, "ngf-mad", } m["mqf"] = { "Momuna", 6897518, } m["mqg"] = { "Kota Bangun Kutai Malay", 12952778, } m["mqh"] = { "Tlazoyaltepec Mixtec", 12953740, "omq-mxt", Latn, } m["mqi"] = { "Mariri", 6765544, } m["mqj"] = { "Mamasa", 6745452, "poz-ssw", Latn, } m["mqk"] = { "Rajah Kabunsuwan Manobo", 12953700, "mno", } m["mql"] = { "Mbelime", 4286473, "nic-eov", } m["mqm"] = { "South Marquesan", 19694214, "poz-pep", Latn, } m["mqn"] = { "Moronene", 642581, "poz-btk", Latn, } m["mqo"] = { "Modole", 11732457, "paa-nha", } m["mqp"] = { "Manipa", 6749799, "poz-cma", Latn, } m["mqq"] = { "Minokok", 18642293, } m["mqr"] = { "Mander", 6747979, "paa-tkw", } m["mqs"] = { "West Makian", 3033575, "paa-nha", } m["mqt"] = { "Mok", 13018559, "mkh-pal", } m["mqu"] = { "Mandari", 3285426, "sdv-bri", } m["mqv"] = { "Mosimo", 11732478, "ngf-mad", Latn, } m["mqw"] = { "Murupi", 11732486, "ngf-mad", Latn, } m["mqx"] = { "Mamuju", 6746004, "poz-ssw", Latn, } m["mqy"] = { "Manggarai", 3285748, "poz-cet", Latn, } m["mqz"] = { "Malasanga", 14916889, "poz-ocw", Latn, } m["mra"] = { "Mlabri", 3073465, "mkh", } m["mrb"] = { "Marino", 3293299, } m["mrc"] = { "Maricopa", 56386, "nai-yuc", Latn, } m["mrd"] = { "Western Magar", 22303263, "sit-gma", } m["mre"] = { "Martha's Vineyard Sign Language", 33494, "sgn", {"Latn", "Sgnw"}, } m["mrf"] = { "Elseng", 3915667, "paa-brd", } m["mrg"] = { "Mising", 3316328, "sit-tan", {"Latn", "Beng", "Deva"}, ancestors = {"adi"}, } m["mrh"] = { "Mara Chin", 4175893, "tbq-kuk", Latn, } m["mrj"] = { "Western Mari", 1776032, "urj", Cyrl, ancestors = {"urj-pro"}, translit_module = "chm-translit", } m["mrk"] = { "Hmwaveke", 5873712, "poz-cln", Latn, } m["mrl"] = { "Mortlockese", 3324598, "poz-mic", Latn, } m["mrm"] = { "Merlav", 3331115, "poz-vnc", Latn, } m["mrn"] = { "Cheke Holo", 2962165, "poz-ocw", Latn, } m["mro"] = { "Mru", 1951521, "sit-mru", {"Latn", "Mroo"}, } m["mrp"] = { "Morouas", 6913299, "poz-vnc", Latn, } m["mrq"] = { "North Marquesan", 2603808, "poz-pep", Latn, } m["mrr"] = { "Hill Maria", 27602, "dra", ancestors = {"gon"}, } m["mrs"] = { "Maragus", 6754640, "poz-vnc", Latn, } m["mrt"] = { "Margi", 56241, "cdc-cbm", Latn, } m["mru"] = { "Mono (Cameroon)", 11031964, "alv-mbm", Latn, } m["mrv"] = { "Mangarevan", 36237, "poz-pep", Latn, } m["mrw"] = { "Maranao", 33800, "phi", {"Latn", "Arab"}, } m["mrx"] = { "Dineor", 5278044, "paa-tkw", } m["mry"] = { "Karaga Mandaya", 6747925, "phi", } m["mrz"] = { "Marind", 6763970, } m["msb"] = { "Masbatenyo", 33948, "phi", Latn, } m["msc"] = { "Sankaran Maninka", 11155812, "dmn-mnk", } m["msd"] = { "Yucatec Maya Sign Language", 34281, "sgn", Latn, -- when documented } m["mse"] = { "Musey", 56328, "cdc-mas", } m["msf"] = { "Mekwei", 4544752, "paa-nim", Latn, } m["msg"] = { "Moraid", 6909020, } m["msi"] = { "Sabah Malay", 10867404, "crp", } m["msj"] = { "Ma", 6720909, "nic-mbc", Latn, } m["msk"] = { "Mansaka", 12952800, "phi", Latn, } m["msl"] = { "Molof", 4300950, } m["msm"] = { "Agusan Manobo", 12953696, "mno", } m["msn"] = { "Vurës", 3563857, "poz-vnc", Latn, } m["mso"] = { "Mombum", 6897079, } m["msp"] = { "Maritsauá", 6765915, "tup", Latn, } m["msq"] = { "Caac", 2932212, "poz-cln", Latn, } m["msr"] = { "Mongolian Sign Language", 3915499, "sgn", } m["mss"] = { "West Masela", 12952816, "poz-tim", } m["msu"] = { "Musom", 6943041, "poz-ocw", Latn, } m["msv"] = { "Maslam", 3502273, } m["msw"] = { "Mansoanka", 35814, } m["msx"] = { "Moresada", 11732475, } m["msy"] = { "Aruamu", 3501809, "paa", Latn, } m["msz"] = { "Momare", 6897030, } m["mta"] = { "Cotabato Manobo", 12953698, "mno", } m["mtb"] = { "Anyin Morofo", 3502338, "alv-ctn", Latn, ancestors = {"any"}, } m["mtc"] = { "Munit", 11732482, "ngf-mad", } m["mtd"] = { "Mualang", 3073458, "poz-mly", } m["mte"] = { "Alu", 33503, "poz-ocw", Latn, } m["mtf"] = { "Murik (New Guinea)", 7050035, "paa-lsp", Latn, } m["mtg"] = { "Una", 5580728, } m["mth"] = { "Munggui", 6936018, "poz-hce", Latn, } m["mti"] = { "Maiwa (New Guinea)", 6737223, "ngf", Latn, } m["mtj"] = { "Moskona", 11288953, } m["mtk"] = { "Mbe'", 10964025, "nic-nka", Latn, } m["mtl"] = { "Montol", 3440457, "cdc-wst", Latn, } m["mtm"] = { "Mator", 20669419, "syd", Cyrl, } m["mtn"] = { "Matagalpa", 3490756, "nai-min", } m["mto"] = { "Totontepec Mixe", 7828400, "nai-miz", } m["mtp"] = { "Wichí Lhamtés Nocten", 5908756, "sai-wic", Latn, } m["mtq"] = { "Muong", 3236789, "mkh-vie", Latn, sort_key = "vi-sortkey", } m["mtr"] = { "Mewari", nil, "inc-wes", {"Deva"}, ancestors = {"raj"}, translit_module = "hi-translit", -- for now } m["mts"] = { "Yora", 3572572, "sai-pan", Latn, } m["mtt"] = { "Mota", 3325052, "poz-vnc", Latn, } m["mtu"] = { "Tututepec Mixtec", 7857069, "omq-mxt", Latn, } m["mtv"] = { "Asaro'o", 3503684, "ngf-fin", Latn, } m["mtw"] = { "Magahat", 6729600, "phi", } m["mtx"] = { "Tidaá Mixtec", 7800805, "omq-mxt", Latn, } m["mty"] = { "Nabi", 6956858, "qfa-tor", Latn, } m["mua"] = { "Mundang", 36032, "alv-mbm", } m["mub"] = { "Mubi", 3440518, "cdc-est", Latn, } m["muc"] = { "Mbu'", 35868, "nic-beb", Latn, } m["mud"] = { "Mednyj Aleut", 1977419, } m["mue"] = { "Media Lengua", 36066, "crp", Latn, ancestors = {"es", "qu"}, } m["mug"] = { "Musgu", 3123545, "cdc-cbm", Latn, } m["muh"] = { "Mündü", 35981, "nic-nke", Latn, } m["mui"] = { "Musi", 615660, "poz-mly", Latn, } m["muj"] = { "Mabire", 3440437, } m["mul"] = { "Translingual", 20923490, "qfa-not", {"None", "Latn", "Bopo", "Brai", "Cyrl", "Hani", "Hans", "Hant", "IPAchar", "musical", "Ruminumerals", "Zsym", "Zmth"}, wikipedia_article = "Translingualism", } m["mum"] = { "Maiwala", 12952764, "poz-ocw", Latn, } m["muo"] = { "Nyong", 36373, "alv-lek", } m["mup"] = { "Malvi", 33413, "inc-wes", {"Deva"}, ancestors = {"raj"}, translit_module = "hi-translit" } m["muq"] = { "Eastern Xiangxi Miao", 27431376, "hmn", } m["mur"] = { "Murle", 56727, "sdv", } m["mus"] = { "Creek", 523014, "nai-mus", Latn, } m["mut"] = { "Western Muria", 12952886, "dra", ancestors = {"gon"}, } m["muu"] = { "Yaaku", 34222, "cus-eas", } m["muv"] = { "Muthuvan", 3327420, "dra", } m["mux"] = { "Bo-Ung", 15831607, } m["muy"] = { "Muyang", 3502301, "cdc-cbm", Latn, } m["muz"] = { "Mursi", 36013, "sdv", } m["mva"] = { "Manam", 6746851, "poz-ocw", Latn, } m["mvb"] = { "Mattole", 20824, "ath-pco", Latn, } m["mvd"] = { "Mamboru", 578815, "poz", } m["mvg"] = { "Yucuañe Mixtec", 25562736, "omq-mxt", Latn, } m["mvh"] = { "Mire", 3441359, } m["mvi"] = { "Miyako", 36218, "jpx-ryu", {"Jpan"}, } m["mvk"] = { "Mekmek", 6810592, "paa-yua", } m["mvl"] = { "Mbara (Australia)", 6799620, "aus-pam", } m["mvm"] = { "Muya", 2422759, "sit-qia", } m["mvn"] = { "Minaveha", 6863278, "poz-ocw", Latn, } m["mvo"] = { "Marovo", 3294683, "poz-ocw", Latn, } m["mvp"] = { "Duri", 3915414, "poz-ssw", } m["mvq"] = { "Moere", 11732458, "ngf-mad", } m["mvr"] = { "Marau", 6755069, "poz-hce", Latn, } m["mvs"] = { "Massep", 3502895, "paa-tkw", } m["mvt"] = { "Mpotovoro", 6928305, "poz-vnc", Latn, } m["mvu"] = { "Marfa", 713633, } m["mvv"] = { "Tagal Murut", 7675300, "poz-san", Latn, } m["mvw"] = { "Machinga", 12952754, "bnt-rvm", } m["mvx"] = { "Meoswar", 6817777, "poz-hce", Latn, } m["mvy"] = { "Indus Kohistani", 33399, "inc-dar", } m["mvz"] = { "Mesqan", 6821677, "sem-eth", } m["mwa"] = { "Mwatebu", 14916896, "poz-ocw", Latn, } m["mwb"] = { "Juwal", 6319103, "qfa-tor", Latn, } m["mwc"] = { "Are", 29277, "poz-ocw", Latn, } m["mwe"] = { "Mwera", 6944725, "bnt-rvm", Latn, } m["mwf"] = { "Murrinh-Patha", 2980398, "aus-dal", Latn, } m["mwg"] = { "Aiklep", 3399652, "poz-ocw", Latn, } m["mwh"] = { "Mouk-Aria", 3325498, "poz-ocw", Latn, } m["mwi"] = { "Labo", 2157452, "poz-vnc", Latn, } m["mwk"] = { "Kita Maninkakan", 3015523, "dmn-wmn", } m["mwl"] = { "Mirandese", 13330, "roa-ibe", Latn, ancestors = {"roa-ole"}, } m["mwm"] = { "Sar", 56850, "csu-sar", } m["mwn"] = { "Nyamwanga", 6944666, "bnt-mwi", } m["mwo"] = { "Central Maewo", 3276435, } m["mwp"] = { "Kala Lagaw Ya", 2591262, "aus-pam", Latn, } m["mwq"] = { "Mün Chin", 331340, "tbq-kuk", } m["mwr"] = { "Marwari", 56312, "inc-wes", {"Deva", "Mahj"}, ancestors = {"raj"}, translit_module = "translit-redirect", } m["mws"] = { "Mwimbi-Muthambi", 15632357, "bnt-kka", Latn, } m["mwt"] = { "Moken", 18648701, "poz", } m["mwu"] = { "Mittu", 6883573, "csu-bbk", Latn, } m["mwv"] = { "Mentawai", 13365, "poz-nws", Latn, } m["mww"] = { "White Hmong", 3138829, "hmn", {"Latn", "Hmng"}, } m["mwz"] = { "Moingi", 11011905, } m["mxa"] = { "Northwest Oaxaca Mixtec", 12953739, "omq-mxt", Latn, } m["mxb"] = { "Tezoatlán Mixtec", 3317286, "omq-mxt", Latn, } m["mxd"] = { "Modang", 6888037, "poz", } m["mxe"] = { "Mele-Fila", 3305008, "poz-pnp", Latn, } m["mxf"] = { "Malgbe", 3502224, } m["mxg"] = { "Mbangala", 6799612, "bnt-yak", } m["mxh"] = { "Mvuba", 6944591, "csu-mle", Latn, } m["mxi"] = { "Mozarabic", 317044, "roa-ibe", {"Arab", "Hebr", "Latn"}, } m["mxj"] = { "Miju", 56332, "sit-mdz", {"Latn", "Deva"}, } m["mxk"] = { "Monumbo", 6906792, "qfa-tor", } m["mxl"] = { "Maxi Gbe", 35770, "alv-gbe", } m["mxm"] = { "Meramera", 6817936, "poz-ocw", Latn, } m["mxn"] = { "Moi (Indonesia)", 11732459, "paa", } m["mxo"] = { "Mbowe", 10962309, "bnt-kav", } m["mxp"] = { "Tlahuitoltepec Mixe", 7810697, } m["mxq"] = { "Juquila Mixe", 25559721, } m["mxr"] = { "Murik (Malaysia)", 3328150, nil, Latn, } m["mxs"] = { "Huitepec Mixtec", 12953729, "omq-mxt", Latn, } m["mxt"] = { "Jamiltepec Mixtec", 12953730, "omq-mxt", Latn, } m["mxu"] = { "Mada (Cameroon)", 3441206, "cdc-cbm", Latn, } m["mxv"] = { "Metlatónoc Mixtec", 36363, "omq-mxt", Latn, } m["mxw"] = { "Namo", 12952923, } m["mxx"] = { "Mahou", 11004334, "dmn-mnk", } m["mxy"] = { "Southeastern Nochixtlán Mixtec", 7070684, "omq-mxt", Latn, } m["mxz"] = { "Central Masela", 42575433, "poz-tim", } m["myb"] = { "Mbay", 3033565, "csu-sar", } m["myc"] = { "Mayeka", 11129517, "bnt-boa", } m["mye"] = { "Myene", 35832, "bnt-tso", } m["myf"] = { "Bambassi", 56540, "omv-mao", } m["myg"] = { "Manta", 35799, "nic-mom", Latn, } m["myh"] = { "Makah", 3280640, "wak", Latn, } m["myj"] = { "Mangayat", 35988, "nic-ser", } m["myk"] = { "Mamara Senoufo", 36187, "alv-sma", } m["myl"] = { "Moma", 6897018, "poz", } m["mym"] = { "Me'en", 3408516, "sdv", } m["myo"] = { "Anfillo", 34928, "omv-gon", } m["myp"] = { "Pirahã", 33825, "sai-mur", Latn, } m["myr"] = { "Muniche", 3915654, } m["mys"] = { "Mesmes", 3508617, "sem-eth", } m["myu"] = { "Mundurukú", 746723, "tup", Latn, } m["myv"] = { "Erzya", 29952, "urj-mdv", Cyrl, translit_module = "myv-translit", override_translit = true, } m["myw"] = { "Muyuw", 3502878, "poz-ocw", Latn, } m["myx"] = { "Masaba", 12952814, "bnt-msl", Latn, } m["myy"] = { "Macuna", 3275059, "sai-tuc", Latn, } m["myz"] = { "Classical Mandaic", 25559314, "sem-ase", {"Mand"}, } m["mza"] = { "Santa María Zacatepec Mixtec", 8063756, "omq-mxt", Latn, } m["mzb"] = { "Northern Saharan Berber", 11156769, "ber", } m["mzc"] = { "Madagascar Sign Language", 12715020, "sgn", } m["mzd"] = { "Malimba", 35806, "bnt-saw", } m["mze"] = { "Morawa", 6909384, } m["mzg"] = { "Monastic Sign Language", 3217333, "sgn", } m["mzh"] = { "Wichí Lhamtés Güisnay", 7998197, "sai-wic", Latn, } m["mzi"] = { "Ixcatlán Mazatec", 6101049, "omq-maz", Latn, } m["mzj"] = { "Manya", 11006832, "dmn-mnk", } m["mzk"] = { "Nigeria Mambila", 11004163, "nic-mmb", Latn, } m["mzl"] = { "Mazatlán Mixe", 25559728, } m["mzm"] = { "Mumuye", 36021, "alv-mum", Latn, } m["mzn"] = { "Mazanderani", 13356, "ira-msh", {"mzn-Arab"}, } m["mzo"] = { "Matipuhy", 6787588, "sai-kui", Latn, } m["mzp"] = { "Movima", 1659701, "qfa-iso", } m["mzq"] = { "Mori Atas", 3324070, "poz-btk", } m["mzr"] = { "Marúbo", 3296011, "sai-pan", Latn, } m["mzs"] = { "Macanese", 35785, "crp", Latn, ancestors = {"pt"}, } m["mzt"] = { "Mintil", 6869641, "mkh-asl", } m["mzu"] = { "Inapang", 6013569, "paa", Latn, } m["mzv"] = { "Manza", 36038, "alv-gbf", } m["mzw"] = { "Deg", 35183, "nic-gnw", Latn, } m["mzx"] = { "Mawayana", 6794377, "awd", } m["mzy"] = { "Mozambican Sign Language", 6927809, "sgn", } m["mzz"] = { "Maiadomu", 6735234, "poz-ocw", Latn, } return m hg6wpwm4li59pddy5i4fsrql36ztj6u Module:languages/data3/s 828 3097 8487 2022-10-04T04:01:17Z Rebel Agent 2678 Ke dirile module 8487 Scribunto text/plain local u = mw.ustring.char -- UTF-8 encoded strings for some commonly used diacritics local GRAVE = u(0x0300) local ACUTE = u(0x0301) local CIRC = u(0x0302) local TILDE = u(0x0303) local MACRON = u(0x0304) local BREVE = u(0x0306) local DOTABOVE = u(0x0307) local DIAER = u(0x0308) local CARON = u(0x030C) local DGRAVE = u(0x030F) local INVBREVE = u(0x0311) local DOTBELOW = u(0x0323) local RINGBELOW = u(0x0325) local CEDILLA = u(0x0327) -- Punctuation to be used for standardChars field local PUNCTUATION = ' !#$%&*+,-./:;<=>?@^_`|~\'()' local Latn = {"Latn"} local m = {} m["saa"] = { "Saba", 3914885, "cdc-est", Latn, } m["sab"] = { "Buglere", 3368506, "cba", Latn, } m["sac"] = { "Fox", 12714767, "alg-sfk", Latn, } m["sad"] = { "Sandawe", 34016, "qfa-iso", Latn, } m["sae"] = { "Sabanê", 3460478, "sai-nmk", Latn, } m["saf"] = { "Safaliba", 36432, "nic-mre", Latn, } m["sah"] = { "Yakut", 34299, "trk-sib", {"Cyrl"}, translit_module = "sah-translit", override_translit = true, } m["saj"] = { "Sahu", 7399757, "paa-nha", Latn, } m["sak"] = { "Sake", 36425, "bnt-kel", Latn, } m["sam"] = { "Samaritan Aramaic", 56612, "sem-arw", {"Samr"}, entry_name = { from = {"[" .. u(0x0816) .. "-" .. u(0x082D) .. "]"}, to = {} }, translit_module = "Samr-translit", } m["sao"] = { "Sause", 4409155, "paa-tkw", Latn, } m["saq"] = { "Samburu", 56536, "sdv-lma", } m["sar"] = { "Saraveca", 3450556, "awd", } m["sas"] = { "Sasak", 1294047, "poz-mcm", Latn, } m["sat"] = { "Santali", 33965, "mun", {"Olck"}, translit_module = "Olck-translit", override_translit = true, } m["sau"] = { "Saleman", 7404262, "poz-cet", } m["sav"] = { "Saafi-Saafi", 36308, "alv-cng", {"Arab", "Latn"}, } m["saw"] = { "Sawi", 677064, "ngf", Latn, } m["sax"] = { "Sa", 3460352, "poz-vnc", Latn, } m["say"] = { "Saya", 3914431, "cdc-wst", Latn, } m["saz"] = { "Saurashtra", 13292, "inc-wes", {"Saur", "Latn", "Taml", "Deva"}, translit_module = "saz-translit", ancestors = {"inc-ogu"}, } m["sba"] = { "Ngambay", 2372207, "csu-sar", } m["sbb"] = { "Simbo", 3484101, "poz-ocw", } m["sbc"] = { "Gele'", 3194847, "poz-oce", } m["sbd"] = { "Southern Samo", 33122730, "dmn-sam", Latn, } m["sbe"] = { "Saliba (New Guinea)", 3469737, "poz-ocw", } m["sbf"] = { "Shabo", 36342, "ssa", Latn, } m["sbg"] = { "Seget", 7446237, } m["sbh"] = { "Sori-Harengan", 36515, "poz-aay", Latn, } m["sbi"] = { "Seti", 7456682, "qfa-tor", Latn, } m["sbj"] = { "Surbakhal", 759995, } m["sbk"] = { "Safwa", 4121160, "bnt-mby", Latn, } m["sbl"] = { "Botolan Sambal", 4095195, "phi", } m["sbm"] = { "Sagala", 11732610, "bnt-ruv", Latn, } m["sbn"] = { "Sindhi Bhil", 25559289, "inc-nwe", {"Arab", "Deva", "Sind", "Guru"}, ancestors = {"sd"}, } m["sbo"] = { "Sabüm", 7396535, "mkh-asl", } m["sbp"] = { "Sangu (Tanzania)", 7418149, "bnt-bki", Latn, } m["sbq"] = { "Sileibi", 7514337, "ngf-mad", } m["sbr"] = { "Sembakung Murut", 7449148, "poz-san", } m["sbs"] = { "Subiya", 6442073, "bnt-bot", Latn, } m["sbt"] = { "Kimki", 6410160, "paa-pau", } m["sbu"] = { "Stod Bhoti", 15622700, "sit-las", } m["sbv"] = { "Sabine", nil, "itc", Latn, } m["sbw"] = { "Simba", 36430, "bnt-tso", Latn, } m["sbx"] = { "Seberuang", 12473470, "poz-mly", } m["sby"] = { "Soli", 7557754, "bnt-bot", Latn, } m["sbz"] = { "Sara Kaba", 25559318, "csu-kab", Latn, } m["scb"] = { "Chut", 2967709, "mkh-vie", } m["sce"] = { "Dongxiang", 32947, "xgn", {"Arab", "Latn"}, } m["scf"] = { "San Miguel Creole French", 12953094, "crp", ancestors = {"gcf"}, } m["scg"] = { "Sanggau", 12473466, "day", } m["sch"] = { "Sakachep", 37054, "tbq-kuk", } m["sci"] = { "Sri Lankan Creole Malay", 1089151, "crp", Latn, ancestors = {"ms"}, } m["sck"] = { "Sadri", 765922, "inc-eas", ancestors = {"bh"}, } m["scl"] = { "Shina", 1353320, "inc-dar", {"ur-Arab", "Deva"}, } m["scn"] = { "Sicilian", 33973, "roa-itd", Latn, } m["sco"] = { "Scots", 14549, "gmw", Latn, ancestors = {"enm"}, } m["scp"] = { "Yolmo", 22662107, "sit-kyk", {"Deva"}, } m["scq"] = { "Sa'och", 6583617, "mkh-pea", } m["scs"] = { "North Slavey", 20628, "ath-nor", Latn, } m["scu"] = { "Shumcho", 22077739, "sit-kin", } m["scv"] = { "Sheni", 11015820, "nic-jer", Latn, ancestors = {"zir"}, } m["scw"] = { "Sha", 3438816, "cdc-wst", Latn, } m["scx"] = { "Sicel", 36667, "ine", Grek, } m["sda"] = { "Toraja-Sa'dan", 36673, "poz-ssw", } m["sdb"] = { "Shabak", 3289596, "ira-zgr", ancestors = {"hac"}, } m["sdc"] = { "Sassarese", 845441, "roa-itd", Latn, } m["sde"] = { "Surubu", 3913336, "nic-kau", Latn, } m["sdf"] = { "Sarli", 7424256, "ira-zgr", ancestors = {"hac"}, } m["sdg"] = { "Savi", 3474654, "inc-dar", } m["sdh"] = { "Southern Kurdish", 1496597, "ku", {"ku-Arab", "Latn"}, translit_module = "sdh-translit", link_tr = true, entry_name = { from = {u(0x0650), u(0x0652)}, to = {}} , ancestors = {"ku-pro"}, } m["sdj"] = { "Suundi", 7650407, "bnt-kng", Latn, } m["sdk"] = { "Sos Kundi", 7563811, "paa-spk", Latn, } m["sdl"] = { "Saudi Arabian Sign Language", 3504160, "sgn", } m["sdm"] = { "Semandang", 7449012, "day", } m["sdn"] = { "Gallurese", 612220, "roa-itd", Latn, ancestors = {"co"}, } m["sdo"] = { "Bukar-Sadung Bidayuh", 2927799, "day", } m["sdp"] = { "Sherdukpen", 7494785, "sit-khb", } m["sdr"] = { "Oraon Sadri", 12953860, "inc-eas", ancestors = {"bh"}, } m["sds"] = { "Tunisian Berber", 5329732, "ber", } m["sdu"] = { "Sarudu", 7424700, "poz-cet", } m["sdx"] = { "Sibu Melanau", 18642842, "poz-bnn", } m["sea"] = { "Semai", 3135426, "mkh-asl", Latn, } -- seb is a duplicate code of spp m["sec"] = { "Sechelt", 7442898, "sal", Latn, } m["sed"] = { "Sedang", 56448, "mkh-nbn", } m["see"] = { "Seneca", 1185133, "iro-nor", Latn, } m["sef"] = { "Cebaara Senoufo", 10975121, "alv-snr", } m["seg"] = { "Segeju", 17584599, "bnt-mij", Latn, } m["seh"] = { "Sena", 2964008, "bnt-sna", Latn, } m["sei"] = { "Seri", 36583, "qfa-iso", Latn, } m["sej"] = { "Sene", 7450252, } m["sek"] = { "Sekani", 28562, "ath-nor", Latn, } m["sel"] = { "Selkup", 34008, "syd", {"Cyrl"}, } m["sen"] = { "Nanerigé Sénoufo", 36002, "alv-sma", } m["seo"] = { "Suarmin", 7630513, "paa", } m["sep"] = { "Sìcìté Sénoufo", 56787, "alv-sma", } m["seq"] = { "Senara Sénoufo", 35210, "alv-snr", } m["ser"] = { "Serrano", 3479942, "azc-tak", Latn, } m["ses"] = { "Koyraboro Senni", 35655, "son", Latn, } m["set"] = { "Sentani", 3441672, "paa-sen", Latn, } m["seu"] = { "Serui-Laut", 7455503, "poz-hce", Latn, } m["sev"] = { "Nyarafolo Senoufo", 36306, "alv-snr", } m["sew"] = { "Sewa Bay", 7458126, "poz-ocw", } m["sey"] = { "Secoya", 3477218, "sai-tuc", Latn, } m["sez"] = { "Senthang Chin", 7451223, "tbq-kuk", } m["sfb"] = { "French Belgian Sign Language", 3217332, "sgn", } m["sfm"] = { "Small Flowery Miao", 7542773, "hmn", } m["sfs"] = { "South African Sign Language", 3322093, "sgn", } m["sfw"] = { "Sehwi", 36593, "alv-ctn", Latn, } m["sga"] = { "Old Irish", 35308, "cel-gae", Latn, ancestors = {"pgl"}, entry_name = { from = {"ḟ", "ṁ", "ṅ", "ṡ", "Ḟ", "Ṁ", "Ṅ", "Ṡ", "ä", "ë", "ï", "ö", "ü", "·"}, to = {"f", "m", "n", "s", "F", "M", "N", "S", "a", "e", "i", "o", "u"}} , sort_key = { from = {"á", "é", "æ", "ǽ", "í", "ó", "ú", "^h", "-"}, to = {"a", "e", "e", "e", "i", "o", "u"}} , standardChars = "A-IL-PR-Ua-il-pr-u0-9ÁáÉéÍíÓóÚú" .. PUNCTUATION, } m["sgb"] = { "Mag-Anchi Ayta", 4356243, "phi", } m["sgc"] = { "Kipsigis", 56339, "sdv-nma", } m["sgd"] = { "Surigaonon", 34140, "phi", Latn, } m["sge"] = { "Segai", 7446180, } m["sgg"] = { "Swiss-German Sign Language", 35150, "sgn", } m["sgh"] = { "Shughni", 34053, "ira-shy", {"Latn", "Cyrl"}, translit_module = "sgh-translit", override_translit = true, ancestors = {"ira-shr-pro"}, } m["sgi"] = { "Suga", 36475, "nic-mmb", Latn, } m["sgk"] = { "Sangkong", 2945610, "tbq-lol", } m["sgm"] = { "Singa", 7522797, "bnt-lok", Latn, } m["sgp"] = { "Singpho", 7524158, "sit-jnp", } m["sgr"] = { "Sangisari", 3394363, "ira-kms", } m["sgs"] = { "Samogitian", 213434, "bat", Latn, ancestors = {"olt"}, wikimedia_codes = {"bat-smg"}, } m["sgt"] = { "Brokpake", 56603, "sit-tib", } m["sgu"] = { "Salas", 7403694, "poz-cma", } m["sgw"] = { "Sebat Bet Gurage", 2707343, "sem-eth", {"Ethi"}, } m["sgx"] = { "Sierra Leone Sign Language", 7511448, "sgn", } m["sgy"] = { "Sanglechi", 3472220, "ira-sgi", ancestors = {"ira-sgi-pro"}, } m["sgz"] = { "Sursurunga", 36511, "poz-ocw", Latn, } m["sha"] = { "Shall-Zwall", 3915355, "nic-beo", } m["shb"] = { "Ninam", 3436586, } m["shc"] = { "Sonde", 7560881, "bnt-pen", Latn, } m["shd"] = { "Kundal Shahi", 6444265, "inc-dar", } m["she"] = { "Sheko", 3183355, "omv-diz", } m["shg"] = { "Shua", 3501092, "khi-kal", Latn, } m["shh"] = { "Shoshone", 33811, "azc-num", Latn, } m["shi"] = { "Tashelhit", 34152, "ber", {"Tfng", "Arab", "Latn"}, translit_module = "Tfng-translit", -- put Judeo-Berber (Hebrew-script Tashelhit) under the category header -- U+FB21 HEBREW LETTER WIDE ALEF so that it sorts after Tifinagh script titles sort_key = { from = {"^%f[" .. u(0x5D0) .. "-" .. u(0x5EA) .. "]"}, to = {u(0xFB21)}, }, } m["shj"] = { "Shatt", 56344, "sdv-daj", } m["shk"] = { "Shilluk", 36486, "sdv-lon", Latn, } m["shl"] = { "Shendu", 22074616, "tbq-kuk", } m["shm"] = { "Shahrudi", 7462280, "xme-ttc", ancestors = {"xme-ttc-cen"}, } m["shn"] = { "Shan", 56482, "tai-swe", {"Mymr"}, translit_module = "shn-translit", sort_key = { from = {"[ၢႃ]", "ဵ", "ႅ", "ႇ", "ႈ", "း", "ႉ", "ႊ"}, to = {"ာ", "ေ", "ႄ", "႒", "႓", "႔", "႕", "႖"}}, } m["sho"] = { "Shanga", 3913931, "dmn-bbu", Latn, } m["shp"] = { "Shipibo-Conibo", 2671988, "sai-pan", Latn, } m["shq"] = { "Sala", 10961665, "bnt-bot", Latn, } m["shr"] = { "Shi", 3481999, "bnt-shh", Latn, } m["shs"] = { "Shuswap", 3482685, "sal", Latn, } m["sht"] = { "Shasta", 56396, "nai-shs", Latn, } m["shu"] = { "Chadian Arabic", 56497, "sem-arb", {"Arab"}, entry_name = { from = {u(0x0671), u(0x064B), u(0x064C), u(0x064D), u(0x064E), u(0x064F), u(0x0650), u(0x0651), u(0x0652), u(0x0670), u(0x0640)}, to = {u(0x0627)}}, } m["shv"] = { "Shehri", 33445, "sem-sar", {"Arab", "Latn"}, ancestors = {"sem-pro"}, } m["shw"] = { "Shwai", 36527, "alv-hei", } m["shx"] = { "She", 2605689, "hmn", } m["shy"] = { "Tachawit", 33274, "ber", {"Tfng", "Arab", "Latn"}, translit_module = "Tfng-translit", } m["shz"] = { "Syenara Senoufo", 36316, "alv-snr", } m["sia"] = { "Akkala Sami", 35241, "smi", Latn, } m["sib"] = { "Sebop", 7442799, "poz-swa", Latn, } m["sid"] = { "Sidamo", 33786, "cus-hec", {"Latn", "Ethi"}, } m["sie"] = { "Simaa", 7517329, "bnt-kav", Latn, } m["sif"] = { "Siamou", 36252, } m["sig"] = { "Paasaal", 36426, "nic-sis", Latn, } m["sih"] = { "Zire", 8072753, "poz-cln", } m["sii"] = { "Shom Peng", 1039346, "aav", } m["sij"] = { "Numbami", 3346277, "poz-ocw", } m["sik"] = { "Sikiana", 3443734, "sai-prk", Latn, } m["sil"] = { "Tumulung Sisaala", 25383006, "nic-sis", Latn, } m["sim"] = { "Seim", 7446815, "paa-spk", } m["sip"] = { "Sikkimese", 35285, "sit-tib", {"Tibt"}, ancestors = {"xct"}, translit_module = "bo-translit", } m["siq"] = { "Sonia", 7561770, } m["sir"] = { "Siri", 3438729, "cdc-wst", Latn, } m["sis"] = { "Siuslaw", 2315424, } m["siu"] = { "Sinagen", 7521655, "qfa-tor", Latn, } m["siv"] = { "Sumariup", 7636966, "paa-spk", Latn, } m["siw"] = { "Siwai", 7532519, "paa-sbo", } m["six"] = { "Sumau", 7637021, "ngf-mad", Latn, } m["siy"] = { "Sivandi", 13269, "xme", ancestors = {"xme-mid"}, } m["siz"] = { "Siwi", 36814, "ber", {"Tfng", "Arab", "Latn"}, } m["sja"] = { "Epena", 3055682, "sai-chc", } m["sjb"] = { "Sajau Basap", 4684353, "poz-bnn", } m["sjd"] = { "Kildin Sami", 33656, "smi", {"Cyrl"}, translit_module = "sjd-translit", sort_key = { from = {"ӣ", "ӯ", MACRON}, to = {"и", "у"} }, } m["sje"] = { "Pite Sami", 56314, "smi", Latn, entry_name = { from = {"ū", "ˈ", MACRON}, to = {"u"} }, sort_key = { from = {"á" , "đ" , "ŋ" , "ŧ" }, to = {"a²", "d²", "n²", "t²"} }, } m["sjg"] = { "Assangori", 3502255, "sdv-tmn", } m["sjk"] = { "Kemi Sami", 35871, "smi", Latn, } m["sjl"] = { "Miji", 6845470, "sit-hrs", } m["sjm"] = { "Mapun", 3287253, "poz-sbj", } m["sjn"] = { "Sindarin", 56437, "art", {"Latn", "Teng"}, type = "appendix-constructed", } m["sjo"] = { "Xibe", 13223, "tuw", {"Mong"}, } m["sjp"] = { "Surjapuri", 7645351, "inc-eas", ancestors = {"inc-mgd"}, } m["sjr"] = { "Siar-Lak", 3482907, "poz-ocw", } m["sjs"] = { "Senhaja De Srair", 56744, "ber", } m["sjt"] = { "Ter Sami", 36656, "smi", Latn, } m["sju"] = { "Ume Sami", 56415, "smi", Latn, entry_name = { from = {"ē", "ū", "ǖ", MACRON, "ˈ"}, to = {"e", "u", "ü"} }, sort_key = { from = {"á" , "đ" , "ï" , "ŋ" , "ŧ" , "ü" }, to = {"a²", "d²", "i²", "n²", "t²", "u²"} }, } m["sjw"] = { "Shawnee", 2669206, "alg", Latn, } m["ska"] = { "Skagit", 25559652, "sal", Latn, } m["skb"] = { "Saek", 36437, "tai-nor", {"Thai"}, sort_key = { from = {"[%pๆ]", "[็-๎̱̄̂]", "([เแโใไ])([ก-ฮ])"}, to = {"", "", "%2%1"}}, } m["skc"] = { "Ma Manda", 6720783, "ngf-fin", } m["skd"] = { "Southern Sierra Miwok", 3492334, "nai-utn", Latn, } m["ske"] = { "Ske", 7534244, "poz-vnc", Latn, } m["skf"] = { "Sakirabiá", 3304806, "tup", Latn, } m["skh"] = { "Sikule", 3121081, "poz-nws", } m["ski"] = { "Sika", 33960, "poz-cet", Latn, } m["skj"] = { -- compare 'ths' "Seke", 30226846, "sit-tam", } m["skk"] = { "Sok", 12953887, "mkh-ban", } m["skm"] = { "Sakam", 6448517, "ngf-fin", } m["skn"] = { "Kolibugan Subanon", 18755617, "phi", } m["sko"] = { "Seko Tengah", 15613270, "poz", } m["skp"] = { "Sekapan", 7447132, "poz-bnn", } m["skq"] = { "Sininkere", 3914896, "dmn-man", Latn, } m["skr"] = { "Saraiki", 33902, "inc-pan", {"pa-Arab", "Mult", "Deva"}, ancestors = {"lah"}, entry_name = { from = {u(0x064B), u(0x064C), u(0x064D), u(0x064E), u(0x064F), u(0x0650), u(0x0651), u(0x0652)}, to = {}} , translit_module = "translit-redirect", } m["sks"] = { "Maia", 12952760, "ngf-mad", Latn, } m["skt"] = { "Sakata", 36691, "bnt-bnm", Latn, } m["sku"] = { "Sakao", 3298421, "poz-vnc", Latn, } m["skv"] = { "Skou", 3915200, "paa-msk", Latn, } m["skw"] = { "Skepi Creole Dutch", 2522153, "crp", ancestors = {"nl"}, } m["skx"] = { "Seko Padang", 15613282, "poz-ssw", } m["sky"] = { "Sikaiana", 7439242, "poz-pnp", Latn, } m["skz"] = { "Sekar", 7447136, "poz-cet", } m["slc"] = { "Saliba (Colombia)", 3441097, } m["sld"] = { "Sissala", 11020264, "nic-sis", Latn, } m["sle"] = { "Sholaga", 7500203, "dra", {"Knda"}, } m["slf"] = { "Swiss-Italian Sign Language", 12953479, "sgn", } m["slg"] = { "Selungai Murut", 7448844, "poz-san", } m["slh"] = { "Southern Puget Sound Salish", 12642471, "sal", Latn, } -- "sli" "Silesian German" IS SUBSUMED INTO "gmw-ecg" "East Central German" m["slj"] = { "Salumá", 7406296, "sai-prk", Latn, } m["sll"] = { "Salt-Yui", 7405785, } m["slm"] = { "Pangutaran Sama", 3362086, "poz-sbj", } m["sln"] = { "Salinan", 1568938, } m["slp"] = { "Lamaholot", 6480777, "poz-cet", Latn, } m["slq"] = { "Salchuq", 56752, "trk", } m["slr"] = { "Salar", 33963, "trk", {"Arab", "Latn"}, } m["sls"] = { "Singapore Sign Language", 7512563, "sgn", } m["slt"] = { "Sila", 7514021, "tbq-lol", } m["slu"] = { "Selaru", 7447500, "poz-cet", } m["slw"] = { "Sialum", 7506694, "ngf", } m["slx"] = { "Salampasu", 7403607, "bnt-lun", Latn, } m["sly"] = { "Selayar", 7447520, "poz-ssw", } m["slz"] = { "Ma'ya", 2291492, "poz-hce", } m["sma"] = { "Southern Sami", 13293, "smi", Latn, sort_key = { -- Standardise on Norwegian orthography for sorting purposes from = {"ï" , "ä", "ö"}, to = {"i²", "æ", "ø"} }, } m["smb"] = { "Simbari", 7517427, "ngf", } m["smc"] = { "Som", 7559081, "ngf-fin", Latn, } m["smd"] = { "Sama", 6407456, "bnt-kmb", Latn, } m["smf"] = { "Auwe", 3502072, "paa-brd", ancestors = {"dnd"}, } m["smg"] = { "Simbali", 56692, "paa-bng", } m["smh"] = { "Samei", 7409269, "tbq-lol", } m["smj"] = { "Lule Sami", 56322, "smi", Latn, entry_name = { from = {"ˈ", MACRON}, to = {} }, sort_key = { -- Standardise on Swedish orthography for sorting purposes from = {"á" , "ŋ" , "æ" }, to = {"a²", "n²", "ä"} }, } m["smk"] = { "Bolinao", 2669235, "phi", } m["sml"] = { "Central Sama", 3470593, "poz-sbj", } m["smm"] = { "Musasa", 6940122, "inc-eas", ancestors = {"bh"}, } m["smn"] = { "Inari Sami", 33462, "smi", Latn, entry_name = { from = {"ḥ", "ḷ", "ṃ", "ṇ", "ṛ", "ṿ", DOTBELOW, "ˈ"}, to = {"h", "l", "m", "n", "r", "v"} }, sort_key = { from = {"â" , "č" , "đ" , "ŋ" , "š" , "ž" , "á" }, to = {"a˿", "c˿", "d˿", "n˿", "s˿", "z˿", "ä˿"} }, } m["smp"] = { "Samaritan Hebrew", 56502, "sem-can", {"Samr"}, entry_name = { from = {"[" .. u(0x0816) .. "-" .. u(0x082D) .. "]"}, to = {} }, } m["smq"] = { "Samo", 7409884, "ngf", } m["smr"] = { "Simeulue", 2992833, "poz-nws", Latn, } m["sms"] = { "Skolt Sami", 13271, "smi", Latn, entry_name = { from = {"ẹ", "ˈ"}, to = {"e"} }, sort_key = { from = {"â" , "č" , "đ" , "ǧ" , "ǥ" , "ǩ" , "ŋ" , "õ" , "š" , "ž" }, to = {"a²", "c²", "d²", "g²", "g³", "k˿", "n˿", "o˿", "s˿", "z˿"} }, } m["smt"] = { "Simte", 7521268, "tbq-kuk", } m["smu"] = { "Somray", 6583612, "mkh-pea", } m["smv"] = { "Samvedi", 6345632, "inc-sou", ancestors = {"pmh"}, } m["smw"] = { "Sumbawa", 3182585, "poz-mcm", Latn, } m["smx"] = { "Samba", 11120157, "bnt-pen", Latn, } m["smy"] = { "Semnani", 14531212, "xme", ancestors = {"xme-old"}, } m["smz"] = { "Simeku", 7517534, "paa-sbo", } m["snb"] = { "Sebuyau", 7442836, "poz-mly", } m["snc"] = { "Sinaugoro", 4170719, "poz-ocw", } m["sne"] = { "Bau Bidayuh", 2891938, "day", Latn, } m["snf"] = { "Noon", 36304, "alv-cng", Latn, } m["sng"] = { "Sanga (Congo)", 3438316, "bnt-lub", Latn, } m["sni"] = { "Sensi", 7451029, "sai-pan", Latn, } m["snj"] = { "Riverain Sango", 25559751, "crp", Latn, ancestors = {"ngb"}, } m["snk"] = { "Soninke", 36660, "dmn-snb", Latn, } m["snl"] = { "Sangil", 3472206, "phi", } m["snm"] = { "Southern Ma'di", 15637273, "csu-mma", } m["snn"] = { "Siona", 3485116, "sai-tuc", Latn, } m["sno"] = { "Snohomish", 25559662, "sal", Latn, } m["snp"] = { "Siane", 7506812, "paa-kag", Latn, } m["snq"] = { "Sangu (Gabon)", 36609, "bnt-sir", Latn, } m["snr"] = { "Sihan", 7513400, "ngf-mad", } m["sns"] = { "Nahavaq", 2160435, "poz-vnc", } m["snu"] = { "Senggi", 7929052, "paa-brd" } m["snv"] = { "Sa'ban", 3474891, "poz-swa", Latn, } m["snw"] = { "Selee", 36272, "alv-ntg", Latn, } m["snx"] = { "Sam", 7408387, } m["sny"] = { "Saniyo-Hiyewe", 7418302, "paa-spk", Latn, } m["snz"] = { "Kou", 7525035, -- also 4803639 "ngf-mad", Latn, } m["soa"] = { "Thai Song", 7709159, "tai-swe", {"Tavt", "Thai"}, --translit_module = "Tavt-translit", sort_key = { from = {"([ꪵꪶꪹꪻꪼ])([ꪀ-ꪯ])", "([เแโใไ])([ก-ฮ])"}, to = {"%2%1", "%2%1"}}, } m["sob"] = { "Sobei", 3121035, "poz-ocw", } m["soc"] = { "Soko", 7555138, "bnt-ske", Latn, } m["sod"] = { "Songoora", 7561296, "bnt-lgb", Latn, } m["soe"] = { "Songomeno", 5713543, "bnt-bsh", Latn, } m["sog"] = { "Sogdian", 205979, "ira-sgc", {"Sogd", "Mani", "Syrc", "Sogo"}, translit_module = "translit-redirect", } m["soh"] = { "Aka (Sudan)", 3450949, "sdv-eje", Latn, } m["soi"] = { "Sonha", 12953890, "inc-eas", ancestors = {"inc-mgd"}, } m["sok"] = { "Sokoro", 3441303, "cdc-est", Latn, } m["sol"] = { "Solos", 3489591, "poz-ocw", } m["soo"] = { "Nsong", 12953148, "bnt-bdz", Latn, } m["sop"] = { "Songe", 3130911, "bnt-lbn", Latn, } m["soq"] = { "Kanasi", 11732656, } m["sor"] = { "Somrai", 3123566, "cdc-est", Latn, } m["sos"] = { "Seenku", 36274, "dmn-smg", } m["sou"] = { "Southern Thai", 56508, "tai-swe", {"Thai"}, sort_key = { from = {"[%pๆ]", "[็-๎]", "([เแโใไ])([ก-ฮ])"}, to = {"", "", "%2%1"}}, } m["sov"] = { "Sonsorolese", 13281, "poz-mic", Latn, } m["sow"] = { "Sowanda", 7571845, "paa-brd" } m["sox"] = { "Swo", 36604, "bnt-mka", Latn, } m["soy"] = { "Miyobe", 35913, "alv-sav", Latn, } m["soz"] = { "Temi", 13278, "bnt-kka", Latn, } m["spb"] = { "Sepa (Indonesia)", 18603687, "poz-cma", Latn, } m["spc"] = { "Sapé", 2888158, nil, Latn, } m["spd"] = { "Saep", 7398312, "ngf-mad", } m["spe"] = { "Sepa (New Guinea)", 7451725, "poz-ocw", Latn, } m["spg"] = { "Sian", 7506806, "poz-bnn", } m["spi"] = { "Saponi", 3915418, "paa", } m["spk"] = { "Sengo", 7450584, "paa-spk", Latn, } m["spl"] = { "Selepet", 7447917, "ngf", } m["spm"] = { "Sepen", 4701931, "paa", Latn, } m["spn"] = { "Sanapaná", 3033556, "sai-mas", Latn, } m["spo"] = { "Spokane", 3493704, "sal", } m["spp"] = { "Supyire", 56284, "alv-sma", Latn, } m["spr"] = { "Saparua", 7420921, "poz-cma", } m["sps"] = { "Saposa", 3473187, "poz-ocw", } m["spt"] = { "Spiti Bhoti", 22080879, "sit-las", } m["spu"] = { "Sapuan", 7421168, "mkh-ban", } m["spv"] = { "Sambalpuri", 6433240, "inc-eas", {"Orya"}, translit_module = "or-translit", ancestors = {"or"}, } m["spx"] = { "South Picene", 36688, "itc", {"Ital", "Latn"}, translit_module = "Ital-translit", } m["spy"] = { "Sabaot", 7395896, "sdv-kln", } m["sqa"] = { "Shama-Sambuga", 3914392, "nic-kmk", Latn, } m["sqh"] = { "Shau", 3913925, "nic-jer", Latn, } m["sqk"] = { "Albanian Sign Language", 4709168, "sgn", } m["sqm"] = { "Suma", 11008431, "alv-gbw", } m["sqn"] = { "Susquehannock", 3505736, "iro-nor", } m["sqo"] = { "Sorkhei", 3491964, "ira-kms", } m["sqq"] = { "Sou", 16979751, "mkh-ban", } m["sqr"] = { "Siculo-Arabic", 1069489, "sem-arb", } m["sqs"] = { "Sri Lankan Sign Language", 3915466, "sgn", } m["sqt"] = { "Soqotri", 13283, "sem-sar", {"Arab", "Latn"}, } m["squ"] = { "Squamish", 2484579, "sal", Latn, } m["sra"] = { "Saruga", 7424699, "ngf-mad", Latn, } m["srb"] = { "Sora", 13284, "mun", {"Sora"}, } m["sre"] = { "Sara", 33957, "day", } m["srf"] = { "Nafi", 6958174, "poz-ocw", } m["srg"] = { "Sulod", 7636489, "phi", } m["srh"] = { "Sarikoli", 33873, "ira-shy", {"Latn", "ug-Arab", "Cyrl"}, ancestors = {"ira-shr-pro"}, } m["sri"] = { "Siriano", 3485264, "sai-tuc", Latn, } m["srk"] = { "Serudung Murut", 7455497, "poz-san", } m["srl"] = { "Isirawa", 4203802, "paa-tkw", } m["srm"] = { "Saramaccan", 33779, "crp", Latn, ancestors = {"en", "pt"}, } m["srn"] = { "Sranan Tongo", 33989, "crp", Latn, } m["srq"] = { "Sirionó", 3027953, "tup-gua", Latn, } m["srr"] = { "Serer", 36284, "alv-fwo", Latn, } m["srs"] = { "Sarcee", 20825, "ath-nor", Latn, } m["srt"] = { "Sauri", 7427547, "paa-egb", } m["sru"] = { "Suruí", 7646993, "tup", Latn, } m["srv"] = { "Waray Sorsogon", 18755610, "phi", } m["srw"] = { "Serua", 14916905, "poz-cet", } m["srx"] = { "Sirmauri", 7530505, "him", } m["sry"] = { "Sera", 7452602, "poz-ocw", Latn, } m["srz"] = { "Shahmirzadi", 12953126, "ira-msh", {"fa-Arab"}, } m["ssb"] = { "Southern Sama", 3470594, "poz-sbj", Latn, } m["ssc"] = { "Suba-Simbiti", 7630687, "bnt-lok", Latn, } m["ssd"] = { "Siroi", 10771067, "ngf-mad", Latn, } m["sse"] = { "Balangingi", 2880535, "poz-sbj", Latn, } m["ssf"] = { "Thao", 676492, "map", Latn, } m["ssg"] = { "Seimat", 3182581, "poz-aay", } m["ssh"] = { "Shihhi Arabic", 56571, "sem-arb", {"Arab"}, entry_name = { from = {u(0x0671), u(0x064B), u(0x064C), u(0x064D), u(0x064E), u(0x064F), u(0x0650), u(0x0651), u(0x0652), u(0x0670), u(0x0640)}, to = {u(0x0627)}}, } m["ssi"] = { "Sansi", 3309366, "inc-nwe", ancestors = {"psu"}, } m["ssj"] = { "Sausi", 7427605, "ngf-mad", Latn, } m["ssk"] = { "Sunam", 11002210, "sit-kin", } m["ssl"] = { "Western Sisaala", 11154776, "nic-sis", Latn, } m["ssm"] = { "Semnam", 7449713, "mkh-asl", } m["sso"] = { "Sissano", 7530937, "poz-ocw", Latn, } m["ssp"] = { "Spanish Sign Language", 3100814, "sgn", } m["ssq"] = { "So'a", 7572120, "poz-cet", Latn, } m["ssr"] = { "Swiss-French Sign Language", 12953483, "sgn", } m["sss"] = { "Sô", 3082037, "mkh-kat", } m["sst"] = { "Sinasina", 7521813, "ngf", Latn, } m["ssu"] = { "Susuami", 7649752, "ngf", Latn, } m["ssv"] = { "Shark Bay", 7489783, "poz-vnc", } m["ssx"] = { "Samberigi", 7409020, "paa-eng", Latn, } m["ssy"] = { "Saho", 36353, "cus-eas", {"Latn", "Ethi", "Arab"}, entry_name = { remove_diacritics = ACUTE} } m["ssz"] = { "Sengseng", 7450601, "poz-ocw", Latn, } m["stb"] = { "Northern Subanen", 12953892, "phi", } m["std"] = { "Sentinelese", 568377, } m["ste"] = { "Liana-Seti", 6539924, "poz-cma", } m["stf"] = { "Seta", 7456326, "qfa-tor", Latn, } m["stg"] = { "Trieng", 22694648, "mkh-ban", } m["sth"] = { "Shelta", 36705, "crp", Latn, ancestors = {"en"}, } m["sti"] = { "Bulo Stieng", 15771431, "mkh-ban", } m["stj"] = { "Matya Samo", 10974879, "dmn-sam", Latn, } m["stk"] = { "Arammba", 3502094, "ngf", } m["stm"] = { "Setaman", 7456333, "ngf-okk", Latn, } m["stn"] = { "Owa", 1324132, "poz-sls", Latn, } m["sto"] = { "Stoney", 3033570, "sio-dkt", } m["stp"] = { "Southeastern Tepehuan", 12953917, "azc", Latn, } m["stq"] = { "Saterland Frisian", 27154, "gmw-fri", Latn, } m["str"] = { "Saanich", 36444, "sal", Latn, } m["sts"] = { "Shumashti", 33777, "inc-dar", } m["stt"] = { "Budeh Stieng", 12953891, "mkh-ban", } m["stu"] = { "Samtao", 25559550, "mkh-pal", } m["stv"] = { "Silt'e", nil, "sem-eth", {"Ethi"}, } m["stw"] = { "Satawalese", 28477, "poz-mic", } m["sty"] = { "Siberian Tatar", 4418344, "trk-kno", {"Cyrl"}, } m["sua"] = { "Sulka", 7636341, "qfa-iso", } m["sub"] = { "Suku", 12953160, "bnt-yak", Latn, } m["suc"] = { "Western Subanon", 16113894, "phi", } m["sue"] = { "Suena", 7634386, "ngf", Latn, } m["sug"] = { "Suganga", 7634706, "ngf-okk", Latn, } m["sui"] = { "Suki", 2089984, "ngf", Latn, } m["suk"] = { "Sukuma", 2638144, "bnt-tkm", Latn, } m["suq"] = { "Suri", 5364172, "sdv", } m["sur"] = { "Mwaghavul", 3440486, "cdc-wst", Latn, } m["sus"] = { "Susu", 33990, "dmn-sya", Latn, } m["sut"] = { "Subtiaba", 3915405, "omq", Latn, } m["suv"] = { "Sulung", 56408, "sit-khb", } m["suw"] = { "Sumbwa", 7637055, "bnt-glb", Latn, } m["sux"] = { "Sumerian", 36790, "qfa-iso", {"Xsux"}, } m["suy"] = { "Suyá", 3505859, "sai-nje", Latn, } m["suz"] = { "Sunwar", 56549, "sit-kiw", } m["sva"] = { "Svan", 34067, "ccs", {"Geor", "Cyrl"}, translit_module = "sva-translit", override_translit = true, } m["svb"] = { "Ulau-Suain", 7878769, "poz-ocw", Latn, } m["svc"] = { "Vincentian Creole English", 3501785, "crp", Latn, ancestors = {"en"}, } m["sve"] = { "Serili", 7454834, "poz-tim", } m["svk"] = { "Slovakian Sign Language", 7541557, "sgn", } m["svm"] = { "Slavomolisano", 36254, "zls", Latn, ancestors = {"sh"}, } m["svs"] = { "Savosavo", 3130296, "paa", Latn, } m["svx"] = { "Skalvian", 3486125, "bat", Latn, } m["swb"] = { "Maore Comorian", 34075, "bnt-com", Latn, sort_key = { from = {"ɓ", "ɗ"}, to = {"bz", "dz"}} , } m["swf"] = { "Sere", 7453056, "nic-ser", Latn, } m["swg"] = { "Swabian", 327274, "gmw", Latn, ancestors = {"gsw"}, } m["swi"] = { "Sui", 3112388, "qfa-kms", {"Latn", "Hani"}, --Shui is not available yet. } m["swj"] = { "Sira", 36599, "bnt-sir", Latn, } m["swl"] = { "Swedish Sign Language", 36558, "sgn", } m["swm"] = { "Samosa", 7410037, "ngf-mad", Latn, } m["swn"] = { "Sokna", 2988323, "ber", } m["swo"] = { "Shanenawa", nil, "sai-pan", Latn, } m["swp"] = { "Suau", 3502368, "poz-ocw", } m["swq"] = { "Sharwa", 56791, "cdc-cbm", Latn, } m["swr"] = { "Saweru", 3474649, } m["sws"] = { "Seluwasan", 7448845, "poz-cet", } m["swt"] = { "Sawila", 7428639, } m["swu"] = { "Suwawa", 7650588, "phi", } m["sww"] = { "Sowa", 7571843, "poz-vnc", } m["swx"] = { "Suruahá", 3114402, "auf", } m["swy"] = { "Sarua", 56261, "cdc-est", Latn, } m["sxb"] = { "Suba", 33916, "bnt-lok", Latn, } m["sxc"] = { "Sicanian", 36335, } m["sxe"] = { "Sighu", 36431, "bnt-kel", Latn, } m["sxg"] = { "Shixing", 56337, "sit-nax", } m["sxk"] = { "Southern Kalapuya", 3192122, "nai-klp", } m["sxl"] = { "Selonian", 36491, "bat", Latn, } m["sxm"] = { "Samre", 6583615, "mkh-pea", } m["sxn"] = { "Sangir", 25714758, "phi", Latn, } m["sxo"] = { "Sorothaptic", 2762254, } m["sxr"] = { "Saaroa", 716599, "map", Latn, } m["sxs"] = { "Sasaru", 3913384, "alv-yek", Latn, } -- "sxu" "Upper Saxon" IS SUBSUMED INTO "gmw-ecg" "East Central German" m["sxw"] = { "Saxwe Gbe", 7428892, "alv-pph", } m["sya"] = { "Siang", 3482903, } m["syb"] = { "Central Subanen", 12953893, "phi", Latn, } m["syc"] = { "Classical Syriac", 33538, "sem-are", {"Syrc"}, entry_name = { from = {"[" .. u(0x0304) .. u(0x0308) .. u(0x0331) .. u(0x0730) .. "-" .. u(0x0748) .. "]"}, to = {}, }, } m["syi"] = { "Seki", 36547, "bnt-kel", Latn, } m["syk"] = { "Sukur", 56292, "cdc-cbm", Latn, } m["syl"] = { "Sylheti", 2044560, "inc-eas", {"Sylo", "Beng"}, ancestors = {"inc-obn"}, translit_module = "syl-translit", } m["sym"] = { "Maya Samo", 10950421, "dmn-sam", Latn, } m["syn"] = { "Senaya", 33914, "sem-nna", } m["syo"] = { "Suoy", 7641864, "mkh-pea", } m["sys"] = { "Sinyar", 56840, "csu", Latn, } m["syw"] = { "Kagate", 12952538, "sit-kyk", {"Deva"}, } m["syx"] = { "Osamayi", 7408415, "bnt-kel", {"Latn"}, } m["syy"] = { "Al-Sayyid Bedouin Sign Language", 2915457, "sgn", } m["sza"] = { "Semelai", 3111827, "mkh-asl", } m["szb"] = { "Ngalum", 11732516, "ngf-okk", Latn, } m["szc"] = { "Semaq Beri", 7449119, "mkh-asl", } m["szd"] = { "Seru", 7455488, "poz-bnn", Latn, } m["sze"] = { "Seze", 373683, "omv-mao", Latn, } m["szg"] = { "Sengele", 7450555, "bnt-mon", Latn, } m["szl"] = { "Silesian", 30319, "zlw-lch", Latn, } m["szn"] = { "Sula", 3503403, "poz-cma", Latn, } m["szp"] = { "Suabo", 7630429, "ngf-sbh", Latn, } m["szv"] = { "Isubu", 35431, "bnt-saw", Latn, } m["szw"] = { "Sawai", 3447258, "poz-hce", Latn, } m["szy"] = { "Sakizaya", 718269, "map", Latn, } return m gc48dmkmzv8gslni5gf4ax3xcgsvb2r Module:languages/data3/r 828 3098 8488 2022-10-04T04:03:54Z Rebel Agent 2678 Ke dirile module 8488 Scribunto text/plain local u = mw.ustring.char -- UTF-8 encoded strings for some commonly used diacritics local GRAVE = u(0x0300) local ACUTE = u(0x0301) local CIRC = u(0x0302) local TILDE = u(0x0303) local MACRON = u(0x0304) local BREVE = u(0x0306) local DOTABOVE = u(0x0307) local DIAER = u(0x0308) local CARON = u(0x030C) local DGRAVE = u(0x030F) local INVBREVE = u(0x0311) local DOTBELOW = u(0x0323) local RINGBELOW = u(0x0325) local CEDILLA = u(0x0327) local Latn = {"Latn"} local m = {} m["raa"] = { "Dungmali", 56871, "sit-kic", } m["rab"] = { "Chamling", 3436664, "sit-kic", {"Deva"}, } m["rac"] = { "Rasawa", 56443, "paa-lkp", Latn, } m["rad"] = { "Rade", 3429088, "cmc", Latn, } m["raf"] = { "Western Meohang", 17442461, "sit-kie", } m["rag"] = { "Logooli", 6667767, "bnt-lok", Latn, } m["rah"] = { "Rabha", 7278686, "tbq-bdg", {"Beng", "Latn"}, } m["rai"] = { "Ramoaaina", 3418509, "poz-ocw", Latn, } m["raj"] = { "Rajasthani", 13196, "inc-wes", {"Deva"}, ancestors = {"inc-ogu"}, } m["rak"] = { "Tulu-Bohuai", 2908807, "poz-aay", Latn, } m["ral"] = { "Ralte", 7288392, "tbq-kuk", Latn, } m["ram"] = { "Canela", 2936334, "sai-nje", Latn, } m["ran"] = { "Riantana", 7322169, "ngf", Latn, } m["rao"] = { "Rao", 11732596, "paa", Latn, } m["rap"] = { "Rapa Nui", 36746, "poz-pep", Latn, } m["raq"] = { "Saam", 7395644, "sit-kic", } m["rar"] = { "Rarotongan", 36745, "poz-pep", Latn, } m["ras"] = { "Tegali", 36522, "nic-ras", Latn, } m["rat"] = { "Razajerdi", 7299461, "xme-ttc", ancestors = {"xme-ttc-eas"}, } m["rau"] = { "Raute", 7296262, "sit-gma", {"Deva", "Latn"}, } m["rav"] = { "Sampang", 3449115, "sit-kic", } m["raw"] = { "Rawang", 542564, "sit-nng", Latn, sort_key = { from = {"[áāà]", "[éēè]", "[íīì]", "[óōò]", "[úūù]", "ǿ", GRAVE, MACRON, ACUTE}, to = {"a", "e", "i", "o", "u", "ø"}}, } m["rax"] = { "Rang", 3913345, "alv-mum", } m["ray"] = { "Rapa", 36417, "poz-pep", } m["raz"] = { "Rahambuu", 3417555, "poz-btk", } m["rbb"] = { "Rumai Palaung", 12953797, "mkh-pal", } m["rbk"] = { "Northern Bontoc", nil, "phi", } m["rbl"] = { "Miraya Bikol", 18664557, "phi", } m["rcf"] = { "Réunion Creole French", 13198, "crp", Latn, ancestors = {"fr"}, } m["rdb"] = { "Rudbari", 12953072, "xme", ancestors = {"xme-mid"}, } m["rea"] = { "Rerau", 7314883, "ngf-mad", } m["reb"] = { "Rembong", 7311570, "poz-cet", } m["ree"] = { "Rejang Kayan", 3423957, "poz", } m["reg"] = { "Kara (Tanzania)", 6367567, "bnt-haj", } m["rei"] = { "Reli", 7310982, } m["rej"] = { "Rejang", 3056339, "poz-sus", {"Rjng"}, } m["rel"] = { "Rendille", 3447297, "cus-eas", } m["rem"] = { "Remo", 3501825, "sai-pan", Latn, } m["ren"] = { "Rengao", 6583692, "mkh", } m["rer"] = { "Rer Bare", 12953857, } m["res"] = { "Reshe", 36258, "nic-knj", } m["ret"] = { "Retta", 7317113, "ngf", } m["rey"] = { "Reyesano", 3111857, "sai-tac", Latn, } m["rga"] = { "Roria", 7366825, "poz-vnc", } m["rge"] = { "Romani Greek", 3915435, } m["rgk"] = { "Rangkas", 7292645, "sit-alm", } m["rgn"] = { "Romagnol", 1641543, "roa-git", Latn, wikimedia_codes = {"eml"}, } m["rgr"] = { "Resígaro", 3450504, "awd", Latn, } m["rgs"] = { "Southern Roglai", 12953069, } m["rgu"] = { "Ringgou", 7334886, "poz-tim", } m["rhg"] = { "Rohingya", 3241177, "inc-eas", {"Rohg", "Arab", "Mymr", "Latn", "Beng"}, ancestors = {"inc-obn"}, translit_module = "translit-redirect", } m["rhp"] = { "Yahang", 8046792, "qfa-tor", } m["ria"] = { "Reang", 12953063, "tbq-bdg", } m["rif"] = { "Tarifit", 34174, "ber", {"Tfng", "Arab", "Latn"}, translit_module = "Tfng-translit", } m["ril"] = { "Riang", 2741615, "mkh-pal", } m["rim"] = { "Nyaturu", 7193418, "bnt-tkm", Latn, } m["rin"] = { "Nungu", 3913350, "nic-nin", Latn, } m["rir"] = { "Ribun", 7322443, "day", Latn, } m["rit"] = { "Ritarungo", 7336730, "aus-yol", Latn, } m["riu"] = { "Riung", 7336938, "poz-cet", Latn, } m["rjg"] = { "Rajong", 7286370, "poz-cet", Latn, } m["rji"] = { "Raji", 7286138, "sit-gma", } m["rjs"] = { "Rajbanshi", 12640969, "inc-eas", {"Deva", "as-Beng"}, ancestors = {"inc-mgd"}, } m["rka"] = { "Kraol", 3199593, "mkh-ban", {"Khmr"}, -- also Latn? } m["rkb"] = { "Rikbaktsa", 2585357, "sai-mje", Latn, } m["rkh"] = { "Rakahanga-Manihiki", 3119695, "poz-pep", Latn, } m["rki"] = { "Rakhine", 3450749, "tbq-brm", {"Mymr"}, ancestors = {"obr"}, } m["rkm"] = { "Marka", 36030, "dmn-wmn", Latn, } m["rkt"] = { "Kamta", 3241618, "inc-eas", {"as-Beng"}, ancestors = {"inc-ork"}, translit_module = "as-translit", } m["rkw"] = { "Arakwal", 34295800, "aus-pam", Latn, } m["rma"] = { "Rama", 3444486, "cba", } m["rmb"] = { "Rembarunga", 7311553, "aus-gun", Latn, } m["rmc"] = { "Carpathian Romani", 5045611, "inc-rom", } m["rmd"] = { "Traveller Danish", 12640779, "inc-rom", } m["rme"] = { "Angloromani", 541279, "crp", Latn, ancestors = {"en", "rom"}, } m["rmf"] = { "Kalo Finnish Romani", 2093214, "inc-rom", } m["rmg"] = { "Traveller Norwegian", 3177352, "inc-rom", } m["rmh"] = { "Murkim", 4308074, "paa-pau", } m["rmi"] = { "Lomavren", 2495696, "qfa-mix", {"Latn", "Armn"}, ancestors = {"psu", "hy"}, translit_module = "translit-redirect", override_translit = true, } m["rmk"] = { "Romkun", 7363236, "paa", Latn, } m["rml"] = { "Baltic Romani", 513736, "inc-rom", } m["rmm"] = { "Roma", 4414831, } m["rmn"] = { "Balkan Romani", 1256701, "inc-rom", } m["rmo"] = { "Sinte Romani", 1793299, "qfa-mix", Latn, ancestors = {"rom"}, } m["rmp"] = { "Rempi", 7312214, "ngf-mad", } m["rmq"] = { "Caló", 35466, "qfa-mix", Latn, ancestors = {"rom", "la"}, } m["rms"] = { "Romanian Sign Language", 7362575, "sgn", } m["rmt"] = { "Domari", 35394, "inc-cen", ancestors = {"psu"}, } m["rmu"] = { "Tavringer Romani", 27808413, "inc-rom", } m["rmv"] = { "Romanova", 1298715, "art", type = "appendix-constructed", } m["rmw"] = { "Welsh Romani", 2097387, "inc-rom", } m["rmx"] = { "Romam", 22694600, "mkh", } m["rmy"] = { "Vlax Romani", 2669199, "inc-rom", } m["rmz"] = { "Marma", 21403256, "tbq-brm", {"Mymr"}, ancestors = {"obr"}, } m["rnd"] = { "Ruwund", 7383564, "bnt-lun", } m["rng"] = { "Ronga", 2520717, "bnt-tsr", Latn, } m["rnl"] = { "Ranglong", 7292878, } m["rnn"] = { "Roon", 7366335, "poz-hce", } m["rnp"] = { "Rongpo", 7365672, "sit-whm", } m["rnw"] = { "Rungwa", 7379873, "bnt-mwi", Latn, } m["rob"] = { "Tae'", 12473476, "poz-ssw", Latn, } m["roc"] = { "Cacgia Roglai", 2932485, } m["rod"] = { "Rogo", 3914894, "nic-kmk", } m["roe"] = { "Ronji", 3441763, "poz-ocw", } m["rof"] = { "Rombo", 33330, "bnt-chg", Latn, } m["rog"] = { "Northern Roglai", 3439680, "cmc", Latn, } m["rol"] = { "Romblomanon", 13202, "phi", } m["rom"] = { "Romani", 13201, "inc-rom", {"Latn", "Cyrl"}, ancestors = {"psu"}, } m["roo"] = { "Rotokas", 13203, "paa-nbo", Latn, } m["rop"] = { "Kriol", 35671, "crp", Latn, ancestors = {"en"}, } m["ror"] = { "Rongga", 12473464, } m["rou"] = { "Runga", 56793, } m["row"] = { "Dela-Oenale", 5253046, "poz-tim", } m["rpn"] = { "Repanbitip", 7313900, "poz-vnc", } m["rpt"] = { "Rapting", 7294362, "ngf-mad", } m["rri"] = { "Ririo", 2404190, "poz-ocw", } m["rro"] = { "Roro", 34197, "poz-ocw", Latn, } m["rrt"] = { "Arritinngithigh", 4796002, nil, Latn, } m["rsb"] = { "Romano-Serbian", 1268244, } m["rsl"] = { "Russian Sign Language", 13210, "sgn", } m["rsm"] = { "Miriwoong Sign Language", 24090240, "sgn", } m["rtc"] = { "Rungtu", 7379867, "tbq-kuk", } m["rth"] = { "Ratahan", 3420026, "phi", Latn, } m["rtm"] = { "Rotuman", 36754, "poz-occ", Latn, } m["rtw"] = { "Rathawi", 12953854, "inc-bhi", } m["rub"] = { "Gungu", 11165235, "bnt-glb", } m["ruc"] = { "Ruuli", 7383562, "bnt-nyg", } m["rue"] = { "Rusyn", 26245, "zle", {"Cyrl"}, ancestors = {"zle-ort"}, translit_module = "rue-translit", entry_name = { from = {GRAVE, ACUTE}, to = {}} , } m["ruf"] = { "Luguru", 3437661, "bnt-ruv", Latn, } m["rug"] = { "Roviana", 3445546, "poz-ocw", Latn, } m["ruh"] = { "Ruga", 7378127, } m["rui"] = { "Rufiji", 7377946, "bnt-mbi", } m["ruk"] = { "Che", 3915445, "nic-nin", } m["ruo"] = { "Istro-Romanian", 33622, "roa-eas", Latn, } m["rup"] = { "Aromanian", 29316, "roa-eas", Latn, wikimedia_codes = {"roa-rup"}, } m["ruq"] = { "Megleno-Romanian", 13358, "roa-eas", Latn, } m["rut"] = { "Rutul", 36757, "cau-lzg", {"Cyrl"}, } m["ruu"] = { "Lanas Lobu", 12953676, } m["ruy"] = { "Mala (Nigeria)", 3913381, "nic-kau", } m["ruz"] = { "Ruma", 3913326, "nic-kau", } m["rwa"] = { "Rawo", 3504269, } m["rwk"] = { "Rwa", 7985624, "bnt-chg", } m["rwm"] = { "Amba", 788423, "bnt-kbi", Latn, } m["rwo"] = { "Rawa", 11732598, "ngf-fin", Latn, } m["rxd"] = { "Ngardi", 7022063, } m["rxw"] = { "Karuwali", 6881575, } m["ryn"] = { "Northern Amami-Oshima", 2840988, "jpx-ryu", {"Jpan"}, } m["rys"] = { "Yaeyama", 34203, "jpx-ryu", {"Jpan"}, } m["ryu"] = { "Okinawan", 34233, "jpx-ryu", {"Jpan"}, } m["rzh"] = { "Razihi", 16911222, "sem-osa", {"Arab"}, ancestors = {"sem-srb"}, } return m 6uzgoj2cpscfptrwk1tzzs4qhoc6kbp Module:languages/data3/t 828 3099 8489 2022-10-04T04:06:59Z Rebel Agent 2678 Ke dirile module 8489 Scribunto text/plain local u = mw.ustring.char -- UTF-8 encoded strings for some commonly used diacritics local GRAVE = u(0x0300) local ACUTE = u(0x0301) local CIRC = u(0x0302) local TILDE = u(0x0303) local MACRON = u(0x0304) local BREVE = u(0x0306) local DOTABOVE = u(0x0307) local DIAER = u(0x0308) local CARON = u(0x030C) local DGRAVE = u(0x030F) local INVBREVE = u(0x0311) local DOTBELOW = u(0x0323) local RINGBELOW = u(0x0325) local CEDILLA = u(0x0327) -- Punctuation to be used for standardChars field local PUNCTUATION = ' !#$%&*+,-./:;<=>?@^_`|~\'()' local Latn = {"Latn"} local m = {} m["taa"] = { "Lower Tanana", 28565, "ath-nor", Latn, } m["tab"] = { "Tabasaran", 34079, "cau-lzg", {"Cyrl"}, translit_module = "tab-translit", override_translit = true, entry_name = { remove_diacritics = ACUTE }, } m["tac"] = { "Lowland Tarahumara", 15616384, "azc-trc", Latn, } m["tad"] = { "Tause", 2356440, "paa-lkp", Latn, } m["tae"] = { "Tariana", 732726, "awd-nwk", Latn, } m["taf"] = { "Tapirapé", 7684673, "tup-gua", Latn, } m["tag"] = { "Tagoi", 36537, "nic-ras", Latn, } m["taj"] = { "Eastern Tamang", 12953177, "sit-tam", {"Deva"}, } m["tak"] = { "Tala", 3914494, "cdc-wst", Latn, } m["tal"] = { "Tal", 3440387, "cdc-wst", Latn, } m["tan"] = { "Tangale", 529921, "cdc-wst", Latn, } m["tao"] = { "Yami", 715760, "phi", Latn, } m["tap"] = { "Taabwa", 7673650, "bnt-sbi", Latn, } m["tar"] = { "Central Tarahumara", 20090009, "azc-trc", Latn, sort_key = { from = {"á", "é", "í", "ó", "ú", "ꞌ"}, to = {"a", "e", "i", "o", "u"} }, } m["tas"] = { "Tay Boi", 2233794, "crp", Latn, ancestors = {"fr"}, } m["tau"] = { "Upper Tanana", 28281, "ath-nor", Latn, } m["tav"] = { "Tatuyo", 2524007, "sai-tuc", Latn, } m["taw"] = { "Tai", 7675861, "ngf-mad", Latn, } m["tax"] = { "Tamki", 3449082, "cdc-est", Latn, } m["tay"] = { "Atayal", 715766, "map-ata", Latn, } m["taz"] = { "Tocho", 36680, "alv-tal", Latn, } m["tba"] = { "Aikanã", 3409307, "qfa-iso", } m["tbb"] = { "Tapeba", 12953908, } m["tbc"] = { "Takia", 3514336, "poz-oce", } m["tbd"] = { "Kaki Ae", 6349417, "poz-ocw", Latn, } m["tbe"] = { "Tanimbili", 3515188, "poz-oce", Latn, } m["tbf"] = { "Mandara", 3285424, "poz-ocw", Latn, } m["tbg"] = { "North Tairora", 20210398, "paa-kag", } m["tbh"] = { "Thurawal", 3537135, "aus-yuk", } m["tbi"] = { "Gaam", 35338, "sdv-eje", Latn, } m["tbj"] = { "Tiang", 3528020, "poz-ocw", Latn, } m["tbk"] = { "Calamian Tagbanwa", 3915487, "phi-kal", } m["tbl"] = { "Tboli", 7690594, "phi", } m["tbm"] = { "Tagbu", 7675188, "nic-ser", } m["tbn"] = { "Barro Negro Tunebo", 12953943, "cba", } m["tbo"] = { "Tawala", 7689206, "poz-ocw", Latn, } m["tbp"] = { "Taworta", 7689337, "paa-lkp", Latn, } m["tbr"] = { "Tumtum", 3407029, "qfa-kad", } m["tbs"] = { "Tanguat", 7683166, "paa", Latn, } m["tbt"] = { "Kitembo", 13123561, "bnt-shh", Latn, } m["tbu"] = { "Tubar", 56730, "azc-trc", Latn, } m["tbv"] = { "Tobo", 7811712, "ngf", } m["tbw"] = { "Tagbanwa", 3915475, "phi", Latn, } m["tbx"] = { "Kapin", 6366665, "poz-ocw", Latn, } m["tby"] = { "Tabaru", 11732670, "paa-nha", } m["tbz"] = { "Ditammari", 35186, "nic-eov", } m["tca"] = { "Ticuna", 1815205, "sai-tyu", Latn, } m["tcb"] = { "Tanacross", 28268, "ath-nor", Latn, } m["tcc"] = { "Datooga", 35327, "sdv-nis", Latn, } m["tcd"] = { "Tafi", 36545, "alv-ktg", } m["tce"] = { "Southern Tutchone", 31091048, "ath-nor", Latn, } m["tcf"] = { "Malinaltepec Tlapanec", 25559732, "omq", Latn, } m["tcg"] = { "Tamagario", 7680531, "ngf", } m["tch"] = { "Turks and Caicos Creole English", 7855478, "crp", Latn, ancestors = {"en"}, } m["tci"] = { "Wára", 20825638, "paa-yam", } m["tck"] = { "Tchitchege", 36595, "bnt-tek", } m["tcl"] = { "Taman (Burma)", 15616518, "sit-jnp", Latn, } m["tcm"] = { "Tanahmerah", 3514927, "ngf", } m["tco"] = { "Taungyo", 12953186, "tbq-brm", ancestors = {"obr"}, } m["tcp"] = { "Tawr Chin", 7689338, "tbq-kuk", } m["tcq"] = { "Kaiy", 6348709, "paa-lkp", } m["tcs"] = { "Torres Strait Creole", 36648, "crp", Latn, ancestors = {"en"}, } m["tct"] = { "T'en", 3442330, "qfa-kms", } m["tcu"] = { "Southeastern Tarahumara", 36807, "azc-trc", Latn, } m["tcw"] = { "Tecpatlán Totonac", 7692795, "nai-ttn", Latn, } m["tcx"] = { "Toda", 34042, "dra", } m["tcy"] = { "Tulu", 34251, "dra", {"Mlym", "Knda"}, -- Tigalari is not available. Mlym is nearer than Knda but both lack ɛ/ɛː. translit_module = "translit-redirect", } m["tcz"] = { "Thado Chin", 6583558, "tbq-kuk", } m["tda"] = { "Tagdal", 36570, "son", } m["tdb"] = { "Panchpargania", 21946879, "inc-eas", ancestors = {"bh"}, } m["tdc"] = { "Emberá-Tadó", 3052041, "sai-chc", } m["tdd"] = { "Tai Nüa", 36556, "tai-swe", {"Tale"}, translit_module = "Tale-translit", entry_name = { from = {u(0x200C), u(0x200D)}, to = {}} , } m["tde"] = { "Tiranige Diga Dogon", 5313387, "nic-dgw", } m["tdf"] = { "Talieng", 37525108, "mkh-ban", } m["tdg"] = { "Western Tamang", 12953178, "sit-tam", } m["tdh"] = { "Thulung", 56553, "sit-kiw", } m["tdi"] = { "Tomadino", 7818197, "poz-btk", Latn, } m["tdj"] = { "Tajio", 7676870, "poz", } m["tdk"] = { "Tambas", 3440392, "cdc-wst", } m["tdl"] = { "Sur", 3914453, "nic-tar", } m["tdm"] = { "Taruma", nil, } m["tdn"] = { "Tondano", 3531514, "phi", } m["tdo"] = { "Teme", 3913994, "alv-mye", } m["tdq"] = { "Tita", 3914899, "nic-bco", } m["tdr"] = { "Todrah", 7812881, "mkh", } m["tds"] = { "Doutai", 5302331, "paa-lkp", } m["tdt"] = { "Tetun Dili", 12643484, "crp", Latn, ancestors = {"tet"}, } m["tdu"] = { "Tempasuk Dusun", 3529155, "poz-san", } m["tdv"] = { "Toro", 3438367, "nic-alu", } m["tdy"] = { "Tadyawan", 7674700, "phi", } m["tea"] = { "Temiar", 3914693, "mkh-asl", } m["teb"] = { "Tetete", 7706087, "sai-tuc", Latn, } m["tec"] = { "Terik", 3518379, "sdv-nma", } m["ted"] = { "Tepo Krumen", 11152243, "kro-grb", } m["tee"] = { "Huehuetla Tepehua", 56455, "nai-ttn", } m["tef"] = { "Teressa", 3518362, "aav-nic", } m["teg"] = { "Teke-Tege", 36478, "bnt-tek", } m["teh"] = { "Tehuelche", 33930, "sai-cho", } m["tei"] = { "Torricelli", 3450788, "qfa-tor", } m["tek"] = { "Ibali Teke", 2802914, "bnt-tek", } m["tem"] = { "Temne", 36613, "alv-mel", } m["ten"] = { "Tama (Colombia)", 3832969, "sai-tuc", } m["teo"] = { "Ateso", 29474, "sdv-ttu", Latn, } m["tep"] = { "Tepecano", 3915525, "azc", Latn, } m["teq"] = { "Temein", 7698064, "sdv", } m["ter"] = { "Tereno", 3314742, "awd", Latn, } m["tes"] = { "Tengger", 12473479, "poz", } m["tet"] = { "Tetum", 34125, "poz-tim", Latn, } m["teu"] = { "Soo", 3437607, "ssa-klk", } m["tev"] = { "Teor", 12953198, "poz-cma", } m["tew"] = { "Tewa", 56492, "nai-kta", Latn, } m["tex"] = { "Tennet", 56346, "sdv", } m["tey"] = { "Tulishi", 12911106, "qfa-kad", Latn, } m["tez"] = { "Tetserret", 7706841, "ber", Latn, } m["tfi"] = { "Tofin Gbe", 3530330, "alv-pph", } m["tfn"] = { "Dena'ina", 27785, "ath-nor", Latn, } m["tfo"] = { "Tefaro", 7694618, "paa-egb", } m["tfr"] = { "Teribe", 36533, "cba", } m["tft"] = { "Ternate", 3518492, "paa-nha", {"Latn", "Arab"}, } m["tga"] = { "Sagalla", 12953082, "bnt-cht", } m["tgb"] = { "Tobilung", 12953913, "poz-san", } m["tgc"] = { "Tigak", 3528276, "poz-ocw", } m["tgd"] = { "Ciwogai", 3438799, "cdc-wst", } m["tge"] = { "Eastern Gorkha Tamang", 12953175, "sit-tam", } m["tgf"] = { "Chali", 3695197, "sit-ebo", {"Tibt"}, } m["tgh"] = { "Tobagonian Creole English", 7811541, "crp", ancestors = {"en"}, } m["tgi"] = { "Lawunuia", 3219937, "poz-ocw", } m["tgn"] = { "Tandaganon", nil, "phi", } m["tgo"] = { "Sudest", 7675351, "poz-ocw", } m["tgp"] = { "Tangoa", 2410276, "poz-vnc", Latn, } m["tgq"] = { "Tring", 7842360, "poz-swa", } m["tgr"] = { "Tareng", 25559541, "mkh", } m["tgs"] = { "Nume", 3346290, "poz-vnc", } m["tgt"] = { "Central Tagbanwa", 3915515, "phi", {"Tagb"}, } m["tgu"] = { "Tanggu", 7682930, "paa", Latn, } m["tgv"] = { "Tingui-Boto", 7808195, "sai-mje", } m["tgw"] = { "Tagwana Senoufo", 36514, "alv-tdj", } m["tgx"] = { "Tagish", 28064, "ath-nor", Latn, } m["tgy"] = { "Togoyo", 36825, "nic-ser", } m["thc"] = { "Tai Hang Tong", 7675753, "tai-nor", } m["thd"] = { "Kuuk Thaayorre", 6448718, "aus-pmn", Latn, } m["the"] = { "Chitwania Tharu", 22083804, "inc-eas", ancestors = {"inc-mgd"}, } m["thf"] = { "Thangmi", 7710314, "sit-new", } m["thh"] = { "Northern Tarahumara", 15616395, "azc-trc", Latn, } m["thi"] = { "Tai Long", 25559562, "tai-swe", } m["thk"] = { "Tharaka", 15407179, "bnt-kka", } m["thl"] = { "Dangaura Tharu", 22083815, "inc-eas", ancestors = {"inc-mgd"}, } m["thm"] = { "Thavung", 34780, "mkh-vie", {"Thai"}, --Laoo is feasible but no evidence yet. sort_key = { from = {"[%pๆ]", "[็-๎]", "([เแโใไ])([ก-ฮ])"}, to = {"", "", "%2%1"}}, } m["thn"] = { "Thachanadan", 7708880, "dra", } m["thp"] = { "Thompson", 1755054, "sal", } m["thq"] = { "Kochila Tharu", 22083826, "inc-eas", ancestors = {"inc-mgd"}, } m["thr"] = { "Rana Tharu", 12953920, "inc-eas", ancestors = {"inc-mgd"}, } m["ths"] = { "Thakali", 7709348, "sit-tam", } m["tht"] = { "Tahltan", 30125, "ath-nor", Latn, } m["thu"] = { "Thuri", 7799291, "sdv-lon", } m["thy"] = { "Tha", 3915849, "alv-bwj", } m["tic"] = { "Tira", 36677, "alv-hei", } m["tif"] = { "Tifal", 11732691, "ngf-okk", } m["tig"] = { "Tigre", 34129, "sem-eth", {"Ethi"}, translit_module = "Ethi-translit", } m["tih"] = { "Timugon Murut", 7807680, "poz-san", } m["tii"] = { "Tiene", 36469, "bnt-tek", } m["tij"] = { "Tilung", 7803037, "sit-kiw", } m["tik"] = { "Tikar", 36483, "nic-bdn", Latn, } m["til"] = { "Tillamook", 2109432, "sal", } m["tim"] = { "Timbe", 7804599, "ngf", } m["tin"] = { "Tindi", 36860, "cau-ava", {"Cyrl"}, } m["tio"] = { "Teop", 3518239, "poz-ocw", } m["tip"] = { "Trimuris", 7842270, "paa-tkw", } m["tiq"] = { "Tiéfo", 3914874, "alv-sav", } m["tis"] = { "Masadiit Itneg", 18748769, "phi", } m["tit"] = { "Tinigua", 3029805, } m["tiu"] = { "Adasen", 11214797, "phi", } m["tiv"] = { "Tiv", 34131, "nic-tvc", Latn, } m["tiw"] = { "Tiwi", 1656014, "qfa-iso", Latn, } m["tix"] = { "Southern Tiwa", 7570552, "nai-kta", Latn, } m["tiy"] = { "Tiruray", 7809425, "phi", Latn, } m["tiz"] = { "Tai Hongjin", 3915716, "tai-swe", } m["tja"] = { "Tajuasohn", 3915326, "kro-wkr", } m["tjg"] = { "Tunjung", 3542117, "poz", } m["tji"] = { "Northern Tujia", 12953229, "sit-tja", } m["tjl"] = { "Tai Laing", 7675773, "tai-swe", {"Mymr"}, } m["tjm"] = { "Timucua", 638300, "qfa-iso", } m["tjn"] = { "Tonjon", 3913372, "dmn-jje", } m["tjs"] = { "Southern Tujia", 12633994, "sit-tja", Latn, } m["tju"] = { "Tjurruru", 3913834, "aus-nga", Latn, } m["tjw"] = { "Chaap Wuurong", 5285187, "aus-pam", Latn, } m["tka"] = { "Truká", 7847648, } m["tkb"] = { "Buksa", 20983638, "inc-eas", ancestors = {"inc-mgd"}, } m["tkd"] = { "Tukudede", 36863, "poz-tim", Latn, } m["tke"] = { "Takwane", 11030092, "bnt-mak", ancestors = {"vmw"}, } m["tkf"] = { "Tukumanféd", 42330115, "tup-gua", Latn, } m["tkl"] = { "Tokelauan", 34097, "poz-pnp", Latn, } m["tkm"] = { "Takelma", 56710, } m["tkn"] = { "Toku-No-Shima", 3530484, "jpx-ryu", {"Jpan"}, } m["tkp"] = { "Tikopia", 36682, "poz-pnp", Latn, } m["tkq"] = { "Tee", 3075144, "nic-ogo", Latn, } m["tkr"] = { "Tsakhur", 36853, "cau-lzg", {"Cyrl"}, } m["tks"] = { "Ramandi", 25261947, "xme-ttc", ancestors = {"xme-ttc-sou"}, } m["tkt"] = { "Kathoriya Tharu", 22083822, "inc-eas", ancestors = {"inc-mgd"}, } m["tku"] = { "Upper Necaxa Totonac", 56343, "nai-ttn", Latn, } m["tkv"] = { "Mur Pano", nil, "poz-ocw", Latn, } m["tkw"] = { "Teanu", 3516731, "poz-oce", Latn, } m["tkx"] = { "Tangko", 7682993, "ngf-okk", } m["tkz"] = { "Takua", 7678544, "mkh", } m["tla"] = { "Southwestern Tepehuan", 3518245, "azc", Latn, } m["tlb"] = { "Tobelo", 1142333, "paa-nha", } m["tlc"] = { "Misantla Totonac", 56460, "nai-ttn", Latn, } m["tld"] = { "Talaud", 7678964, "phi", } m["tlf"] = { "Telefol", 7696150, "ngf-okk", } m["tlg"] = { "Tofanma", 4461493, "paa-pau", } m["tlh"] = { "Klingon", 10134, "art", Latn, type = "appendix-constructed", } m["tli"] = { "Tlingit", 27792, "xnd", {"Latn", "Cyrl"}, } m["tlj"] = { "Talinga-Bwisi", 7679530, "bnt-haj", } m["tlk"] = { "Taloki", 3514563, "poz-btk", } m["tll"] = { "Tetela", 2613465, "bnt-tet", } m["tlm"] = { "Tolomako", 3130514, "poz-vnc", } m["tln"] = { "Talondo'", 7680293, "poz-ssw", } m["tlo"] = { "Talodi", 36525, "alv-tal", } m["tlp"] = { "Filomena Mata-Coahuitlán Totonac", 5449202, "nai-ttn", Latn, } m["tlq"] = { "Tai Loi", 7675784, "mkh-pal", } m["tlr"] = { "Talise", 3514510, "poz-sls", } m["tls"] = { "Tambotalo", 7681065, "poz-vnc", } m["tlt"] = { "Teluti", 12953194, "poz-cma", } m["tlu"] = { "Tulehu", 7852006, "poz-cma", } m["tlv"] = { "Taliabu", 3514498, "poz-cma", Latn, } m["tlx"] = { "Khehek", 3196124, "poz-aay", } m["tly"] = { "Talysh", 34318, "xme-ttc", {"Latn", "Cyrl", "fa-Arab"}, ancestors = {"xme-ttc-pro"}, } m["tma"] = { "Tama (Chad)", 57001, "sdv-tmn", } m["tmb"] = { "Avava", 2157461, "poz-vnc", } m["tmc"] = { "Tumak", 3121045, "cdc-est", } m["tmd"] = { "Haruai", 12632146, "ngf-mad", } m["tme"] = { "Tremembé", 5246937, } m["tmf"] = { "Toba-Maskoy", 3033544, "sai-mas", } m["tmg"] = { "Ternateño", 7232597, } m["tmh"] = { "Tuareg", 34065, "ber", {"Latn", "Tfng", "Arab"}, entry_name = { remove_diacritics = ACUTE .. GRAVE .. CIRC }, } m["tmi"] = { "Tutuba", 7857052, "poz-vnc", } m["tmj"] = { "Samarokena", 7408865, "paa-tkw", } m["tmk"] = { "Northwestern Tamang", 15616509, "sit-tam", } m["tml"] = { "Tamnim Citak", 12643315, "ngf", } m["tmm"] = { "Tai Thanh", 7675842, "tai-swe", } m["tmn"] = { "Taman (Indonesia)", 7680671, "poz", Latn, } m["tmo"] = { "Temoq", 7698205, "mkh-asl", } m["tmp"] = { "Tai Mène", 7675790, "tai-nor", } m["tmq"] = { "Tumleo", 7852641, "poz-ocw", } m["tms"] = { "Tima", 36684, "nic-ktl", } m["tmt"] = { "Tasmate", 7687571, "poz-vnc", } m["tmu"] = { "Iau", 56867, "paa-lkp", } m["tmv"] = { "Motembo", 11013108, "bnt-bun", } m["tmy"] = { "Tami", 3514812, "poz-oce", } m["tmz"] = { "Tamanaku", 3441435, "sai-ven", Latn, } m["tna"] = { "Tacana", 3182551, "sai-tac", Latn, } m["tnb"] = { "Western Tunebo", 3181238, "cba", } m["tnc"] = { "Tanimuca-Retuarã", 36535, "sai-tuc", Latn, } m["tnd"] = { "Angosturas Tunebo", 25559604, "cba", } m["tne"] = { "Tinoc Kallahan", 3192219, } m["tng"] = { "Tobanga", 3440501, "cdc-est", } m["tnh"] = { "Maiani", 6735243, "ngf-mad", Latn, } m["tni"] = { "Tandia", 7682454, "poz-hce", Latn, } m["tnk"] = { "Kwamera", 3200806, "poz-oce", } m["tnl"] = { "Lenakel", 3229429, "poz-oce", } m["tnm"] = { "Tabla", 7673105, "paa-sen", } m["tnn"] = { "North Tanna", 957945, "poz-oce", } m["tno"] = { "Toromono", 510544, "sai-tac", Latn, } m["tnp"] = { "Whitesands", 3063761, "poz-oce", } m["tnq"] = { "Taíno", 5232952, "awd-taa", Latn, ancestors = {"awd-taa-pro"}, } m["tnr"] = { "Bedik", 35096, "alv-ten", } m["tns"] = { "Tenis", 7699870, "poz-ocw", } m["tnt"] = { "Tontemboan", 3531666, "phi", Latn, } m["tnu"] = { "Tay Khang", 6362363, "tai", } m["tnv"] = { "Tangchangya", 7682361, "inc-eas", {"Cakm"}, ancestors = {"inc-obn"}, } m["tnw"] = { "Tonsawang", 3531660, "phi", } m["tnx"] = { "Tanema", 2106984, "poz-oce", } m["tny"] = { "Tongwe", 7821200, "bnt", } m["tnz"] = { "Ten'edn", 3073453, "mkh-asl", Latn, } m["tob"] = { "Toba", 3113756, "sai-guc", Latn, } m["toc"] = { "Coyutla Totonac", 15615591, "nai-ttn", Latn, } m["tod"] = { "Toma", 11055484, "dmn-msw", } m["tof"] = { "Gizrra", 5565941, } m["tog"] = { "Tonga (Malawi)", 3847648, "bnt-nys", Latn, } m["toh"] = { "Tonga (Mozambique)", 7820988, "bnt-bso", } m["toi"] = { "Tonga (Zambia)", 34101, "bnt-bot", } m["toj"] = { "Tojolabal", 36762, "myn", } m["tok"] = { "Toki Pona", 36846, "art", Latn, type = "appendix-constructed", } m["tol"] = { "Tolowa", 20827, "ath-pco", Latn, } m["tom"] = { "Tombulu", 3531199, "phi", } m["too"] = { "Xicotepec de Juárez Totonac", 8044353, "nai-ttn", Latn, } m["top"] = { "Papantla Totonac", 56329, "nai-ttn", Latn, } m["toq"] = { "Toposa", 3033588, "sdv-ttu", } m["tor"] = { "Togbo-Vara Banda", 11002922, "bad-cnt", } m["tos"] = { "Highland Totonac", 13154149, "nai-ttn", Latn, } m["tou"] = { "Tho", 22694631, "mkh-vie", } m["tov"] = { "Upper Taromi", 12953183, "xme-ttc", ancestors = {"xme-ttc-cen"}, } m["tow"] = { "Jemez", 3912876, "nai-kta", Latn, } m["tox"] = { "Tobian", 34022, "poz-mic", } m["toy"] = { "Topoiyo", 7824977, "poz-kal", } m["toz"] = { "To", 7811216, "alv-mbm", } m["tpa"] = { "Taupota", 7688832, "poz-ocw", } m["tpc"] = { "Azoyú Me'phaa", 25559730, "omq", } m["tpe"] = { "Tippera", 16115423, "tbq-bdg", } m["tpf"] = { "Tarpia", 12953185, "poz-ocw", } m["tpg"] = { "Kula", 6442714, "qfa-tap", } m["tpi"] = { "Tok Pisin", 34159, "crp", Latn, ancestors = {"en"}, } m["tpj"] = { "Tapieté", 3121063, } m["tpk"] = { "Tupinikin", 33924, "tup-gua", } m["tpl"] = { "Tlacoapa Me'phaa", 16115511, "omq", } m["tpm"] = { "Tampulma", 36590, "nic-gnw", } m["tpn"] = { "Tupinambá", 31528147, "tup-gua", Latn, } m["tpo"] = { "Tai Pao", 7675795, "tai-nor", } m["tpp"] = { "Pisaflores Tepehua", 56349, "nai-ttn", } m["tpq"] = { "Tukpa", 12953230, "sit-las", } m["tpr"] = { "Tuparí", 3542217, "tup", Latn, } m["tpt"] = { "Tlachichilco Tepehua", 56330, "nai-ttn", } m["tpu"] = { "Tampuan", 3514882, "mkh-ban", } m["tpv"] = { "Tanapag", 3397371, "poz-mic", } m["tpw"] = { "Old Tupi", 56944, "tup-gua", Latn, } m["tpx"] = { "Acatepec Me'phaa", 31157882, "omq", } m["tpy"] = { "Trumai", 12294279, "qfa-iso", } m["tpz"] = { "Tinputz", 3529205, "poz-ocw", } m["tqb"] = { "Tembé", 10322157, "tup-gua", Latn, } m["tql"] = { "Lehali", 3229119, "poz-oce", } m["tqm"] = { "Turumsa", 7856508, "paa", } m["tqn"] = { "Tenino", 15699255, "nai-shp", Latn, ancestors = {"nai-spt"}, } m["tqo"] = { "Toaripi", 7811403, "ngf", } m["tqp"] = { "Tomoip", 3531388, "poz-ocw", } m["tqq"] = { "Tunni", 3514343, "cus-eas", } m["tqr"] = { "Torona", 36679, "alv-tal", } m["tqt"] = { "Western Totonac", 7116691, "nai-ttn", Latn, } m["tqu"] = { "Touo", 56750, } m["tqw"] = { "Tonkawa", 2454881, "qfa-iso", } m["tra"] = { "Tirahi", 3812406, "inc-dar", } m["trb"] = { "Terebu", 7701797, "poz-ocw", } m["trc"] = { "Copala Triqui", 12953935, "omq-tri", Latn, } m["trd"] = { "Turi", 7854914, "mun", } m["tre"] = { "East Tarangan", 18609750, "poz", } m["trf"] = { "Trinidadian Creole English", 7842493, "crp", ancestors = {"en"}, } m["trg"] = { "Lishán Didán", 56473, "sem-nna", } m["trh"] = { "Turaka", 12953237, "ngf", } m["tri"] = { "Trió", 56885, "sai-tar", Latn, } m["trj"] = { "Toram", 3441225, "cdc-est", } m["trl"] = { "Traveller Scottish", 3915671, } m["trm"] = { "Tregami", 34081, "nur-sou", } m["trn"] = { "Trinitario", 3539279, "awd", } m["tro"] = { "Tarao", 3515603, "tbq-kuk", Latn, } m["trp"] = { "Kokborok", 35947, "tbq-bdg", } m["trq"] = { "San Martín Itunyoso Triqui", 12953934, "omq-tri", Latn, } m["trr"] = { "Taushiro", 1957508, } m["trs"] = { "Chicahuaxtla Triqui", 3539587, "omq-tri", Latn, } m["trt"] = { "Tunggare", 615071, "paa-egb", } m["tru"] = { "Turoyo", 34040, "sem-cna", {"Syrc", "Latn"}, entry_name = { from = { "[" .. u(0x0711, 0x0730, ("-"):byte(), 0x074A) .. "]" }, to = {}, }, translit_module = "tru-translit", } m["trv"] = { "Taroko", 716686, "map-ata", Latn, } m["trw"] = { "Torwali", 2665246, "inc-dar", {"ur-Arab"}, } m["trx"] = { "Tringgus", 7842365, "day", } m["try"] = { "Turung", 7856514, "tai-swe", {"as-Beng"}, } m["trz"] = { "Torá", 7827518, "sai-cpc", } m["tsa"] = { "Tsaangi", 36675, "bnt-nze", } m["tsb"] = { "Tsamai", 2371358, "cus-eas", } m["tsc"] = { "Tswa", 2085051, "bnt-tsr", } m["tsd"] = { "Tsakonian", 220607, "grk", {"Grek"}, ancestors = {"grc"}, translit_module = "el-translit", entry_name = { from = {u(0x0324), u(0x032E), CARON}, to = {}}, sort_key = { -- Keep this synchronized with el, grc, cpg, pnt, grk-mar from = {"[ᾳάᾴὰᾲᾶᾷἀᾀἄᾄἂᾂἆᾆἁᾁἅᾅἃᾃἇᾇα̤ά̤]", "[έὲἐἔἒἑἕἓ]", "[ῃήῄὴῂῆῇἠᾐἤᾔἢᾒἦᾖἡᾑἥᾕἣᾓἧᾗ]", "[ίὶῖἰἴἲἶἱἵἳἷϊΐῒῗι̮]", "[όὸὀὄὂὁὅὃο̤ό̤]", "[ύὺῦὐὔὒὖὑὕὓὗϋΰῢῧ]", "[ῳώῴὼῲῶῷὠᾠὤᾤὢᾢὦᾦὡᾡὥᾥὣᾣὧᾧ]", "ῥ", "ς", "ζ̌", "ξ̌", "σ̌", "χ̌", "ψ̌"}, to = {"α" , "ε" , "η" , "ι" , "ο" , "υ" , "ω" , "ρ", "σ", "ζ", "ξ", "σ", "χ", "ψ"}} , } m["tse"] = { "Tunisian Sign Language", 7853191, "sgn", } m["tsf"] = { "Southwestern Tamang", 12953176, "sit-tam", } m["tsg"] = { "Tausug", 34142, "phi", {"Latn", "Arab"}, } m["tsh"] = { "Tsuvan", 3502326, "cdc-cbm", } m["tsi"] = { "Tsimshian", 20085721, "nai-tsi", } m["tsj"] = { "Tshangla", 36840, "sit-tsk", {"Latn", "Deva", "Tibt"}, } m["tsl"] = { "Ts'ün-Lao", 3446675, "tai", } m["tsm"] = { "Turkish Sign Language", 36885, "sgn", } m["tsp"] = { "Northern Toussian", 11155635, "alv-sav", } m["tsq"] = { "Thai Sign Language", 7709156, "sgn", {"Sgnw"}, } m["tsr"] = { "Akei", 2828964, "poz-vnc", } m["tss"] = { "Taiwan Sign Language", 34019, "sgn-jsl", } m["tsu"] = { "Tsou", 716681, "map", Latn, } m["tsv"] = { "Tsogo", 36674, "bnt-tso", } m["tsw"] = { "Tsishingini", 13123571, "nic-kam", } m["tsx"] = { "Mubami", 6930815, "ngf", } m["tsy"] = { "Tebul Sign Language", 7692090, "sgn", } m["tta"] = { "Tutelo", 2311602, "sio-ohv", } m["ttb"] = { "Gaa", 3438361, "nic-dak", } m["ttc"] = { "Tektiteko", 36686, "myn", } m["ttd"] = { "Tauade", 7688634, } m["tte"] = { "Bwanabwana", 5003667, "poz-ocw", Latn, } m["ttf"] = { "Tuotomb", 7853459, "nic-mbw", Latn, } m["ttg"] = { "Tutong", 3507990, "poz-swa", } m["tth"] = { "Upper Ta'oih", 3512660, "mkh-kat", } m["tti"] = { "Tobati", 7811556, "poz-ocw", } m["ttj"] = { "Tooro", 7824218, "bnt-nyg", } m["ttk"] = { "Totoro", 3532756, "sai-bar", } m["ttl"] = { "Totela", 10962316, "bnt-bot", } m["ttm"] = { "Northern Tutchone", 20822, "ath-nor", Latn, } m["ttn"] = { "Towei", 7829606, "paa-pau", } m["tto"] = { "Lower Ta'oih", 25559539, "mkh-kat", } m["ttp"] = { "Tombelala", 6799663, "poz-kal", } m["ttr"] = { "Tera", 56267, "cdc-cbm", } m["tts"] = { "Isan", 33417, "tai-swe", {"Thai"}, sort_key = { from = {"[%pๆ]", "[็-๎]", "([เแโใไ])([ก-ฮ])"}, to = {"", "", "%2%1"}}, } m["ttt"] = { "Tat", 56489, "ira-swi", {"Cyrl", "Latn", "Armn", "fa-Arab"}, ancestors = {"fa"}, } m["ttu"] = { "Torau", 3532208, "poz-ocw", } m["ttv"] = { "Titan", 3445811, "poz-aay", } m["ttw"] = { "Long Wat", 7856961, "poz-swa", } m["tty"] = { "Sikaritai", 7513600, "paa-lkp", } m["ttz"] = { "Tsum", 12953223, "sit-kyk", } m["tua"] = { "Wiarumus", 7998045, "qfa-tor", Latn, } m["tub"] = { "Tübatulabal", 56704, "azc", Latn, } m["tuc"] = { "Mutu", 3331003, "poz-ocw", Latn, } m["tud"] = { "Tuxá", 7857217, } m["tue"] = { "Tuyuca", 2520538, "sai-tuc", Latn, } m["tuf"] = { "Central Tunebo", 12953942, "cba", } m["tug"] = { "Tunia", 863721, "alv-bua", } m["tuh"] = { "Taulil", 3516141, "paa-bng", } m["tui"] = { "Tupuri", 36646, "alv-mbm", Latn, } m["tuj"] = { "Tugutil", 12953228, "paa-nha" } m["tul"] = { "Tula", 3914907, "alv-wjk", } m["tum"] = { "Tumbuka", 34138, "bnt-nys", Latn, } m["tun"] = { "Tunica", 56619, "qfa-iso", Latn, } m["tuo"] = { "Tucano", 3541834, "sai-tuc", Latn, } m["tuq"] = { "Tedaga", 36639, "ssa-sah", } m["tus"] = { "Tuscarora", 36944, "iro-nor", {"Latinx"}, } m["tuu"] = { "Tututni", 20627, "ath-pco", Latn, } m["tuv"] = { "Turkana", 36958, "sdv-ttu", Latn, } m["tux"] = { "Tuxináwa", 7857204, "sai-pan", Latn, } m["tuy"] = { "Tugen", 3541935, "sdv-nma", } m["tuz"] = { "Turka", 36643, "nic-gur", Latn, } m["tva"] = { "Vaghua", 3553248, "poz-ocw", Latn, } m["tvd"] = { "Tsuvadi", 3914936, "nic-kam", } m["tve"] = { "Te'un", 7690709, "poz-cet", Latn, } m["tvk"] = { "Southeast Ambrym", 252411, "poz-vnc", Latn, } m["tvl"] = { "Tuvaluan", 34055, "poz-pnp", Latn, } m["tvm"] = { "Tela-Masbuar", 7695666, "poz-tim", } m["tvn"] = { "Tavoyan", 7689158, "tbq-brm", {"Mymr"}, ancestors = {"obr"}, } m["tvo"] = { "Tidore", 3528199, "paa-nha", {"Latn", "Arab"}, } m["tvs"] = { "Taveta", 15632387, "bnt-par", } m["tvt"] = { "Tutsa Naga", 7856987, "sit-tno", } m["tvu"] = { "Tunen", 36632, "nic-mbw", } m["tvw"] = { "Sedoa", 7445362, "poz-kal", } m["tvx"] = { "Taivoan", 1975271, "map", Latn, } m["tvy"] = { "Timor Pidgin", 4904029, "crp", ancestors = {"pt"}, } m["twa"] = { "Twana", 7857412, "sal", } m["twb"] = { "Western Tawbuid", 12953912, "phi", } m["twc"] = { "Teshenawa", 3436597, "phi", } m["twe"] = { "Teiwa", 3519302, "ngf", Latn, } m["twf"] = { "Taos", 7684320, "nai-kta", Latn, } m["twg"] = { "Tereweng", 12953200, "qfa-tap", } m["twh"] = { "Tai Dón", 7675751, "tai-swe", {"Tavt"}, --translit_module = "Tavt-translit", sort_key = { from = {"[꪿ꫀ꫁ꫂ]", "([ꪵꪶꪹꪻꪼ])([ꪀ-ꪯ])"}, to = {"", "%2%1"}}, } m["twm"] = { "Tawang Monpa", 36586, "sit-ebo", } m["twn"] = { "Twendi", 7857682, "nic-mmb", } m["two"] = { "Tswapong", 3446241, "bnt-sts", } m["twp"] = { "Ere", 3056045, "poz-aay", Latn, } m["twq"] = { "Tasawaq", 36564, "son", } m["twr"] = { "Southwestern Tarahumara", 12953909, "azc-trc", Latn, } m["twt"] = { "Turiwára", 3542307, "tup-gua", Latn, } m["twu"] = { "Termanu", 7702572, "poz-tim", } m["tww"] = { "Tuwari", 7857159, "paa-spk", } m["twy"] = { "Tawoyan", 3513542, "poz-bre", } m["txa"] = { "Tombonuo", 7818692, "poz-san", } m["txb"] = { "Tocharian B", 3199353, "ine-toc", Latn, wikipedia_article = "Tocharian languages", -- wikidata id has no associated article standardChars = "ACEIK-PR-UWYaceik-pr-uwyÄäĀāṂṃṄṅÑñŚśṢṣ" .. PUNCTUATION, } m["txc"] = { "Tsetsaut", 20829, "ath-nor", Latn, } m["txe"] = { "Totoli", 7828387, "poz-tot", Latn, } m["txg"] = { "Tangut", 2727930, "sit-qia", {"Tang"}, } m["txj"] = { "Tarjumo", nil, "ssa-sah", {"Latn", "Arab"}, } m["txh"] = { "Thracian", 36793, "ine", {"Latn", "Grek"}, translit_module = "el-translit", } m["txi"] = { "Ikpeng", 9344891, "sai-pek", Latn, } m["txm"] = { "Tomini", 7818911, "poz", } m["txn"] = { "West Tarangan", 3515594, "poz", } m["txo"] = { "Toto", 36709, "sit-dhi", } m["txq"] = { "Tii", 7801784, "poz-tim", } m["txr"] = { "Tartessian", 36795, } m["txs"] = { "Tonsea", 3531659, "phi", } m["txt"] = { "Citak", 3447279, "ngf", } m["txu"] = { "Kayapó", 3101212, "sai-nje", Latn, } m["txx"] = { "Tatana", 18643518, "poz-san", } m["tya"] = { "Tauya", 7688978, "ngf-mad", } m["tye"] = { "Kyenga", 3913304, "dmn-bbu", Latn, } m["tyh"] = { "O'du", 3347428, "mkh", } m["tyi"] = { "Teke-Tsaayi", 33123613, "bnt-nze", } m["tyj"] = { "Tai Do", 7675746, "tai-nor", } m["tyl"] = { "Thu Lao", 12953921, "tai-cen", } m["tyn"] = { "Kombai", 6428241, "ngf", } m["typ"] = { "Kuku-Thaypan", 3915693, "aus-pmn", Latn, } m["tyr"] = { "Tai Daeng", 3915207, "tai-swe", {"Tavt"}, } m["tys"] = { "Sapa", 3446668, "tai-sap", Latn, } m["tyt"] = { "Tày Tac", 7862029, "tai-swe", } m["tyu"] = { "Kua", 3832933, "khi-kal", } m["tyv"] = { "Tuvan", 34119, "trk-sib", {"Cyrl"}, translit_module = "tyv-translit", override_translit = true, } m["tyx"] = { "Teke-Tyee", 36634, "bnt-nze", } m["tyz"] = { "Tày", -- This does not mean its umbrella "Tai" languages. 2511476, "tai-tay", {"Latn", "Hani"}, } m["tza"] = { "Tanzanian Sign Language", 7684177, "sgn", } m["tzh"] = { "Tzeltal", 36808, "myn", Latn, } m["tzj"] = { "Tz'utujil", 36941, "myn", Latn, } m["tzl"] = { "Talossan", 1063911, "art", Latn, type = "appendix-constructed", sort_key = { from = {"[àáâäå]", "ç", "ð", "[ëèéê]", "[ìíîï]", "ñ", "[öòóô]", "ß", "[üùúû]", "þ"}, to = {"a", "c", "d∙", "e", "i", "n", "o", "s", "u", "z∙"}} , -- bullet so ð and þ are sorted after all other words with d and z, respectively } m["tzm"] = { "Central Atlas Tamazight", 49741, "ber", {"Tfng", "Arab", "Latn"}, translit_module = "Tfng-translit", } m["tzn"] = { "Tugun", 12953225, "poz-tim", } m["tzo"] = { "Tzotzil", 36809, "myn", Latn, } m["tzx"] = { "Tabriak", 56872, "paa-lsp", Latn, } return m 0nw8lfljy65wngsid2icclwyb565l1p Module:languages/data3/b 828 3100 8490 2022-10-04T04:10:27Z Rebel Agent 2678 Ke dirile module 8490 Scribunto text/plain local u = mw.ustring.char -- UTF-8 encoded strings for some commonly-used diacritics local GRAVE = u(0x0300) local ACUTE = u(0x0301) local CIRC = u(0x0302) local TILDE = u(0x0303) local MACRON = u(0x0304) local BREVE = u(0x0306) local DOTABOVE = u(0x0307) local DIAER = u(0x0308) local CARON = u(0x030C) local DGRAVE = u(0x030F) local INVBREVE = u(0x0311) local DOTBELOW = u(0x0323) local RINGBELOW = u(0x0325) local CEDILLA = u(0x0327) -- Use these in "scripts" to save a little memory. local Arab = {"Arab"} local Cyrl = {"Cyrl"} local Deva = {"Deva"} local Latn = {"Latn"} local m = {} m["baa"] = { "Babatana", 2877785, "poz-ocw", Latn, } m["bab"] = { "Bainouk-Gunyuño", 35508, "alv-bny", Latn, } m["bac"] = { "Badui", 3449885, "poz-msa", Latn, } m["bae"] = { "Baré", 3504087, "awd", Latn, } m["baf"] = { "Nubaca", 36270, "nic-ymb", Latn, } m["bag"] = { "Tuki", 36621, "nic-mba", Latn, } m["bah"] = { "Bahamian Creole", 2669229, "crp", Latn, ancestors = {"en"}, } m["baj"] = { "Barakai", 3502030, "poz-cet", Latn, } m["bal"] = { "Baluchi", 33049, "ira-nwi", {"fa-Arab"}, } m["ban"] = { "Balinese", 33070, "poz-mcm", {"Latn", "Bali"}, } m["bao"] = { "Waimaha", 2883738, "sai-tuc", Latn, } m["bap"] = { "Bantawa", 56500, "sit-kic", Deva, } m["bar"] = { "Bavarian", 29540, "gmw", Latn, ancestors = {"gmh"}, } m["bas"] = { "Basaa", 33093, "bnt-bsa", Latn, } m["bau"] = { "Badanchi", 11001650, "nic-jrw", Latn, } m["bav"] = { "Babungo", 34885, "nic-rnn", Latn, } m["baw"] = { "Bambili-Bambui", 34880, "nic-nge", Latn, } m["bax"] = { "Bamum", 35280, "nic-nun", {"Latn", "Bamu"}, } m["bay"] = { "Batuley", 8828787, "poz", Latn, } m["bba"] = { "Baatonum", 34889, "alv-sav", Latn, } m["bbb"] = { "Barai", 4858206, "ngf", Latn, } m["bbc"] = { "Toba Batak", 33017, "btk", {"Latn", "Batk"}, } m["bbd"] = { "Bau", 4873415, "ngf-mad", Latn, } m["bbe"] = { "Bangba", 34895, "nic-nke", Latn, } m["bbf"] = { "Baibai", 56902, "paa", Latn, } m["bbg"] = { "Barama", 34884, "bnt-sir", Latn, } m["bbh"] = { "Bugan", 3033554, "mkh-pkn", Latn, } m["bbi"] = { "Barombi", 34985, "bnt-bsa", Latn, } m["bbj"] = { "Ghomala'", 35271, "bai", Latn, } m["bbk"] = { "Babanki", 34790, "nic-rnc", Latn, } m["bbl"] = { "Bats", 33259, "cau-nkh", {"Geor"}, translit_module = "Geor-translit", entry_name = { from = {"̃", "<sup>ნ</sup>", MACRON, BREVE}, to = {"", "ნ"}} , } m["bbm"] = { -- name includes prefix "Babango", 34819, "bnt-bta", Latn, } m["bbn"] = { "Uneapa", 7884126, "poz-ocw", Latn, } m["bbo"] = { "Konabéré", 35371, "dmn-snb", Latn, } m["bbp"] = { "West Central Banda", 7984377, "bad", Latn, } m["bbq"] = { "Bamali", 34901, "nic-nun", Latn, } m["bbr"] = { "Girawa", 5564185, "ngf-mad", Latn, } m["bbs"] = { "Bakpinka", 3515061, "nic-ucr", Latn, } m["bbt"] = { "Mburku", 3441324, "cdc-wst", Latn, } m["bbu"] = { "Bakulung", 35580, "nic-jrn", Latn, } m["bbv"] = { "Karnai", 6372803, "poz-ocw", Latn, } m["bbw"] = { "Baba", 34822, "nic-nun", Latn, } m["bbx"] = { -- cf bvb "Bubia", 34953, "nic-bds", Latn, ancestors = {"bvb"}, } m["bby"] = { "Befang", 34960, "nic-bds", Latn, } m["bca"] = { "Central Bai", 12628803, "zhx-gba", {"Hani", "Latn"}, } m["bcb"] = { "Bainouk-Samik", 36390, "alv-bny", Latn, } m["bcd"] = { "North Babar", 7054041, "poz-tim", Latn, } m["bce"] = { "Bamenyam", 34968, "nic-nun", Latn, } m["bcf"] = { "Bamu", 3503788, "paa-kiw", Latn, } m["bcg"] = { "Baga Pokur", 31172660, "alv-nal", Latn, } m["bch"] = { "Bariai", 2884502, "poz-ocw", Latn, } m["bci"] = { "Baoule", 35107, "alv-ctn", Latn, } m["bcj"] = { "Bardi", 3913852, "aus-nyu", Latn, } m["bck"] = { "Bunaba", 580923, "aus-bub", Latn, } m["bcl"] = { "Bikol Central", 33284, "phi", Latn, } m["bcm"] = { "Banoni", 2882857, "poz-ocw", Latn, } m["bcn"] = { "Bibaali", 34892, "alv-mye", Latn, } m["bco"] = { "Kaluli", 6354586, "ngf", Latn, } m["bcp"] = { "Bali", 3515074, "bnt-kbi", Latn, } m["bcq"] = { "Bench", 35108, "omv", Latn, } m["bcr"] = { "Babine-Witsuwit'en", 27864, "ath-nor", Latn, } m["bcs"] = { "Kohumono", 35590, "nic-ucn", Latn, } m["bct"] = { "Bendi", 8836662, "csu-mle", Latn, } m["bcu"] = { "Biliau", 2874658, "poz-ocw", Latn, } m["bcv"] = { "Shoo-Minda-Nye", 36548, "nic-jkn", Latn, } m["bcw"] = { "Bana", 56272, "cdc-cbm", Latn, } m["bcy"] = { "Bacama", 56274, "cdc-cbm", Latn, } m["bcz"] = { "Bainouk-Gunyaamolo", 35506, "alv-bny", Latn, } m["bda"] = { "Bayot", 35019, "alv-jol", Latn, } m["bdb"] = { "Basap", 3504208, "poz-bnn", Latn, } m["bdc"] = { "Emberá-Baudó", 11173166, "sai-chc", Latn, } m["bdd"] = { "Bunama", 4997416, "poz-ocw", Latn, } m["bde"] = { "Bade", 56239, "cdc-wst", Latn, } m["bdf"] = { "Biage", 48037487, "ngf", Latn, } m["bdg"] = { "Bonggi", 2910053, "poz-bnn", Latn, } m["bdh"] = { "Tara Baka", 2880165, "csu-bbk", Latn, } m["bdi"] = { "Burun", 35040, "sdv-niw", Latn, } m["bdj"] = { "Bai", 34894, "nic-ser", Latn, } m["bdk"] = { "Budukh", 35397, "cau-lzg", Cyrl, translit_module = "bdk-translit", override_translit = true, entry_name = { from = {GRAVE, ACUTE}, to = {}} , } m["bdl"] = { "Indonesian Bajau", 2880038, "poz", Latn, } m["bdm"] = { "Buduma", 56287, "cdc-cbm", Latn, } m["bdn"] = { "Baldemu", 56280, "cdc-cbm", Latn, } m["bdo"] = { "Morom", 759770, "csu-bgr", Latn, } m["bdp"] = { "Bende", 8836490, "bnt", Latn, } m["bdq"] = { "Bahnar", 32924, "mkh-ban", Latn, ancestors = {"mkh-ban-pro"}, } m["bdr"] = { "West Coast Bajau", 2880037, "poz-sbj", Latn, } m["bds"] = { "Burunge", 56617, "cus-sou", Latn, } m["bdt"] = { "Bokoto", 4938812, "alv-gbw", Latn, } m["bdu"] = { "Oroko", 36278, "bnt-saw", Latn, } m["bdv"] = { "Bodo Parja", 8845881, "inc-eas", {"Orya"}, ancestors = {"inc-mgd"}, } m["bdw"] = { "Baham", 3513309, "paa", Latn, } m["bdx"] = { "Budong-Budong", 4985158, "poz-ssw", Latn, } m["bdy"] = { "Bandjalang", 2980386, "aus-pam", Latn, } m["bdz"] = { "Badeshi", 33028, "inc-wes", ancestors = {"noe"}, } m["bea"] = { "Beaver", 20826, "ath-nor", Latn, } m["beb"] = { "Bebele", 34976, "bnt-btb", Latn, } m["bec"] = { "Iceve-Maci", 35449, "nic-tvc", Latn, } m["bed"] = { "Bedoanas", 4879330, "poz-hce", Latn, } m["bee"] = { "Byangsi", 56904, "sit-alm", Deva, } m["bef"] = { "Benabena", 2895638, "paa-kag", Latn, } m["beg"] = { "Belait", 2894198, "poz-swa", Latn, } m["beh"] = { "Biali", 34961, "nic-eov", Latn, } m["bei"] = { "Bekati'", 3441683, "day", Latn, } m["bej"] = { "Beja", 33025, "cus", {"Arab", "Latn"}, } m["bek"] = { "Bebeli", 4878430, "poz-ocw", Latn, } m["bem"] = { "Bemba", 33052, "bnt-sbi", Latn, } m["beo"] = { "Beami", 3504079, "paa", Latn, } m["bep"] = { "Besoa", 8840465, "poz-kal", Latn, } m["beq"] = { "Beembe", 3196320, "bnt-kng", Latn, } m["bes"] = { "Besme", 289832, "alv-kim", Latn, } m["bet"] = { "Guiberoua Bété", 11019185, "kro-bet", Latn, } m["beu"] = { "Blagar", 4923846, "ngf", Latn, } m["bev"] = { "Daloa Bété", 11155819, "kro-bet", Latn, } m["bew"] = { "Betawi", 33014, "crp", Latn, ancestors = {"ms"}, } m["bex"] = { "Jur Modo", 56682, "csu-bbk", Latn, } m["bey"] = { "Akuwagel", 3504170, "qfa-tor", Latn, } m["bez"] = { "Kibena", 2502949, "bnt-bki", Latn, } m["bfa"] = { "Bari", 35042, "sdv-bri", Latn, } m["bfb"] = { "Pauri Bareli", 7155462, "inc-bhi", Deva, } m["bfc"] = { "Northern Bai", 12642165, "zhx-gba", {"Hani", "Latn"}, } m["bfd"] = { "Bafut", 34888, "nic-nge", Latn, } m["bfe"] = { "Betaf", 4897329, "paa-tkw", Latn, } m["bff"] = { "Bofi", 34914, "alv-gbf", Latn, } m["bfg"] = { "Busang Kayan", 9231909, "poz", Latn, } m["bfh"] = { "Blafe", 12628007, "paa", Latn, } m["bfi"] = { "British Sign Language", 33000, "sgn", Latn, -- when documented } m["bfj"] = { "Bafanji", 34890, "nic-nun", Latn, } m["bfk"] = { "Ban Khor Sign Language", 3441103, "sgn", } m["bfl"] = { "Banda-Ndélé", 34850, "bad-cnt", Latn, } m["bfm"] = { "Mmen", 36132, "nic-rnc", Latn, } m["bfn"] = { "Bunak", 35101, "ngf", Latn, } m["bfo"] = { "Malba Birifor", 11150710, "nic-mre", Latn, } m["bfp"] = { "Beba", 35050, "nic-nge", Latn, } m["bfq"] = { "Badaga", 33205, "dra", {"Knda"}, } m["bfr"] = { "Bazigar", 8829558, "dra", } m["bfs"] = { "Southern Bai", 12952250, "zhx-gba", {"Hani", "Latn"}, } m["bft"] = { "Balti", 33086, "sit-lab", {"Arab", "Tibt"}, } m["bfu"] = { "Gahri", 5516952, "sit-whm", {"Takr", "Tibt"}, } m["bfw"] = { "Bondo", 2567942, "mun", {"Orya"}, } m["bfx"] = { "Bantayanon", 16837866, "phi", Latn, } m["bfy"] = { "Bagheli", 2356364, "inc-hie", Deva, ancestors = {"inc-pra"}, translit_module = "hi-translit", } m["bfz"] = { "Mahasu Pahari", 6733460, "him", Deva, translit_module = "hi-translit", } m["bga"] = { "Gwamhi-Wuri", 6707102, "nic-knn", Latn, } m["bgb"] = { "Bobongko", 4935896, "poz-slb", Latn, } m["bgc"] = { "Haryanvi", 33410, "inc-cen", Deva, ancestors = {"inc-ohi"}, translit_module = "hi-translit", } m["bgd"] = { "Rathwi Bareli", 7295692, "inc-bhi", Deva, } m["bge"] = { "Bauria", 4873579, "inc-bhi", Deva, } m["bgf"] = { "Bangandu", 34938, "alv-gbs", Latn, } m["bgg"] = { "Bugun", 3514220, "sit-khb", Latn, } m["bgi"] = { "Giangan", 4842057, "phi", Latn, } m["bgj"] = { "Bangolan", 34862, "nic-nun", Latn, } m["bgk"] = { "Bit", 2904868, "mkh-pal", Latn, -- also Hani? } m["bgl"] = { "Bo", 8845514, "mkh-vie", } m["bgo"] = { "Baga Koga", 35695, "alv-bag", Latn, } m["bgq"] = { "Bagri", 2426319, "inc-wes", Deva, ancestors = {"raj"}, } m["bgr"] = { "Bawm Chin", 56765, "tbq-kuk", Latn, } m["bgs"] = { "Tagabawa", 7675121, "mno", Latn, } m["bgt"] = { "Bughotu", 2927723, "poz-sls", Latn, } m["bgu"] = { "Mbongno", 36141, "nic-mmb", Latn, } m["bgv"] = { "Warkay-Bipim", 4915439, "ngf", Latn, } m["bgw"] = { "Bhatri", 8841054, "inc-eas", Deva, ancestors = {"inc-mgd"}, } m["bgx"] = { "Balkan Gagauz Turkish", 2360396, "trk-ogz", Latn, ancestors = {"trk-oat"}, } m["bgy"] = { "Benggoi", 4887742, "poz-cma", Latn, } m["bgz"] = { "Banggai", 3441692, "poz-slb", Latn, } m["bha"] = { "Bharia", 4901287, "dra", Deva, } m["bhb"] = { "Bhili", 33229, "inc-bhi", Deva, } m["bhc"] = { "Biga", 2902375, "poz-hce", Latn, } m["bhd"] = { "Bhadrawahi", 4900565, "him", {"Arab", "Deva"}, translit_module = "hi-translit", } m["bhe"] = { "Bhaya", 8841168, "inc-wes", ancestors = {"raj"}, } m["bhf"] = { "Odiai", 56690, "paa-kwm", Latn, } m["bhg"] = { "Binandere", 3503802, "ngf", Latn, } m["bhh"] = { "Bukhari", 56469, "ira-swi", {"Cyrl", "Hebr", "Latn", "fa-Arab"}, ancestors = {"tg"}, } m["bhi"] = { "Bhilali", 4901729, "inc-bhi", Deva, } m["bhj"] = { "Bahing", 56442, "sit-kiw", {"Deva", "Latn"}, } m["bhl"] = { "Bimin", 4913743, "ngf-okk", Latn, } m["bhm"] = { "Bathari", 2586893, "sem-sar", {"Arab", "Latn"}, } m["bhn"] = { "Bohtan Neo-Aramaic", 33230, "sem-nna", } m["bho"] = { "Bhojpuri", 33268, "inc-hie", {"Deva", "Kthi"}, ancestors = {"bh"}, translit_module = "translit-redirect", } m["bhp"] = { "Bima", 2796873, "poz-cet", Latn, } m["bhq"] = { "Tukang Besi South", 12643975, "poz-mun", Latn, } m["bhs"] = { "Buwal", 3515065, "cdc-cbm", Latn, } m["bht"] = { "Bhattiyali", 4901452, "him", Deva, } m["bhu"] = { "Bhunjia", 8841766, "inc-eas", {"Deva", "Orya"}, ancestors = {"inc-mgd"}, } m["bhv"] = { "Bahau", 3502039, "poz", Latn, } m["bhw"] = { "Biak", 1961488, "poz-hce", Latn, } m["bhx"] = { -- spurious? "Bhalay", 8840773, "inc", } m["bhy"] = { "Bhele", 4901671, "bnt-kbi", Latn, } m["bhz"] = { "Bada", 4840520, "poz-kal", Latn, } m["bia"] = { "Badimaya", 3442745, "aus-psw", Latn, } m["bib"] = { "Bissa", 32934, "dmn-bbu", Latn, } m["bic"] = { "Bikaru", 56342, "paa-eng", Latn, } m["bid"] = { "Bidiyo", 56258, "cdc-est", Latn, } m["bie"] = { "Bepour", 4890914, "ngf-mad", Latn, } m["bif"] = { "Biafada", 35099, "alv-ten", Latn, } m["big"] = { "Biangai", 8842027, "paa", Latn, } m["bij"] = { "Kwanka", 35598, "nic-tar", Latn, } m["bil"] = { "Bile", 34987, "nic-jrn", Latn, } m["bim"] = { "Bimoba", 34971, "nic-grm", Latn, } m["bin"] = { "Edo", 35375, "alv-eeo", Latn, sort_key = { from = {"ẹ", "ọ", "gb", "gh", "kh", "kp", "mw", "nw", "ny", "rh", "rh", "vb"}, to = {"e~", "o~", "g~", "g~~", "k~", "k~~", "m~", "n~", "n~~", "r~", "r~~", "v~"} }, entry_name = { remove_diacritics = ACUTE .. GRAVE .. MACRON .. DGRAVE }, } m["bio"] = { "Nai", 3508074, "paa-kwm", Latn, } m["bip"] = { "Bila", 2902626, "bnt-kbi", Latn, } m["biq"] = { "Bipi", 2904312, "poz-aay", Latn, } m["bir"] = { "Bisorio", 8844749, "paa-eng", Latn, } m["bit"] = { "Berinomo", 56447, "paa-spk", Latn, } m["biu"] = { "Biete", 4904687, "tbq-kuk", Latn, } m["biv"] = { "Southern Birifor", 32859745, "nic-mre", Latn, } m["biw"] = { "Kol (Cameroon)", 35582, "bnt-mka", Latn, } m["bix"] = { "Bijori", 3450686, "mun", Deva, } m["biy"] = { "Birhor", 3450469, "mun", Deva, } m["biz"] = { "Baloi", 3450590, "bnt-ngn", Latn, } m["bja"] = { "Budza", 3046889, "bnt-bun", Latn, } m["bjb"] = { "Barngarla", 3439071, "aus-pam", Latn, } m["bjc"] = { "Bariji", 4690919, "ngf", Latn, } m["bje"] = { "Biao-Jiao Mien", 3503800, "hmx-mie", {"Hani", "Latn"}, } m["bjf"] = { "Barzani Jewish Neo-Aramaic", 33234, "sem-nna", {"Hebr"}, -- maybe others } m["bjg"] = { "Bidyogo", 35365, "alv-bak", Latn, } m["bjh"] = { "Bahinemo", 56361, "paa-spk", Latn, } m["bji"] = { "Burji", 34999, "cus-hec", {"Latn", "Ethi"}, } m["bjj"] = { "Kannauji", 2726867, "inc-cen", Deva, ancestors = {"inc-ohi"}, } m["bjk"] = { "Barok", 2884743, "poz-ocw", Latn, } m["bjl"] = { "Bulu (New Guinea)", 4997162, "poz-ocw", Latn, } m["bjm"] = { "Bajelani", 4848866, "ira-zgr", {"Latn", "Arab"}, ancestors = {"hac"}, } m["bjn"] = { "Banjarese", 33151, "poz-mly", {"Latn", "Arab"}, } m["bjo"] = { "Mid-Southern Banda", 42303990, "bad-cnt", Latn, } m["bjp"] = { "Fanamaket", nil, "poz-oce", Latn, } m["bjr"] = { "Binumarien", 538364, "paa-kag", Latn, } m["bjs"] = { "Bajan", 2524014, "crp", Latn, ancestors = {"en"}, } m["bjt"] = { "Balanta-Ganja", 19359034, "alv-bak", {"Arab", "Latn"}, } m["bju"] = { "Busuu", 35046, "nic-fru", Latn, } m["bjv"] = { "Bedjond", 8829831, "csu-sar", Latn, } m["bjw"] = { "Bakwé", 34899, "kro-ekr", Latn, } m["bjx"] = { "Banao Itneg", 12627559, "phi", Latn, } m["bjy"] = { "Bayali", 4874263, "aus-pam", Latn, } m["bjz"] = { "Baruga", 2886189, "ngf", Latn, } m["bka"] = { "Kyak", 35653, "alv-bwj", Latn, } m["bkc"] = { "Baka", 34905, "nic-nkb", Latn, } m["bkd"] = { "Binukid", 4914553, "mno", Latn, } m["bkf"] = { "Beeke", 3441375, "bnt-kbi", Latn, } m["bkg"] = { "Buraka", 35066, "nic-nkg", Latn, } m["bkh"] = { "Bakoko", 34866, "bnt-bsa", Latn, } m["bki"] = { "Baki", 11024697, "poz-vnc", Latn, } m["bkj"] = { "Pande", 36263, "bnt-ngn", Latn, } m["bkk"] = { -- written in Balti script "Brokskat", 2925988, "inc-dar", } m["bkl"] = { "Berik", 378743, "paa-tkw", Latn, } m["bkm"] = { "Kom (Cameroon)", 1656595, "nic-rnc", Latn, } m["bkn"] = { "Bukitan", 3446774, "poz-bnn", Latn, } m["bko"] = { "Kwa'", 35567, "bai", Latn, } m["bkp"] = { "Iboko", 35089, "bnt-ngn", Latn, } m["bkq"] = { "Bakairí", 56846, "sai-pek", Latn, } m["bkr"] = { "Bakumpai", 3436626, "poz-brw", Latn, } m["bks"] = { "Masbate Sorsogon", 16113356, "phi", Latn, } m["bkt"] = { "Boloki", 4144560, "bnt-zbi", Latn, ancestors = {"lse"}, } m["bku"] = { "Buhid", 1002956, "phi", {"Buhd"}, } m["bkv"] = { "Bekwarra", 34954, "nic-ben", Latn, } m["bkw"] = { "Bekwel", 34950, "bnt-bek", Latn, } m["bkx"] = { "Baikeno", 11200640, "poz-tim", Latn, } m["bky"] = { "Bokyi", 35087, "nic-ben", Latn, } m["bkz"] = { "Bungku", 2928207, "poz-btk", Latn, } m["bla"] = { "Blackfoot", 33060, "alg", {"Latn", "Cans"}, } m["blb"] = { "Bilua", 35003, "ngf", Latn, } m["blc"] = { "Bella Coola", 977808, "sal", Latn, } m["bld"] = { "Bolango", 3450578, "phi", Latn, } m["ble"] = { "Balanta-Kentohe", 56789, "alv-bak", Latn, } m["blf"] = { "Buol", 2928278, "phi", Latn, } m["blg"] = { "Balau", 4850134, "poz-mly", Latn, } m["blh"] = { "Kuwaa", 35579, "kro", Latn, } m["bli"] = { "Bolia", 34910, "bnt-mon", Latn, } m["blj"] = { "Bolongan", 9229310, "poz", Latn, } m["blk"] = { "Pa'o Karen", 7121294, "kar", {"Mymr"}, } m["bll"] = { "Biloxi", 2903780, "sio-ohv", Latn, } m["blm"] = { "Beli", 56821, "csu-bbk", Latn, } m["bln"] = { "Southern Catanduanes Bicolano", 7569754, "phi", Latn, } m["blo"] = { "Anii", 34838, "alv-ntg", Latn, } m["blp"] = { "Blablanga", 2905245, "poz-ocw", Latn, } m["blq"] = { "Baluan-Pam", 2881675, "poz-aay", Latn, } m["blr"] = { "Blang", 4925096, "mkh-pal", {"Latn", "Tale", "Lana", "Thai"}, sort_key = { from = {"[%pᪧๆ]", "[᩠ᩳ-᩿]", "ᩔ", "ᩕ", "ᩖ", "ᩘ", "([ᨭ-ᨱ])ᩛ", "([ᨷ-ᨾ])ᩛ", "ᩤ", "[็-๎]", "([เแโใไ])([ก-ฮ])"}, to = {"", "", "ᩈᩈ", "ᩁ", "ᩃ", "ᨦ", "%1ᨮ", "%1ᨻ", "ᩣ", "", "%2%1"}}, } m["bls"] = { "Balaesang", 4849796, "poz", Latn, } m["blt"] = { "Tai Dam", 56407, "tai-swe", {"Tavt", "Latn"}, --translit_module = "Tavt-translit", sort_key = { from = {"[꪿ꫀ꫁ꫂ]", "([ꪵꪶꪹꪻꪼ])([ꪀ-ꪯ])"}, to = {"", "%2%1"}}, } m["blv"] = { "Kibala", 4939959, "bnt-kmb", Latn, } m["blw"] = { "Balangao", 4850033, "phi", Latn, } m["blx"] = { "Mag-Indi Ayta", 1931221, "phi", Latn, } m["bly"] = { "Notre", 11009194, "nic-wov", Latn, } m["blz"] = { "Balantak", 4850053, "poz-slb", Latn, } m["bma"] = { "Lame", 3913997, "nic-jrn", Latn, } m["bmb"] = { "Bembe", 4885023, "bnt-lgb", Latn, } m["bmc"] = { "Biem", 4904523, "poz-ocw", Latn, } m["bmd"] = { "Baga Manduri", 35815, "alv-bag", Latn, } m["bme"] = { "Limassa", 11004666, "nic-nkb", Latn, } m["bmf"] = { "Bom", 35088, "alv-mel", Latn, } m["bmg"] = { "Bamwe", 34867, "bnt-bun", Latn, } m["bmh"] = { "Kein", 6383764, "ngf-mad", Latn, } m["bmi"] = { "Bagirmi", 34903, "csu-bgr", Latn, } m["bmj"] = { "Bote-Majhi", 9229570, "inc-eas", Deva, ancestors = {"bh"}, } m["bmk"] = { "Ghayavi", 5555976, "poz-ocw", Latn, } m["bml"] = { "Bomboli", 35055, "bnt-ngn", Latn, } m["bmn"] = { "Bina", 8843664, "poz-ocw", Latn, } m["bmo"] = { "Bambalang", 34868, "nic-nun", Latn, } m["bmp"] = { "Bulgebi", 4996380, "ngf-fin", Latn, } m["bmq"] = { "Bomu", 35065, "nic-bwa", Latn, } m["bmr"] = { "Muinane", 3027894, "sai-bor", Latn, } m["bmt"] = { "Biao Mon", 8842159, "hmx-mie", } m["bmu"] = { "Somba-Siawari", 5000983, "ngf", Latn, } m["bmv"] = { "Bum", 35058, "nic-rnc", Latn, } m["bmw"] = { "Bomwali", 34984, "bnt-ndb", Latn, } m["bmx"] = { "Baimak", 3450546, "ngf-mad", Latn, } m["bmz"] = { "Baramu", 4858315, "ngf", Latn, } m["bna"] = { "Bonerate", 4941729, "poz-mun", Latn, } m["bnb"] = { "Bookan", 4943150, "poz-san", Latn, } m["bnd"] = { "Banda", 3504147, "poz-cma", Latn, } m["bne"] = { "Bintauna", 4914533, "phi", Latn, } m["bnf"] = { "Masiwang", 6783305, "poz-cma", Latn, } m["bng"] = { "Benga", 34952, "bnt-saw", Latn, } m["bni"] = { "Bangi", 34936, "bnt-bmo", Latn, } m["bnj"] = { "Eastern Tawbuid", 18757427, "phi", Latn, } m["bnk"] = { "Bierebo", 2902029, "poz-vnc", Latn, } m["bnl"] = { "Boon", 56616, "cus-eas", Latn, } m["bnm"] = { "Batanga", 34979, "bnt-saw", Latn, } m["bnn"] = { "Bunun", 56505, "map", Latn, } m["bno"] = { "Asi", 29490, "phi", Latn, } m["bnp"] = { "Bola", 4938876, "poz-ocw", Latn, } m["bnq"] = { "Bantik", 2883521, "poz", Latn, } m["bnr"] = { "Butmas-Tur", 2928942, "poz-vnc", Latn, } m["bns"] = { "Bundeli", 56399, "inc-cen", Deva, ancestors = {"inc-ohi"}, translit_module = "hi-translit", } m["bnu"] = { "Bentong", 4890644, "poz-ssw", Latn, } m["bnv"] = { "Beneraf", 4941733, "paa-tkw", Latn, } m["bnw"] = { "Bisis", 56356, "paa-spk", Latn, } m["bnx"] = { "Bangubangu", 3438330, "bnt-lbn", Latn, } m["bny"] = { "Bintulu", 3450775, "poz-swa", Latn, } m["bnz"] = { "Beezen", 35083, "nic-ykb", Latn, } m["boa"] = { "Bora", 2375468, "sai-bor", Latn, } m["bob"] = { "Aweer", 56526, "cus-eas", Latn, } m["boe"] = { "Mundabli", 36127, "nic-beb", Latn, } m["bof"] = { "Bolon", 3913301, "dmn-emn", Latn, } m["bog"] = { "Bamako Sign Language", 4853284, "sgn", } m["boh"] = { "North Boma", 35080, "bnt-bdz", Latn, } m["boi"] = { "Barbareño", 56391, "nai-chu", Latn, } m["boj"] = { "Anjam", 3504136, "ngf-mad", Latn, } m["bok"] = { "Bonjo", 34942, "alv", Latn, } m["bol"] = { "Bole", 3436680, "cdc-wst", Latn, } m["bom"] = { "Berom", 35013, "nic-beo", Latn, } m["bon"] = { "Bine", 4914077, "paa", Latn, } m["boo"] = { "Tiemacèwè Bozo", 12643582, "dmn-snb", Latn, -- and others? } m["bop"] = { "Bonkiman", 4942134, "ngf-fin", Latn, } m["boq"] = { "Bogaya", 7207578, "ngf", Latn, } m["bor"] = { "Borôro", 32986, "sai-mje", Latn, } m["bot"] = { "Bongo", 2910067, "csu-bbk", Latn, } m["bou"] = { "Bondei", 4941378, "bnt-seu", Latn, } m["bov"] = { "Tuwuli", 36974, "alv-ktg", Latn, } m["bow"] = { "Rema", 7311502, "paa", Latn, } m["box"] = { "Buamu", 35157, "nic-bwa", Latn, } m["boy"] = { "Bodo (Central Africa)", 4936715, "bnt-leb", Latn, } m["boz"] = { "Tiéyaxo Bozo", 32860401, "dmn-snb", Latn, } m["bpa"] = { "Dakaka", 1157729, "poz-vnc", Latn, } m["bpd"] = { "Banda-Banda", 3450674, "bad-cnt", Latn, } m["bpg"] = { "Bonggo", 4941860, "poz-ocw", Latn, } m["bph"] = { "Botlikh", 56560, "cau-ava", Cyrl, } m["bpi"] = { "Bagupi", 3450697, "ngf-mad", Latn, } m["bpj"] = { "Binji", 4914403, "bnt-lbn", Latn, } m["bpk"] = { "Orowe", 7103905, "poz-cln", Latn, } m["bpl"] = { "Broome Pearling Lugger Pidgin", 4975277, "crp", Latn, ancestors = {"ms"}, } m["bpm"] = { "Biyom", 4919327, "ngf-mad", Latn, } m["bpn"] = { "Dzao Min", 3042189, "hmx-mie", } m["bpo"] = { "Anasi", 11207813, "paa-egb", Latn, } m["bpp"] = { "Kaure", 20526532, "paa", Latn, } m["bpq"] = { "Banda Malay", 12473442, "crp", Latn, ancestors = {"ms"}, } m["bpr"] = { "Koronadal Blaan", 16115430, "phi", Latn, } m["bps"] = { "Sarangani Blaan", 16117272, "phi", Latn, } m["bpt"] = { "Barrow Point", 2567916, "aus-pmn", Latn, } m["bpu"] = { "Bongu", 4941930, "ngf-mad", Latn, } m["bpv"] = { "Bian Marind", 8841889, "ngf", Latn, } m["bpx"] = { "Palya Bareli", 7128872, "inc-bhi", {"Deva"}, ancestors = {"psu"}, translit_module = "hi-translit", } m["bpy"] = { "Bishnupriya Manipuri", 37059, "inc-eas", {"Beng"}, ancestors = {"inc-obn"}, } m["bpz"] = { "Bilba", 8843362, "poz-tim", Latn, } m["bqa"] = { "Tchumbuli", 11008162, "alv-ctn", Latn, ancestors = {"ak"}, } m["bqb"] = { "Bagusa", 4842178, "paa-tkw", Latn, } m["bqc"] = { "Boko", 34983, "dmn-bbu", Latn, } m["bqd"] = { "Bung", 3436612, "nic-bdn", Latn, } m["bqf"] = { "Baga Kaloum", 3502293, "alv-bag", Latn, } m["bqg"] = { "Bago-Kusuntu", 34878, "nic-gne", } m["bqh"] = { "Baima", 674990, "sit-qia", } m["bqi"] = { "Bakhtiari", 257829, "ira-swi", {"fa-Arab"}, ancestors = {"pal"}, } m["bqj"] = { "Bandial", 34872, "alv-jol", Latn, } m["bqk"] = { "Banda-Mbrès", 3450724, "bad-cnt", Latn, } m["bql"] = { "Bilakura", 4907504, "ngf-mad", Latn, } m["bqm"] = { "Wumboko", 37051, "bnt-kpw", Latn, } m["bqn"] = { "Bulgarian Sign Language", 3438325, "sgn", } m["bqo"] = { "Balo", 34865, "nic-grs", Latn, } m["bqp"] = { "Busa", 35185, "dmn-bbu", Latn, } m["bqq"] = { "Biritai", 56382, "paa-lkp", Latn, } m["bqr"] = { "Burusu", 5001028, "poz-san", Latn, } m["bqs"] = { "Bosngun", 56838, "paa", Latn, } m["bqt"] = { "Bamukumbit", 35078, "nic-nge", Latn, } m["bqu"] = { "Boguru", 3438444, "bnt-boa", Latn, } m["bqv"] = { "Begbere-Ejar", 7194098, "nic-plc", Latn, } m["bqw"] = { "Buru (Nigeria)", 1017152, "nic-bds", Latn, } m["bqx"] = { "Baangi", 3450648, "nic-kam", Latn, } m["bqy"] = { "Bengkala Sign Language", 3322119, "sgn", } m["bqz"] = { "Bakaka", 34855, "bnt-mne", Latn, } m["bra"] = { "Braj", 35243, "inc-cen", Deva, ancestors = {"inc-ohi"}, translit_module = "hi-translit", } m["brb"] = { "Lave", 4957737, "mkh-ban", } m["brc"] = { "Berbice Creole Dutch", 35215, "crp", Latn, ancestors = {"nl"}, } m["brd"] = { "Baraamu", 56804, "sit-new", Deva, } m["brf"] = { "Bera", 2896850, "bnt-kbi", Latn, } m["brg"] = { "Baure", 2839722, "awd", Latn, } m["brh"] = { "Brahui", 33202, "dra", {"Arab", "Latn"}, } m["bri"] = { "Mokpwe", 36428, "bnt-kpw", Latn, } m["brj"] = { "Bieria", 4904607, "poz-vnc", Latn, } m["brk"] = { "Birgid", 56823, "nub", Latn, } m["brl"] = { "Birwa", 3501019, "bnt-sts", Latn, } m["brm"] = { "Barambu", 34893, "znd", Latn, } m["brn"] = { "Boruca", 4946773, "cba", Latn, } m["bro"] = { "Brokkat", 56605, "sit-tib", {"Tibt", "Latn"}, } m["brp"] = { "Barapasi", 56995, "paa-egb", Latn, } m["brq"] = { "Breri", 4961835, "paa", Latn, } m["brr"] = { "Birao", 2904383, "poz-sls", Latn, } m["brs"] = { "Baras", 8827053, "poz", Latn, } m["brt"] = { "Bitare", 34946, "nic-tvn", Latn, } m["bru"] = { "Eastern Bru", 16115463, "mkh-kat", {"Latn", "Laoo", "Thai"}, } m["brv"] = { "Western Bru", 16113806, "mkh-kat", {"Latn", "Laoo"}, } m["brw"] = { "Bellari", 4883496, "dra", } m["brx"] = { "Bodo (India)", 33223, "tbq-bdg", {"Deva", "Latn"}, translit_module = "brx-translit", } m["bry"] = { "Burui", 5000976, "paa-spk", Latn, } m["brz"] = { "Bilbil", 4907473, "poz-ocw", Latn, } m["bsa"] = { "Abinomn", 56648, "qfa-iso", Latn, } m["bsb"] = { "Brunei Bisaya", 3450611, "poz-san", Latn, } m["bsc"] = { "Bassari", 35098, "alv-ten", Latn, } m["bse"] = { "Wushi", 36973, "nic-rnn", Latn, } m["bsf"] = { "Bauchi", 34974, "nic-shi", Latn, } m["bsg"] = { "Bashkardi", 33030, "ira-swi", {"fa-Arab", "Latn"}, } m["bsh"] = { "Kamkata-viri", 2605045, "nur-nor", {"Latn", "Arab"}, ancestors = {"iir-nur-pro"}, } m["bsi"] = { "Bassossi", 34940, "bnt-mne", Latn, } m["bsj"] = { "Bangwinji", 3446631, "alv-wjk", Latn, } m["bsk"] = { "Burushaski", 216286, "qfa-iso", Latn, } m["bsl"] = { "Basa-Gumna", 4866150, "nic-bas", Latn, } m["bsm"] = { "Busami", 5001255, "poz-hce", Latn, } m["bsn"] = { "Barasana", 2883843, "sai-tuc", Latn, } m["bso"] = { "Buso", 3441370, "cdc-est", Latn, } m["bsp"] = { "Baga Sitemu", 36466, "alv-bag", Latn, } m["bsq"] = { "Bassa", 34949, "kro-wkr", {"Latn", "Bass"}, } m["bsr"] = { "Bassa-Kontagora", 4866152, "nic-bas", Latn, } m["bss"] = { "Akoose", 34806, "bnt-mne", Latn, } m["bst"] = { "Basketo", 56531, "omv-ome", {"Ethi"}, } m["bsu"] = { "Bahonsuai", 2879298, "poz-btk", Latn, } m["bsv"] = { "Baga Sobané", 3450433, "alv-bag", Latn, } m["bsw"] = { "Baiso", 56615, "cus-eas", Latn, } m["bsx"] = { "Yangkam", 36922, "nic-tar", Latn, } m["bsy"] = { "Sabah Bisaya", 12641557, "poz-san", Latn, } m["bta"] = { "Bata", 56254, "cdc-cbm", Latn, } m["btc"] = { "Bati (Cameroon)", 34944, "nic-mbw", Latn, } m["btd"] = { "Dairi Batak", 2891045, "btk", {"Latn", "Batk"}, } m["bte"] = { "Gamo-Ningi", 5520366, "nic-jer", Latn, } m["btf"] = { "Birgit", 56302, "cdc-est", Latn, } m["btg"] = { "Gagnoa Bété", 11005602, "kro-bet", Latn, } m["bth"] = { "Biatah Bidayuh", 2900881, "day", Latn, } m["bti"] = { "Burate", 56900, "paa-egb", Latn, } m["btj"] = { "Bacanese Malay", 8828608, "poz-mly", Latn, } m["btm"] = { "Mandailing Batak", 2891049, "btk", {"Latn", "Batk"}, } m["btn"] = { "Ratagnon", 13197, "phi", Latn, } m["bto"] = { "Iriga Bicolano", 12633026, "phi", Latn, } m["btp"] = { "Budibud", 4985086, "poz-ocw", Latn, } m["btq"] = { "Batek", 860315, "mkh-asl", Latn, } m["btr"] = { "Baetora", 2878874, "poz-vnc", Latn, } m["bts"] = { "Simalungun Batak", 2891054, "btk", {"Latn", "Batk"}, } m["btt"] = { "Bete-Bendi", 4887064, "nic-ben", Latn, } m["btu"] = { "Batu", 34964, "nic-tvn", Latn, } m["btv"] = { "Bateri", 3812564, "inc-dar", Deva, } m["btw"] = { "Butuanon", 5003156, "phi", Latn, } m["btx"] = { "Karo Batak", 33012, "btk", {"Latn", "Batk"}, } m["bty"] = { "Bobot", 3446788, "poz-cma", Latn, } m["btz"] = { "Alas-Kluet Batak", 2891042, "btk", {"Latn", "Batk"}, } m["bua"] = { "Buryat", 33120, "xgn", {"Cyrl", "Mong"}, translit_module = "bua-translit", override_translit = true, wikimedia_codes = {"bxr"}, } m["bub"] = { "Bua", 32928, "alv-bua", Latn, } m["bud"] = { "Ntcham", 36266, "nic-grm", Latn, } m["bue"] = { "Beothuk", 56234, nil, Latn, } m["buf"] = { "Bushoong", 3449964, "bnt-bsh", Latn, } m["bug"] = { "Buginese", 33190, "poz-ssw", {"Bugi", "Latn"}, } m["buh"] = { "Younuo Bunu", 56299, "hmn", Latn, } m["bui"] = { "Bongili", 35084, "bnt-ngn", Latn, } m["buj"] = { "Basa-Gurmana", 6432515, "nic-bas", Latn, } m["buk"] = { "Bukawa", 35043, "poz-ocw", Latn, } m["bum"] = { "Bulu (Cameroon)", 35028, "bnt-btb", Latn, } m["bun"] = { "Sherbro", 36339, "alv-mel", Latn, } m["buo"] = { "Terei", 56831, "paa-sbo", Latn, } m["bup"] = { "Busoa", 5002001, "poz", Latn, } m["buq"] = { "Brem", 4960502, "ngf", Latn, } m["bus"] = { "Bokobaru", 9228931, "dmn-bbu", Latn, } m["but"] = { "Bungain", 3450623, "qfa-tor", Latn, } m["buu"] = { "Budu", 3450207, "bnt-nya", Latn, } m["buv"] = { "Bun", 56351, "paa-yua", Latn, } m["buw"] = { "Bubi", 35017, "bnt-tso", Latn, } m["bux"] = { "Boghom", 3440412, "cdc-wst", Latn, } m["buy"] = { "Mmani", 35061, "alv-mel", Latn, } m["bva"] = { "Barein", 56285, "cdc-est", Latn, } m["bvb"] = { "Bube", 35110, "nic-bds", Latn, } m["bvc"] = { "Baelelea", 2878833, "poz-sls", Latn, } m["bvd"] = { "Baeggu", 2878850, "poz-sls", Latn, } m["bve"] = { "Berau Malay", 3915770, "poz-mly", Latn, } m["bvf"] = { "Boor", 56250, "cdc-est", Latn, } m["bvg"] = { "Bonkeng", 34958, "bnt-bbo", Latn, } m["bvh"] = { "Bure", 56294, "cdc-wst", Latn, } m["bvi"] = { "Belanda Viri", 35247, "nic-ser", Latn, } m["bvj"] = { "Baan", 3515067, "nic-ogo", Latn, } m["bvk"] = { "Bukat", 4986814, "poz-bnn", Latn, } m["bvl"] = { "Bolivian Sign Language", 1783590, "sgn", Latn, -- when documented } m["bvm"] = { "Bamunka", 34882, "nic-rnn", Latn, } m["bvn"] = { "Buna", 3450516, "qfa-tor", Latn, } m["bvo"] = { "Bolgo", 35038, "alv-bua", Latn, } m["bvp"] = { "Bumang", 4997235, "mkh-pal", } m["bvq"] = { "Birri", 56514, "csu-bkr", Latn, } m["bvr"] = { "Burarra", 4998124, "aus-arn", Latn, } m["bvt"] = { "Bati (Indonesia)", 4869253, "poz-cma", Latn, } m["bvu"] = { "Bukit Malay", 9230148, "poz-mly", Latn, } m["bvv"] = { "Baniva", 3515198, "awd", Latn, } m["bvw"] = { "Boga", 56262, "cdc-cbm", Latn, } m["bvx"] = { "Babole", 35180, "bnt-ngn", Latn, } m["bvy"] = { "Baybayanon", 16839275, "phi", Latn, } m["bvz"] = { "Bauzi", 56360, "paa-egb", Latn, } m["bwa"] = { "Bwatoo", 9232446, "poz-cln", Latn, } m["bwb"] = { "Namosi-Naitasiri-Serua", 3130290, "poz-occ", Latn, } m["bwc"] = { "Bwile", 3447440, "bnt-sbi", Latn, } m["bwd"] = { "Bwaidoka", 2929111, "poz-ocw", Latn, } m["bwe"] = { "Bwe Karen", 56994, "kar", } m["bwf"] = { "Boselewa", 4947229, "poz-ocw", Latn, } m["bwg"] = { "Barwe", 8826802, "bnt-sna", Latn, } m["bwh"] = { "Bishuo", 34973, "nic-fru", Latn, } m["bwi"] = { "Baniwa", 3501735, "awd-nwk", Latn, } m["bwj"] = { "Láá Láá Bwamu", 11017275, "nic-bwa", Latn, } m["bwk"] = { "Bauwaki", 4873607, "ngf", Latn, } m["bwl"] = { "Bwela", 5003678, "bnt-bun", Latn, } m["bwm"] = { "Biwat", 56352, "paa-yua", Latn, } m["bwn"] = { "Wunai Bunu", 56452, "hmn", } m["bwo"] = { "Shinasha", 56260, "omv-gon", Latn, } m["bwp"] = { "Mandobo Bawah", 12636155, "ngf", Latn, } m["bwq"] = { "Southern Bobo", 11001714, "dmn-snb", Latn, } m["bwr"] = { "Bura", 56552, "cdc-cbm", Latn, } m["bws"] = { "Bomboma", 9229429, "bnt-bun", Latn, } m["bwt"] = { "Bafaw", 34853, "bnt-bbo", Latn, } m["bwu"] = { "Buli (Ghana)", 35085, "nic-buk", Latn, } m["bww"] = { "Bwa", 3515058, "bnt-bta", Latn, } m["bwx"] = { "Bu-Nao Bunu", 56411, "hmn", Latn, } m["bwy"] = { "Cwi Bwamu", 11150714, "nic-bwa", Latn, } m["bwz"] = { "Bwisi", 35067, "bnt-sir", Latn, } m["bxa"] = { "Bauro", 2892068, "poz-sls", Latn, } m["bxb"] = { "Belanda Bor", 56678, "sdv-lon", Latn, } m["bxc"] = { "Molengue", 13345, "bnt-kel", Latn, } m["bxd"] = { "Pela", 57000, "tbq-brm", } m["bxe"] = { "Ongota", 36344, nil, Latn, } m["bxf"] = { "Bilur", 2903788, "poz-ocw", Latn, } m["bxg"] = { "Bangala", 34989, "bnt-bmo", Latn, } m["bxh"] = { "Buhutu", 4986329, "poz-ocw", Latn, } m["bxi"] = { "Pirlatapa", 10632195, "aus-kar", Latn, } m["bxj"] = { "Bayungu", 10427485, "aus-psw", Latn, } m["bxk"] = { "Bukusu", 32930, "bnt-msl", Latn, } m["bxl"] = { "Jalkunan", 11009787, "dmn-jje", Latn, } m["bxn"] = { "Burduna", 4998313, "aus-psw", Latn, } m["bxo"] = { "Barikanchi", 3450802, "crp", Latn, ancestors = {"ha"}, } m["bxp"] = { "Bebil", 34941, "bnt-btb", Latn, } m["bxq"] = { "Beele", 56238, "cdc-wst", Latn, } m["bxs"] = { "Busam", 35189, "nic-grs", Latn, } m["bxv"] = { "Berakou", 56796, "csu-bgr", Latn, } m["bxw"] = { "Banka", 3438402, "dmn-smg", Latn, } m["bxz"] = { "Binahari", 4913840, "ngf", Latn, } m["bya"] = { "Palawan Batak", 3450443, "phi", {"Tagb"}, } m["byb"] = { "Bikya", 33257, "nic-fru", Latn, } m["byc"] = { "Ubaghara", 36625, "nic-ucn", Latn, } m["byd"] = { "Benyadu'", 11173588, "day", Latn, } m["bye"] = { "Pouye", 7235814, "paa-spk", Latn, } m["byf"] = { "Bete", 32932, "nic-ykb", Latn, } m["byg"] = { "Baygo", 56836, "sdv-daj", Latn, } m["byh"] = { "Bujhyal", 56317, "sit-gma", Deva, } m["byi"] = { "Buyu", 5003401, "bnt-nyb", Latn, } m["byj"] = { "Binawa", 4913807, "nic-kau", Latn, } m["byk"] = { "Biao", 4902547, "qfa-tak", Latn, -- also Hani? } m["byl"] = { "Bayono", 3503856, "ngf", Latn, } m["bym"] = { "Bidyara", 8842355, "aus-pam", Latn, } m["byn"] = { "Blin", 56491, "cus-cen", {"Ethi", "Latn"}, translit_module = "translit-redirect", } m["byo"] = { "Biyo", 56848, "tbq-lol", {"Latn", "Hani"}, } m["byp"] = { "Bumaji", 4997234, "nic-ben", Latn, } m["byq"] = { "Basay", 716647, "map", Latn, } m["byr"] = { "Baruya", 3450812, "ngf", Latn, } m["bys"] = { "Burak", 4998097, "alv-bwj", Latn, } m["byt"] = { "Berti", 35008, "ssa-sah", Latn, } m["byv"] = { "Medumba", 36019, "bai", Latn, } m["byw"] = { "Belhariya", 32961, "sit-kie", Deva, } m["byx"] = { "Qaqet", 3503009, "paa-bng", Latn, } m["byz"] = { "Banaro", 56858, "paa", Latn, } m["bza"] = { "Bandi", 34912, "dmn-msw", Latn, } m["bzb"] = { "Andio", 4754487, "poz-slb", Latn, } m["bzd"] = { "Bribri", 28400, "cba", Latn, } m["bze"] = { "Jenaama Bozo", 10950633, "dmn-snb", Latn, } m["bzf"] = { "Boikin", 56829, "paa-spk", Latn, } m["bzg"] = { "Babuza", 716615, "map", } m["bzh"] = { "Mapos Buang", 2927370, "poz-ocw", Latn, } m["bzi"] = { "Bisu", 56852, "tbq-lol", {"Latn", "Thai"}, } m["bzj"] = { "Belizean Creole", 1363055, "crp", Latn, ancestors = {"en"}, } m["bzk"] = { "Nicaraguan Creole", 3504097, "crp", Latn, ancestors = {"en"}, } m["bzl"] = { -- supposedly also called "Bolano", but I can find no evidence of that "Boano (Sulawesi)", 4931258, "poz", Latn, } m["bzm"] = { "Bolondo", 35071, "bnt-bun", Latn, } m["bzn"] = { "Boano (Maluku)", 4931255, "poz-cma", Latn, } m["bzo"] = { "Bozaba", 4952785, "bnt-ngn", Latn, } m["bzp"] = { "Kemberano", 12634399, "ngf-sbh", Latn, } m["bzq"] = { "Buli (Indonesia)", 2927952, "poz-hce", Latn, } m["bzr"] = { "Biri", 4087011, "aus-pam", Latn, } m["bzs"] = { "Brazilian Sign Language", 3436689, "sgn", Latn, } m["bzu"] = { "Burmeso", 56746, "paa-wpa", Latn, } m["bzv"] = { "Bebe", 34977, "nic-bbe", Latn, } m["bzw"] = { "Basa", 34898, "nic-bas", Latn, } m["bzx"] = { "Hainyaxo Bozo", 11159536, "dmn-snb", Latn, } m["bzy"] = { "Obanliku", 36276, "nic-ben", Latn, } m["bzz"] = { "Evant", 35259, "nic-tvc", Latn, } return m 5jdj06gjw3tya1mxoux0gfzso82mbka Module:languages/data3/p 828 3101 8491 2022-10-04T04:14:26Z Rebel Agent 2678 Ke dirile module 8491 Scribunto text/plain local u = mw.ustring.char -- UTF-8 encoded strings for some commonly-used diacritics local GRAVE = u(0x0300) local ACUTE = u(0x0301) local CIRC = u(0x0302) local TILDE = u(0x0303) local MACRON = u(0x0304) local BREVE = u(0x0306) local DOTABOVE = u(0x0307) local DIAER = u(0x0308) local CARON = u(0x030C) local DGRAVE = u(0x030F) local INVBREVE = u(0x0311) local DOTBELOW = u(0x0323) local RINGBELOW = u(0x0325) local CEDILLA = u(0x0327) local Latn = {"Latn"} local m = {} m["pab"] = { "Pareci", 3504312, "awd", Latn, } m["pac"] = { "Pacoh", 3441136, "mkh-kat", Latn, } m["pad"] = { "Paumarí", 389827, "auf", Latn, } m["pae"] = { "Pagibete", 7124357, "bnt-bta", Latn, } m["paf"] = { "Paranawát", 12953806, "tup-gua", Latn, } m["pag"] = { "Pangasinan", 33879, "phi", {"Latn", "Tglg"}, entry_name = { from = {"[á]", "[éë́]", "[ë́]", "[í]", "[ó]", "[ú]", "[Á]", "[ÉËË́]", "[Í]", "[Ó]", "[Ú]", ACUTE, GRAVE, CIRC, DIAER}, to = {"a" , "e" , "e" , "i" , "o" , "u" , "A" , "E" , "I" , "O" , "U" }}, } m["pah"] = { "Tenharim", 10266010, "tup-gua", Latn, } m["pai"] = { "Pe", 3914871, "nic-tar", Latn, } m["pak"] = { "Parakanã", 12953804, "tup-gua", Latn, } m["pal"] = { "Middle Persian", 32063, "ira-swi", {"Latn", "Phli", "pal-Avst", "Mani", "Phlp", "Phlv"}, -- Latn for translit; Phlv not in Unicode translit_module = "translit-redirect", ancestors = {"peo"}, } m["pam"] = { "Kapampangan", 36121, "phi", Latn, -- also Kulitan, which lacks a code } m["pao"] = { "Northern Paiute", 3360656, "azc-num", Latn, } m["pap"] = { "Papiamentu", 33856, "crp", Latn, ancestors = {"pt"}, } m["paq"] = { "Parya", 1135134, "inc-cen", ancestors = {"psu"}, } m["par"] = { "Panamint", 33926, "azc-num", Latn, } m["pas"] = { "Papasena", 7132508, "paa-lkp", Latn, } m["pat"] = { "Papitalai", 6528659, "poz-aay", Latn, } m["pau"] = { "Palauan", 33776, "poz-sus", Latn, } m["pav"] = { "Wari'", 3027909, "sai-cpc", Latn, } m["paw"] = { "Pawnee", 56751, "cdd", Latn, } m["pax"] = { "Pankararé", 25559779, nil, Latn, } m["pay"] = { "Pech", 4898889, "cba", Latn, } m["paz"] = { "Pankararú", 7131310, nil, Latn, } m["pbb"] = { "Páez", 33677, nil, Latn, } m["pbc"] = { "Patamona", 3915921, "sai-pem", Latn, } m["pbe"] = { "Mezontla Popoloca", 42365630, "omq-pop", Latn, } m["pbf"] = { "Coyotepec Popoloca", 5180100, "omq-pop", Latn, } m["pbg"] = { "Paraujano", 3501747, "awd-taa", Latn, ancestors = {"awd-taa-pro"}, } m["pbh"] = { "Panare", 56610, "sai-ven", Latn, } m["pbi"] = { "Podoko", 3515096, "cdc-cbm", Latn, } m["pbl"] = { "Mak (Nigeria)", 3915349, "alv-bwj", Latn, } m["pbm"] = { "Puebla Mazatec", nil, "omq-maz", Latn, } m["pbn"] = { "Kpasam", 3914902, "alv-mye", Latn, } m["pbo"] = { "Papel", 36314, "alv-pap", Latn, } m["pbp"] = { "Badyara", 35095, "alv-ten", Latn, } m["pbr"] = { "Pangwa", 3847550, "bnt-bki", Latn, } m["pbs"] = { "Central Pame", 3361763, "omq", Latn, } m["pbv"] = { "Pnar", 3501850, "aav-pkl", Latn, } m["pby"] = { "Pyu", 2567925, "paa-asa", Latn, } m["pca"] = { "Santa Inés Ahuatempan Popoloca", 42365276, "omq-pop", Latn, } m["pcb"] = { "Pear", 6583669, "mkh-pea", {"Khmr"}, } m["pcc"] = { "Bouyei", 35100, "tai-nor", {"Latn", "Hani"}, sort_key = { from = {"%p"}, to = {""}}, } m["pcd"] = { "Picard", 34024, "roa-oil", Latn, ancestors = {"fro"}, sort_key = { from = {"[áàâä]", "[éèêë]", "[íìîï]", "[óòôö]", "[úùûü]", "[ýỳŷÿ]", "ç", "'"}, to = {"a" , "e" , "i" , "o" , "u" , "y" , "c"}} , } m["pce"] = { "Ruching Palaung", 12953798, "mkh-pal", } m["pcf"] = { "Paliyan", 7127643, "dra", } m["pcg"] = { "Paniya", 7131211, "dra", } m["pch"] = { "Pardhan", 7133207, "dra", ancestors = {"gon"}, } m["pci"] = { "Duruwa", 56753, "dra", {"Deva", "Orya"}, } m["pcj"] = { "Parenga", 3111396, "mun", } m["pck"] = { "Paite", 12952337, "tbq-kuk", } m["pcl"] = { "Pardhi", 7136554, "inc-bhi", } m["pcm"] = { "Nigerian Pidgin", 33655, "crp", Latn, ancestors = {"en"}, } m["pcn"] = { "Piti", 3913375, "nic-kne", Latn, } m["pcp"] = { "Pacahuara", 2591165, "sai-pan", Latn, } m["pcw"] = { "Pyapun", 3438807, nil, Latn, } m["pda"] = { "Anam", 3501930, "ngf-mad", Latn, } m["pdc"] = { "Pennsylvania German", 22711, "gmw", Latn, ancestors = {"gmw-rfr"}, } m["pdi"] = { "Pa Di", 3359940, nil, Latn, } m["pdn"] = { "Fedan", 7206699, "poz-ocw", Latn, } m["pdo"] = { "Padoe", 3360370, "poz-btk", Latn, } m["pdt"] = { "Plautdietsch", 1751432, "gmw", Latn, ancestors = {"nds-de"}, } m["pdu"] = { "Kayan", 7123283, "kar", } m["pea"] = { "Peranakan Indonesian", 653415, nil, Latn, } m["peb"] = { "Eastern Pomo", 3396032, "nai-pom", Latn, } m["ped"] = { "Mala (New Guinea)", 11732569, "ngf-mad", Latn, } m["pee"] = { "Taje", 12953902, nil, Latn, } m["pef"] = { "Northeastern Pomo", 3396018, "nai-pom", Latn, } m["peg"] = { "Pengo", 56758, "dra", {"Orya"}, } m["peh"] = { "Bonan", 32983, "xgn", } m["pei"] = { "Chichimeca-Jonaz", 3915427, "omq-otp", Latn, } m["pej"] = { "Northern Pomo", 3396021, "nai-pom", Latn, } m["pek"] = { "Penchal", 3374631, "poz-aay", Latn, } m["pel"] = { "Pekal", 3241781, nil, Latn, } m["pem"] = { "Phende", 7162372, "bnt-pen", Latn, } m["peo"] = { "Old Persian", 35225, "ira-swi", {"Xpeo", "Latinx"}, translit_module = "peo-translit", } m["pep"] = { "Kunja", 6444807, nil, Latn, } m["peq"] = { "Southern Pomo", 3396023, "nai-pom", Latn, } -- "pes" IS TREATED AS "fa" (or as etymology-only), SEE WT:LT m["pev"] = { "Pémono", 3439012, "sai-map", Latn, } m["pex"] = { "Petats", 3376353, "poz-ocw", Latn, } m["pey"] = { "Petjo", 940486, nil, Latn, } m["pez"] = { "Eastern Penan", 18638342, "poz-swa", Latn, } m["pfa"] = { "Pááfang", 3063517, "poz-mic", Latn, } m["pfe"] = { "Peere", 36377, "alv-dur", Latn, } m["pga"] = { "Juba Arabic", 1262143, "crp", Latn, ancestors = {"apd"}, } m["pgd"] = { "Gandhari", nil, "inc-mid", {"Deva", "Khar"}, ancestors = {"inc-ash"}, translit_module = "Khar-translit", } m["pgg"] = { "Pangwali", 13600429, "him", {"Deva", "Takr"}, translit_module = "hi-translit", } m["pgi"] = { "Pagi", 7124354, "paa-brd", Latn, } m["pgk"] = { "Rerep", 586907, "poz-vnc", Latn, } m["pgl"] = { "Primitive Irish", 3320030, "cel-gae", {"Ogam"}, translit_module = "pgl-translit", } m["pgn"] = { "Paelignian", nil, "itc", Latn, } m["pgs"] = { "Pangseng", 3914027, "alv-mum", Latn, } m["pgu"] = { "Pagu", 7124462, "paa-nha", Latn, } m["pgz"] = { "Papua New Guinean Sign Language", 25044405, "sgn", } m["pha"] = { "Pa-Hng", 2625410, "hmn", } m["phd"] = { "Phudagi", 7188289, } m["phg"] = { "Phuong", 7188376, "mkh-kat", } m["phh"] = { "Phukha", 7188298, "tbq-lol", } m["phk"] = { "Phake", 7675798, "tai-swe", {"Mymr"}, translit_module = "aio-phk-translit", entry_name = { from = {u(0xFE00)}, --VS01 to = {""}}, } m["phl"] = { "Phalura", 2449549, "inc-dar", {"Latn", "ur-Arab"}, } m["phm"] = { "Phimbi", 11007144, "bnt-sna", Latn, } m["phn"] = { "Phoenician", 36734, "sem-can", {"Phnx"}, translit_module = "Phnx-translit", } m["pho"] = { "Phunoi", 7188361, "tbq-lol", } m["phq"] = { "Phana'", 7180427, "tbq-lol", } m["phr"] = { "Pahari-Potwari", 33739, "inc-pan", {"fa-Arab", "Latn"}, ancestors = {"lah"}, } m["pht"] = { "Phu Thai", 3626597, "tai-swe", } m["phu"] = { "Phuan", 3915665, } m["phv"] = { "Pahlavani", 7124567, } m["phw"] = { "Phangduwali", 12953036, "sit-kie", ancestors = {"ybh"}, } m["pia"] = { "Pima Bajo", 3388544, "azc", Latn, } m["pib"] = { "Yine", 3135432, "awd", Latn, } m["pic"] = { "Pinji", 36296, "bnt-tso", Latn, } m["pid"] = { "Piaroa", 3382207, nil, Latn, } m["pie"] = { "Piro", 7198055, "nai-kta", Latn, } m["pif"] = { "Pingelapese", 36421, "poz-mic", Latn, } m["pig"] = { "Pisabo", 966883, "sai-pan", Latn, } m["pih"] = { "Pitcairn-Norfolk", 36554, "crp", Latn, ancestors = {"en"}, } m["pii"] = { "Pini", 10631925, } m["pij"] = { "Pijao", 7193519, } m["pil"] = { "Yom", 36893, "nic-yon", } m["pim"] = { "Powhatan", 2270532, "alg-eas", Latn, } m["pin"] = { "Piame", 7190042, } m["pio"] = { "Piapoco", 3382208, "awd-nwk", Latn, } m["pip"] = { "Pero", 2411063, "cdc-wst", } m["pir"] = { "Piratapuyo", 3389119, "sai-tuc", Latn, } m["pis"] = { "Pijin", 36699, "crp", Latn, ancestors = {"en"}, } m["pit"] = { "Pitta-Pitta", 6433116, "aus-kar", Latn, } m["piu"] = { "Pintupi-Luritja", 2591175, "aus-pam", } m["piv"] = { "Pileni", 2976736, "poz-pnp", Latn, } m["piw"] = { "Pimbwe", 3894132, "bnt-mwi", } m["pix"] = { "Piu", 7199578, } m["piy"] = { "Piya-Kwonci", 3440492, } m["piz"] = { "Pije", 3388339, "poz-cln", Latn, } m["pjt"] = { "Pitjantjatjara", 2982063, "aus-pam", {"pjt-Latn"}, } m["pka"] = { "Ardhamagadhi Prakrit", 2652214, "inc-mid", {"Brah", "Deva"}, translit_module = "Brah-translit", ancestors = {"inc-pra"}, } m["pkb"] = { "Kipfokomo", 7208693, "bnt-sab", Latn, } m["pkc"] = { "Baekje", 4841264, "qfa-kor", {"Hani", "Kana"}, } m["pkg"] = { "Pak-Tong", 3360711, } m["pkh"] = { "Pankhu", 7130962, "tbq-kuk", } m["pkn"] = { "Pakanha", 954916, "aus-pmn", } m["pko"] = { "Pökoot", 36323, "sdv-kln", } m["pkp"] = { "Pukapukan", 36447, "poz-pnp", Latn, } m["pkr"] = { "Attapady Kurumba", 16835180, "dra", } m["pks"] = { "Pakistan Sign Language", 22964057, "sgn", } m["pkt"] = { "Maleng", 6583562, "mkh-vie", } m["pku"] = { "Paku", 2932604, } m["pla"] = { "Miani", 12952844, nil, Latn, } m["plb"] = { "Polonombauk", 7225957, "poz-vnc", Latn, } m["plc"] = { "Central Palawano", 12953795, "phi", Latn, } m["ple"] = { "Palu'e", 2196866, "poz-cet", Latn, } m["plg"] = { "Pilagá", 2748259, "sai-guc", Latn, } m["plh"] = { "Paulohi", 7155331, "poz-cma", } m["plj"] = { "Polci", 3914383, } m["plk"] = { "Kohistani Shina", 12953882, "inc-dar", } m["pll"] = { "Shwe Palaung", 27941664, "mkh-pal", } m["pln"] = { "Palenquero", 36665, "crp", Latn, ancestors = {"es"}, } m["plo"] = { "Oluta Popoluca", 5908687, "nai-miz", Latn, } m["plq"] = { "Palaic", 36582, "ine-ana", {"Xsux"}, } m["plr"] = { "Palaka Senoufo", 36346, "alv-snf", Latn, } m["pls"] = { "San Marcos Tlalcoyalco Popoloca", 12641692, "omq-pop", Latn, } m["plu"] = { "Palikur", 3073448, "awd", Latn, } m["plv"] = { "Southwest Palawano", 15614922, "phi", Latn, } m["plw"] = { "Brooke's Point Palawano", 12953796, "phi", Latn, } m["ply"] = { "Bolyu", 3361723, "mkh-pkn", Latn, } m["plz"] = { "Paluan", 7128795, nil, Latn, } m["pma"] = { "Paama", 3130286, "poz-vnc", Latn, } m["pmb"] = { "Pambia", 36267, "znd", Latn, } m["pmd"] = { "Pallanganmiddang", 7127734, "aus-pam", Latn, } m["pme"] = { "Pwaamei", 3411152, "poz-cln", Latn, } m["pmf"] = { "Pamona", 3513320, "poz-kal", Latn, } m["pmh"] = { "Maharastri Prakrit", 2586773, "inc-mid", {"Brah", "Deva"}, ancestors = {"inc-pra"}, translit_module = "Brah-translit", } m["pmi"] = { "Northern Pumi", 3403245, "sit-qia", } m["pmj"] = { "Southern Pumi", 3403246, "sit-qia", } m["pmk"] = { "Pamlico", nil, "alg-eas", Latn, } m["pml"] = { "Sabir", 636479, "crp", Latn, ancestors = {"lij", "pro", "vec"}, } m["pmm"] = { "Pol", 36408, "bnt-kak", Latn, } m["pmn"] = { "Pam", 7129017, "alv-mbm", } m["pmo"] = { "Pom", 7227178, "poz-hce", Latn, } m["pmq"] = { "Northern Pame", 3361762, "omq", Latn, } m["pmr"] = { "Paynamar", 3450824, } m["pms"] = { "Piedmontese", 15085, "roa-git", Latn, } m["pmt"] = { "Tuamotuan", 36763, "poz-pep", Latn, } m["pmu"] = { "Mirpur Panjabi", 6874480, } m["pmw"] = { "Plains Miwok", 3391031, "nai-you", Latn, } m["pmx"] = { "Poumei Naga", 12952910, "tbq-anp", } m["pmy"] = { "Papuan Malay", 12473446, nil, Latn, } m["pmz"] = { "Southern Pame", 3361765, "omq", Latn, } m["pna"] = { "Punan Bah-Biau", 4842201, } m["pnb"] = { "Western Panjabi", 58635, "inc-pan", {"pa-Arab"}, ancestors = {"pa"}, } m["pnc"] = { "Pannei", 7131391, } m["pnd"] = { "Mpinda", 63308194, "bnt-kmb", } m["pne"] = { "Western Penan", 12953808, "poz-swa", Latn, } m["png"] = { "Pongu", 36282, "nic-shi", } m["pnh"] = { "Penrhyn", 3130301, "poz-pep", Latn, } m["pni"] = { "Aoheng", 4778608, "poz", } m["pnj"] = { "Pinjarup", 33103591, } m["pnk"] = { "Paunaca", 2064378, "awd", Latn, } m["pnl"] = { "Paleni", 7127118, "alv-wan", Latn, } m["pnm"] = { "Punan Batu", 7259892, } m["pnn"] = { "Pinai-Hagahai", 5638511, } m["pno"] = { "Panobo", 3141869, "sai-pan", Latn, } m["pnp"] = { "Pancana", 7130204, } m["pnq"] = { "Pana (West Africa)", 7129739, "nic-gnn", Latn, } m["pnr"] = { "Panim", 11732562, "ngf-mad", } m["pns"] = { "Ponosakan", 7227956, "phi", } m["pnt"] = { "Pontic Greek", 36748, "grk", {"Grek", "Latn", "Cyrl"}, ancestors = {"grc"}, translit_module = "el-translit", entry_name = { from = {u(0x0324), u(0x032E), CARON}, to = {}}, sort_key = { -- Keep this synchronized with el, grc, cpg, tsd, grk-mar from = {"[ᾳάᾴὰᾲᾶᾷἀᾀἄᾄἂᾂἆᾆἁᾁἅᾅἃᾃἇᾇα̤ά̤]", "[έὲἐἔἒἑἕἓ]", "[ῃήῄὴῂῆῇἠᾐἤᾔἢᾒἦᾖἡᾑἥᾕἣᾓἧᾗ]", "[ίὶῖἰἴἲἶἱἵἳἷϊΐῒῗι̮]", "[όὸὀὄὂὁὅὃο̤ό̤]", "[ύὺῦὐὔὒὖὑὕὓὗϋΰῢῧ]", "[ῳώῴὼῲῶῷὠᾠὤᾤὢᾢὦᾦὡᾡὥᾥὣᾣὧᾧ]", "ῥ", "ς", "ζ̌", "ξ̌", "σ̌", "χ̌", "ψ̌"}, to = {"α" , "ε" , "η" , "ι" , "ο" , "υ" , "ω" , "ρ", "σ", "ζ", "ξ", "σ", "χ", "ψ"}} , } m["pnu"] = { "Jiongnai Bunu", 56325, "hmn", } m["pnv"] = { "Pinigura", 10631927, "aus-psw", Latn, } m["pnw"] = { "Panyjima", 3913830, "aus-nga", Latn, } m["pnx"] = { "Phong-Kniang", 3914627, "mkh", } m["pny"] = { "Pinyin", 36250, "nic-nge", Latn, } m["pnz"] = { "Pana (Central Africa)", 36241, "alv-mbm", Latn, } m["poc"] = { "Poqomam", 36416, "myn", Latn, } m["poe"] = { "San Juan Atzingo Popoloca", 12953819, "omq-pop", Latn, } m["pof"] = { "Poke", 7208577, "bnt-ske", } m["pog"] = { "Potiguára", 56722, "tup-gua", Latn, } m["poh"] = { "Poqomchi'", 36414, "myn", Latn, } m["poi"] = { "Highland Popoluca", 7511556, "nai-miz", Latn, } m["pok"] = { "Pokangá", 25559704, "sai-tuc", Latn, } m["pom"] = { "Southeastern Pomo", 3396025, "nai-pom", Latn, } m["pon"] = { "Pohnpeian", 28422, "poz-mic", Latn, } m["poo"] = { "Central Pomo", 3396020, "nai-pom", Latn, } m["pop"] = { "Pwapwa", 3411153, "poz-cln", Latn, } m["poq"] = { "Texistepec Popoluca", 5908707, "nai-miz", Latn, } m["pos"] = { "Sayula Popoluca", 5908722, "nai-miz", Latn, } m["pot"] = { "Potawatomi", 56749, "alg", Latn, } m["pov"] = { "Guinea-Bissau Creole", 33339, "crp", Latn, ancestors = {"pt"}, } m["pow"] = { "San Felipe Otlaltepec Popoloca", 25559598, "omq-pop", Latn, } m["pox"] = { "Polabian", 36741, "zlw-lch", Latn, } m["poy"] = { "Pogolo", 2429648, "bnt-kil", } m["ppa"] = { "Pao", 7132069, } m["ppe"] = { "Papi", 7132809, } m["ppi"] = { "Paipai", 56726, "nai-yuc", Latn, } m["ppk"] = { "Uma", 7881036, "poz-kal", Latn, } m["ppl"] = { "Pipil", 1186896, "azc-nah", Latn, entry_name = { from = {"Ā", "ā", "Ē", "ē", "Ī", "ī", "Ō", "ō", "Ū", "ū", "Ȳ", "ȳ", "Á", "á", "É", "é", "Í", "í", "Ó", "ó", "Ú", "ú"}, to = {"A", "a", "E", "e", "I", "i", "O", "o", "U", "u", "Y", "y", "A", "a", "E", "e", "I", "i", "O", "o", "U", "u"} }, } m["ppm"] = { "Papuma", 7133239, "poz-hce", Latn, } m["ppn"] = { "Papapana", 3362757, "poz-ocw", Latn, } m["ppo"] = { "Folopa", 5464843, "paa", Latn, } m["ppq"] = { "Pei", 7160903, } m["pps"] = { "San Luís Temalacayuca Popoloca", 25559602, "omq-pop", Latn, } m["ppt"] = { "Pa", 3504757, "ngf", Latn, } m["ppu"] = { "Papora", 2094884, "map", Latn, } m["pqa"] = { "Pa'a", 3441315, "cdc-wst", } m["pqm"] = { "Malecite-Passamaquoddy", 3183144, "alg-eas", Latn, } m["prc"] = { "Parachi", 2640637, "ira-orp", } -- "prd" IS NOT INCLUDED, SEE WT:LT m["pre"] = { "Principense", 36520, "crp", Latn, ancestors = {"pt"}, } m["prf"] = { "Paranan", 7135433, "phi", } m["prg"] = { "Old Prussian", 35501, "bat", Latn, } m["prh"] = { "Porohanon", 6583710, "phi", } m["pri"] = { "Paicî", 732131, "poz-cln", Latn, } m["prk"] = { "Parauk", 3363719, "mkh-pal", } m["prl"] = { "Peruvian Sign Language", 3915508, "sgn", } m["prm"] = { "Kibiri", 56745, "paa", } m["prn"] = { "Prasuni", 32689, "nur-nor", } m["pro"] = { "Old Occitan", 2779185, "roa-ocr", Latn, sort_key = { from = {"ç"}, to = {"c"}} , } -- "prp" IS NOT INCLUDED, SEE WT:LT m["prq"] = { "Ashéninka Perené", 3450601, "awd", Latn, } m["prr"] = { "Puri", 7261687, } -- "prs" IS TREATED AS "fa" (or as etymology-only), SEE WT:LT m["prt"] = { "Phai", 7180184, "mkh", } m["pru"] = { "Puragi", 7260800, "ngf-sbh", } m["prw"] = { "Parawen", 7136291, "ngf-mad", } m["prx"] = { "Purik", 567905, "sit-lab", } m["prz"] = { "Providencia Sign Language", 3322084, "sgn", } m["psa"] = { "Asue Awyu", 11266334, } m["psc"] = { "Persian Sign Language", 7170221, "sgn", } m["psd"] = { "Plains Indian Sign Language", 2380124, "sgn", } m["pse"] = { "Central Malay", 3367751, "poz-mly", } m["psg"] = { "Penang Sign Language", 4924925, "sgn", } m["psh"] = { "Southwest Pashayi", 16112270, "inc-dar", } m["psi"] = { "Southeast Pashayi", 23713536, "inc-dar", {"Arab"}, } m["psl"] = { "Puerto Rican Sign Language", 7258608, "sgn-fsl", } m["psm"] = { "Pauserna", 2912846, "tup-gua", Latn, } m["psn"] = { "Panasuan", 7130113, "poz", } m["pso"] = { "Polish Sign Language", 3915194, "sgn-gsl", } m["psp"] = { "Philippine Sign Language", 3551357, "sgn-fsl", } m["psq"] = { "Pasi", 7142091, } m["psr"] = { "Portuguese Sign Language", 3915472, "sgn", } m["pss"] = { "Kaulong", 3194294, "poz-ocw", } m["psu"] = { "Sauraseni Prakrit", 2452885, "inc-psu", {"Deva", "Brah"}, translit_module = "Brah-translit", ancestors = {"inc-pra"}, } m["psw"] = { "Port Sandwich", 3398324, "poz-vnc", Latn, } m["psy"] = { "Piscataway", 3504233, "alg-eas", } m["pta"] = { "Pai Tavytera", 7124619, "tup-gua", Latn, } m["pth"] = { "Pataxó Hã-Ha-Hãe", 7144304, } m["pti"] = { "Pintiini", 10632026, "aus-pam", } m["ptn"] = { "Patani", 7144242, "poz-hce", Latn, } m["pto"] = { "Zo'é", 8073148, "tup-gua", Latn, } m["ptp"] = { "Patep", 3368679, "poz-ocw", Latn, } m["ptq"] = { "Pattapu", nil, "dra", } m["ptr"] = { "Piamatsina", 7190040, "poz-vnc", Latn, } m["ptt"] = { "Enrekang", 12953520, } m["ptu"] = { "Bambam", 4853321, "poz-ssw", } m["ptv"] = { "Port Vato", 3398323, nil, Latn, } m["ptw"] = { "Pentlatch", 2069475, } m["pty"] = { "Pathiya", 7144790, "dra", } m["pua"] = { "Purepecha", 16114351, "qfa-iso", Latn, sort_key = { from = {"á", "é", "í", "ó", "ú"}, to = {"a", "e", "i", "o", "u"}}, } m["pub"] = { "Purum", 6400562, "tbq-kuk", Latn, } m["puc"] = { "Punan Merap", 7259895, } m["pud"] = { "Punan Aput", 4782333, } m["pue"] = { "Puelche", 33660, } m["puf"] = { "Punan Merah", 7259894, } m["pug"] = { "Phuie", 36375, "nic-gnw", } m["pui"] = { "Puinave", 3027918, } m["puj"] = { "Punan Tubu", 7259896, "poz-swa", } m["pum"] = { "Puma", 33736, "sit-kic", } m["puo"] = { "Puoc", 6440803, "mkh", } m["pup"] = { "Pulabu", 7259163, "ngf-mad", } m["puq"] = { "Puquina", 1207739, } m["pur"] = { "Puruborá", 7261619, "tup", } m["put"] = { "Putoh", 12953832, "poz-swa", Latn, } m["puu"] = { "Punu", 36401, "bnt-sir", Latn, } m["puw"] = { "Puluwat", 36397, "poz-mic", Latn, } m["pux"] = { "Puare", 3507983, } m["puy"] = { "Purisimeño", 2967638, "nai-chu", Latn, } m["pwa"] = { "Pawaia", 7156099, "paa", Latn, } m["pwb"] = { "Panawa", 47385077, "nic-jer", Latn, ancestors = {"jer"}, } m["pwg"] = { "Gapapaiwa", 3095245, "poz-ocw", Latn, } m["pwi"] = { "Patwin", 3370188, "nai-wtq", Latn, } m["pwm"] = { "Molbog", 6895718, "poz-san", Latn, } m["pwn"] = { "Paiwan", 715755, "map", Latn, } m["pwo"] = { "Western Pwo", 7988202, "kar", {"Mymr"}, } m["pwr"] = { "Powari", 12640277, "inc-hie", {"Deva"} } m["pww"] = { "Northern Pwo", 7058885, "kar", {"Thai"}, } m["pxm"] = { "Quetzaltepec Mixe", 6842374, "nai-miz", Latn, } m["pye"] = { "Pye Krumen", 11157382, "kro-grb", } m["pym"] = { "Fyam", 3914025, "nic-ple", Latn, } m["pyn"] = { "Poyanáwa", 3401023, "sai-pan", } m["pys"] = { "Paraguayan Sign Language", 7134698, "sgn", } m["pyu"] = { "Puyuma", 716690, "map", Latn, } m["pyx"] = { "Tircul", 36259, "sit", } m["pyy"] = { "Pyen", 7262966, "tbq-lol", } m["pzn"] = { "Para Naga", 7133667, "sit-aao", } m["pzh"] = { "Pazeh", Q36435, "map", Latn, } return m 4f66acaxb69j0giw2oy0c434ur3o28b Tempolete:WOTD 10 3102 8498 2022-10-04T18:57:33Z Rebel Agent 2678 Ke dirile tempolete ke tla e ranola morago 8498 wikitext text/x-wiki <div id='mf-wotd' title='word of the day'> <noinclude> {{Word of the day}} </noinclude><includeonly><span style="position:relative;left:-10px;top:-10px;">[[File:Writing star.svg|62px|link={{{1|word}}}#English]]</span> {| style="border-spacing:0; border:3px solid #AABBDD; background:#E9F3FF; width:100%; padding:10px; margin-top:-47px;" |- | colspan="2" | {{WOTD/navigation|page_name = Wiktionary:Word of the day/{{#ifeq:{{ROOTPAGENAME}}|Word of the day | {{#ifeq:{{#titleparts:{{FULLPAGENAME}}|1|2}}|Archive | {{#titleparts:{{FULLPAGENAME}}|1|3}} | {{#if:{{num|{{#titleparts:{{FULLPAGENAME}}|1|2}}}}<!--Does page name have year?--> | {{#titleparts:{{FULLPAGENAME}}|1|2}} | {{CURRENTYEAR}} }} }}/ | {{#ifexist:Wiktionary:Word of the day/{{CURRENTYEAR}}/{{{4|{{CURRENTMONTHNAME}}}}} {{{5|{{CURRENTDAY}}}}}|{{CURRENTYEAR}}/}} }}{{{4|{{CURRENTMONTHNAME}}}}} {{{5|{{CURRENTDAY}}}}} }}<div style="font-size:150%; border-bottom:1px solid #AAAAAA; padding-left:40px; line-height:22px">Word of the day<span style="font-size:small;"><br />for <span id="WOTD-rss-date">{{{4|{{CURRENTMONTHNAME}}}}} {{{5|{{CURRENTDAY}}}}}</span></span></div> |- |'''[[{{{1|word}}}#{{#if:{{{link|}}}|{{ucfirst:{{{link}}}}}|English}}|<span id="WOTD-rss-title">{{{1}}}</span>]]''' ''{{{2}}}''{{#if:{{{term-label|}}}{{{tl|}}}|&#32;{{term-label|en|{{{term-label|{{{tl|}}}}}}|{{{term-label2|{{{tl2|}}}}}}|{{{term-label3|{{{tl3|}}}}}}|{{{term-label4|{{{tl4|}}}}}}|{{{term-label5|{{{tl5|}}}}}}|{{{term-label6|{{{tl6|}}}}}}}}}} |- | colspan="2" style="vertical-align:top;" | {{#ifeq:{{{audio|}}}|no |<!--Do nothing--> | {{#if:{{{audio|}}} |<div style="float:right">[[File:{{{audio}}}|noicon]]</div> | {{#invoke:WOTD|check_pages|File:En-au-{{{1}}}.oga|File:En-au-{{{1}}}.ogg|File:En-uk-{{{1}}}.flac|File:En-uk-{{{1}}}.mp3|File:En-uk-{{{1}}}.oga|File:En-uk-{{{1}}}.ogg|File:En-uk-{{{1}}}.wav|File:En-us-{{{1}}}.flac|File:En-us-{{{1}}}.mp3|File:En-us-{{{1}}}.oga|File:En-us-{{{1}}}.ogg|File:En-us-{{{1}}}.wav|format=<div style="float:right">[[%s|noicon]]</div>}} }} }}<div id="WOTD-rss-description"> # {{{3}}} {{#if:{{{comment|}}}{{{6|}}}|[[File:PointingHand.svg|20px]]&#32;<span style="font-size:80%;">{{{comment|{{{6}}}}}}</span>}} </div> |- | colspan="2" style="font-size:80%; text-align:center; vertical-align:top;" | [[Wiktionary:Word of the day/{{WOTD/previous or next day|arithmetical_operation=-|month={{{4|}}}|day={{{5|}}}}}|← yesterday]] &#124; [[Wiktionary:Word of the day|About Word of the Day]] • [[Wiktionary:Word of the day/Nominations|Nominate a word]] • <span class="plainlinks" title="Wiktionary:Feedback">[https://en.wiktionary.org/w/index.php?title=Wiktionary:Feedback&action=edit&section=new&preload=Wiktionary:Feedback%2Fpreload&editintro=Wiktionary:Feedback%2Fintro&preloadtitle={{urlencode:Word of the day: [[{{{1}}}]]|PATH}} Leave feedback]</span> &#124; [[Wiktionary:Word of the day/{{WOTD/previous or next day|arithmetical_operation=+|month={{{4|}}}|day={{{5|}}}}}|tomorrow&nbsp;→]] |}</includeonly></div><noinclude>{{documentation}}</noinclude> jypebi9u37d9eyiyp0bcmnzmz4wxjme Tempolete:Word of the day 10 3103 8499 2022-10-04T18:59:03Z Rebel Agent 2678 Ke dirile tempolete 8499 wikitext text/x-wiki {{Wiktionary:Word of the day/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}} {{CURRENTDAY}}}}<noinclude>[[Category:Main Page templates|Word of the day]]</noinclude> r8cuj0lwt00afm3j16q1g54n5w0ef3n Wiktionary:Main Page/styles.css 4 3104 8538 8536 2022-12-17T09:26:52Z Rebel Agent 2678 8538 sanitized-css text/css /* {{pp|small=yes}} */ .mp-box { border: 1px solid #DBD8D8; /* all border colors overriden on specific elements */ padding: 0 0.5em 0.5em; margin-top: 4px; } .mp-h2, body.skin-timeless .mp-h2 { /* Timeless needs a higher specificity */ border: 1px solid #DBD8D8; /* all border colors overriden on specific elements */ margin: 0.5em 0; padding: 0.2em 0.4em; font-size: 120%; font-weight: bold; font-family: inherit; } h2.mp-h2::after { /* Remove borders in Timeless */ border: none; } .mp-later { font-size: 85%; font-weight: normal; } #mp-topbanner { /* no background */ border-color: #DBD8D8; } #mp-welcomecount { text-align: center; margin: 0.4em; } #mp-welcome { font-size: 162%; padding: 0.1em; } #mp-welcome h1 { font-size: inherit; font-family: inherit; display: inline; border: none; } #mp-welcome h1::after { content: none; } #mp-free { font-size: 95%; } #articlecount { font-size: 85%; } /* clear fix */ .mp-contains-float::after { content: ""; display: block; clear: both; } #mp-banner { background:#ddd; border-color: #DBD8D8; } #mp-left { background: #ffffff; border-color: #DBD8D8; } #mp-left .mp-h2 { background: #CFCFCF; border-color: #e2e2e2; } #mp-right { /* no background */ border-color: #DBD8D8; } #mp-right .mp-h2 { background: #CFCFCF; border-color: #e2e2e2; } #mp-middle { /* no background */ border-color: #DBD8D8; } #mp-middle .mp-h2 { background: #CFCFCF; border-color: #e2e2e2; } #mp-lower { /* no background */ border-color: #DBD8D8; } #mp-lower .mp-h2 { background: #CFCFCF; border-color: #e2e2e2; } #mp-bottom { /* no background */ border-color: #DBD8D8; } #mp-bottom .mp-h2 { background: #CFCFCF; border-color: #e2e2e2; } @media (max-width: 875px) { /* We need to improve Template:POTD as used on the main page so that these * hacks aren't necessary */ #mp-tfp table, #mp-tfp tr, #mp-tfp td, #mp-tfp tbody { display: block !important; width: 100% !important; box-sizing: border-box; } #mp-tfp tr:first-child td:first-child a { text-align: center; display: table; margin: 0 auto; } } @media (min-width: 875px) { #mp-upper { display: flex; } #mp-left { flex: 1 1 55%; margin-right: 2px; } #mp-right { flex: 1 1 45%; margin-left: 2px; } } /* [[phab:T293232]] - Mobile doesn't have this style. * Will be fixed with TStyles. */ div.hlist.inline ul, div.hlist.inline li, div.hlist.inline { display: inline; } bh3eb4srev4rl69x79grfqfck6lk4g0 Wiktionary:Kaga Wiktionary ya Setswana 4 3105 8532 2022-12-17T08:45:35Z Rebel Agent 2678 Ke dirile tsebe ya thaloso 8532 wikitext text/x-wiki Wiktionary ya [[Setswana]] e ikaeletse go tlhalosa mafoko a Setswana. Ka jaana go nale mafoko a le {{NUMBEROFARTICLES}}, mafoko a a kwadilwe ke [[moitlhaopi|baitlhaopi]]. Wiktionary ya Setswana ke bukantswe e kwalwang ke kgolagano ya baitlhaopi. Ga ra ikaelela go kwala ditlhaloso tsa mafoko fela, mme re ikaeletse go kwala melaetsa ka Setswana e ka thalogangwang ke mongwe le mongwe, dithanolo di akaretswa. 1nxrxn6xlxdq2s78cnff07xpjka7u7x Tempolete:O ntse o itse 10 3106 8544 2022-12-27T16:45:41Z Rebel Agent 2678 Ke dirile tsebe 8544 wikitext text/x-wiki * Gore Wiktionary ya Setswana e kwala ke baithaopi le wena o kgona go kwala ? * Gore Wikipedia ya Setswana ke kgaitsadie Wiktionary ya Setswana ebile le yone o kgona go e fetola ? st49y8c5bg26faqspthnvyg7eba43ag Tempolete:Mafoko a Setswana 10 3107 8545 2022-12-27T16:50:38Z Rebel Agent 2678 Ke dirile tsebe 8545 wikitext text/x-wiki [[Dumela]] - Lefoko le le dirisiwa go buisa batho fa o kopana le bone. [[Tafole]] - Ke sedirisiwa se se dirisiwang go baya dilo ''sekai'' dijo [[Ntša]] - Ke seruiwa se gantsi se ruiwang mo gae. t3lfbs57ifltmsvi3rcomr6tgr7hp29 madi 0 3112 8616 8615 2024-04-27T09:29:30Z Rebel Agent 2678 /* Segologolo */ 8616 wikitext text/x-wiki == Setswana == {{wikipedia|Money (disambiguation)}} === Mafoko a tsamaelanang === * bona - [[madi (a motho)|madi (a motho)]] ===Segologolo=== *Go tswa mo temeng ya Swahili/Mali/ Sezulu/imali/ '''madi''' le tlwaelegile mo ditemeng tse di farologaneng tsa Bantu, mo kgaolong ya Kalahari. * Lefoko '''madi''' le kgona go dirisiwa gape go raya [[madi (a motho)|madi a motho]] === Tsela ya go bua === * {{a|Setswana}} /ˈmædi/ *{{a|Botswana}} /ˈmædi/ === Leina === * lefoko '''madi''' ke leina. * Madi ke selo se se nang le boleng se se dirisiwang ke batho ba babedi kgotsa go feta go nelana dithoto kgotsa ditirelo. :: '''sekai''' ga ke amogele '''madi''' a ke sa berekelang. * Go nale '''madi''' a pampiri le a tshipi. * [[bohumi|Bohumi]] Motho kgotsa lelwapa le le humileng. :: o ka tsalwa o nale '''madi''' :: o ka nyala mo lelwapeng le le naleng '''madi''' === Metswedi === tlijxdbgv0z9gjar0rgk8nqyy8wayg4 Tempolete:commons 10 3113 8589 2024-04-27T07:18:45Z Rebel Agent 2678 Created page with "{{#invoke:checkparams|error}}<!-- Validate template parameters --><div class="noprint floatright" style="border: solid #aaa 1px; font-size: 90%; background: #f9f9f9; width: 250px; padding: 4px; spacing: 0px; text-align: left;"> <div style="float: left;"> [[Image:Commons-logo.png|50px|none|Commons]] </div> <div style="margin-left: 60px;">[[c:|Wikimedia Commons]] has related media at: <div style="margin-left: 10px;">'''''c:{{{1|{{PAGENAME}}}}}|{{{2|{{{1|{{PAGENAME}}}}}}}..." 8589 wikitext text/x-wiki {{#invoke:checkparams|error}}<!-- Validate template parameters --><div class="noprint floatright" style="border: solid #aaa 1px; font-size: 90%; background: #f9f9f9; width: 250px; padding: 4px; spacing: 0px; text-align: left;"> <div style="float: left;"> [[Image:Commons-logo.png|50px|none|Commons]] </div> <div style="margin-left: 60px;">[[c:|Wikimedia Commons]] has related media at: <div style="margin-left: 10px;">'''''[[c:{{{1|{{PAGENAME}}}}}|{{{2|{{{1|{{PAGENAME}}}}}}}}]]'''''</div> </div> </div><noinclude>{{documentation}}</noinclude> 9lmz8orezn8smcr3sle0fg5wk6y2cue Module:checkparams 828 3114 8590 2024-04-27T07:22:36Z Rebel Agent 2678 Created page with "local function get_template_content(frame)local m_str_utils = require("Module:string utilities") local concat = table.concat local error = error local find_arguments = require("Module:template parser").findArguments local format_categories = require("Module:utilities").format_categories local gsplit = m_str_utils.gsplit local gsub = string.gsub local html_create = mw.html.create local insert = table.insert local match = string.match local new_title = mw.title.new local..." 8590 Scribunto text/plain local function get_template_content(frame)local m_str_utils = require("Module:string utilities") local concat = table.concat local error = error local find_arguments = require("Module:template parser").findArguments local format_categories = require("Module:utilities").format_categories local gsplit = m_str_utils.gsplit local gsub = string.gsub local html_create = mw.html.create local insert = table.insert local match = string.match local new_title = mw.title.new local next = next local pairs = pairs local process_params = require("Module:parameters").process local scribunto_param_key = m_str_utils.scribunto_param_key local select = select local sort = table.sort local tostring = tostring local type = type local export = {} local function get_template_title(frame) return frame:getParent():getTitle() end return new_title(get_template_title(frame)):getContent() end local function get_allowed_args(frame) -- returns a table of allowed args local args = {} -- first, detect all args used by the parent template -- find_arguments takes the parent argument table as the second parameter so that argument names can be preprocessed, since these can vary based on the input if an argument name contains another argument (e.g. {{{foo{{{bar}}}baz}}}) for arg in find_arguments(get_template_content(frame), frame:getParent().args) do args[arg] = {} end -- if frame.args[1] contains a comma separated list of param names, add those as well local additional = frame.args[1] if additional then for arg in gsplit(additional, ",", true) do -- scribunto_param_key normalizes the arg into the form returned by find_arguments (i.e. trimmed and converted to a number if appropriate) arg = scribunto_param_key(arg) if not args[arg] then args[arg] = {} end end end return args end local function compare_params(a, b) a, b = a[1], b[1] local type_a = type(a) if type_a == type(b) then return a < b end return type_a == "number" end local function sort_params(invalid_args) -- sort a table of parameters in the form {k, v}, sorting numbers before strings local msg = {} for k, v in pairs(invalid_args) do insert(msg, {k, v}) end sort(msg, compare_params) for i = 1, #msg do msg[i] = concat(msg[i], "=") end return msg end local function apply_pre_tag(frame, invalid_args) return frame:extensionTag("pre", concat(invalid_args, "\n")) end local function make_message(template_name, invalid_args, no_link) local open = no_link and "" or "[[" local close = no_link and "" or "]]" return "The template " .. open .. template_name .. close .. " does not use the parameter(s): " .. invalid_args .. " Please see " .. open .. "Module:checkparams" .. close .. " for help with this warning." end local function make_warning_text(frame, template_name, invalid_args, nowarn, noattn, nocat) -- generate "Invalid params" warning to be inserted into wiki page -- template_name (required) name of the template with invalid params -- invalid_args (required) table of invalid args -- nocat= (optional) do not included category in warning_text -- noattn= (optional) do not include attention seeking span in in warning_text -- nowarn= (optional) do not include preview warning in warning_text local warn, attn, cat -- show warning in previewer if not nowarn then warn = tostring(html_create("sup") :addClass("error") :addClass("previewonly") :tag("small") :wikitext(make_message(template_name, apply_pre_tag(frame, invalid_args))) :allDone()) end -- add attentionseeking message -- <pre> tags don't work in HTML attributes, so use semicolons as delimiters if not noattn then attn = tostring(html_create("span") :addClass("attentionseeking") :attr("title", make_message(template_name, concat(invalid_args, "; ") .. ".", "no_link")) :allDone()) end if not nocat then cat = format_categories( {"Pages using bad params when calling " .. template_name}, nil, "-", nil, "force_output" ) end return (warn or "") .. (attn or "") .. (cat or "") end local function remove_placeholder_args(allowed_params, invalid_args) -- some templates use params 1 and 3 without using 2, -- which means that 2 will be in the list of invalid args -- when used as an empty placeholder like in {{foo|1||3}} -- this function will detect and remove any empty positionaly placeholder args -- from a list of invalid_args local max_pos = 0 for param in pairs(allowed_params) do if type(param) == "number" and param > max_pos then max_pos = param end end for param in pairs(invalid_args) do if ( type(param) == "number" and param >= 1 and param < max_pos and not match(invalid_args[param], "[^%z\t-\v\r ]") -- charset used by MediaWiki to trim parameters ) then invalid_args[param] = nil end end end function export.process(frame, allowed_params, nowarn, noattn, nocat) -- This is desgined to be called by other Lua modules instead of calling Module:parameters.process() -- frame - the frame containing the arguments to be checked -- allowed_params - a table of valid arguments -- nocat - if specified, will not included category in warning_text -- noattn - if specified, will not include attention seeking span in in warning_text -- nowarn - if specified, will not include preview warning in warning_text -- returns valid_args, invalid_args, warning_text local valid_args, invalid_args = process_params( frame.args, allowed_params, "return unknown" ) if next(invalid_args) then remove_placeholder_args(allowed_params, invalid_args) end if next(invalid_args) then local template_name = frame:getTitle() return valid_args, invalid_args, make_warning_text(frame, template_name, sort_params(invalid_args), nowarn, noattn, nocat) end return valid_args, invalid_args, "" end function export.warn(frame) -- This is designed to be called by non-Lua templates using "{{#invoke:checkparams|warn}}" -- the passed frame is checked for the following params: -- 1= (optional) a comma separated list of allowed parameters - if not specified, allows all parameters used as variables inside the template -- nowarn= (optional) do not include preview warning in warning_text -- noattn= (optional) do not include attention seeking span in in warning_text -- nocat= (optional) do not included category in warning_text local args = frame.args return select(3, export.process( frame:getParent(), get_allowed_args(frame), args.nowarn or false, args.noattn or false, args.nocat or false )) end do local placeholder = "_message_" function export.placeholder_error() -- A dummy function that throws an error with a placeholder message. error(placeholder, 0) end function export.error(frame) -- This is designed to be called by non-Lua templates using "{{#invoke:checkparams|error}}" -- the passed frame is checked for the following params: -- 1= (optional) a comma separated list of allowed parameters - if not specified, allows all parameters used as variables inside the template local allowed_args = get_allowed_args(frame) local invalid_args = select(2, process_params( frame:getParent().args, allowed_args, "return unknown" )) if next(invalid_args) then remove_placeholder_args(allowed_args, invalid_args) end -- Throw an error via callParserFunction, which generates a real error with traceback, automatic categorization in [[CAT:E]] etc., but the error message is returned as a string. Then, replace the placeholder error message with an error containing <pre> tags. -- This is necessary because <pre> tags don't work in conventional error messages, so whitespace-related issues can't be shown accurately. Any whitespace which isn't trimmed is treated as literal, so errors caused by double-spaces or erroneous newlines in inputs need to be displayed accurately. if next(invalid_args) then return (gsub( frame:callParserFunction("#invoke", "checkparams", "placeholder_error"), placeholder, make_message(get_template_title(frame), apply_pre_tag(frame, sort_params(invalid_args))) )) end end end return export hftrzdiowxhs32zf1cehd2m136dokr3 Module:string utilities 828 3115 8591 2024-04-27T07:27:06Z Rebel Agent 2678 Created page with "local mw = mw local string = string local table = table local ustring = mw.ustring local byte = string.byte local char = string.char local concat = table.concat local find = string.find local format = string.format local gmatch = string.gmatch local gsub = string.gsub local len = string.len local load_data = mw.loadData local lower = string.lower local match = string.match local next = next local reverse = string.reverse local select = select local sort = table.sort loc..." 8591 Scribunto text/plain local mw = mw local string = string local table = table local ustring = mw.ustring local byte = string.byte local char = string.char local concat = table.concat local find = string.find local format = string.format local gmatch = string.gmatch local gsub = string.gsub local len = string.len local load_data = mw.loadData local lower = string.lower local match = string.match local next = next local reverse = string.reverse local select = select local sort = table.sort local sub = string.sub local tonumber = tonumber local tostring = tostring local type = type local ucodepoint = ustring.codepoint local ufind = ustring.find local ugcodepoint = ustring.gcodepoint local ugmatch = ustring.gmatch local ugsub = ustring.gsub local ulower = ustring.lower local umatch = ustring.match local unpack = unpack local upper = string.upper local usub = ustring.sub local uupper = ustring.upper -- Defined below. local charset_escape local codepoint local explode_utf8 local format_fun local get_indefinite_article local pattern_escape local pattern_simplifier local php_trim local replacement_escape local split local u local ulen local module_name = "string_utilities" local export = {} --[==[Explodes a string into an array of UTF-8 characters. '''Warning''': this function has no safety checks for non-UTF-8 byte sequences, to optimize speed and memory use. Inputs containing them therefore result in undefined behaviour.]==] function export.explode_utf8(str) local text, i = {}, 0 for ch in gmatch(str, ".[\128-\191]*") do i = i + 1 text[i] = ch end return text end explode_utf8 = export.explode_utf8 --[==[Escapes the magic characters used in [[mw:Extension:Scribunto/Lua reference manual#Patterns|patterns]] (Lua's version of regular expressions): <code>$%()*+-.?[]^</code>. For example, {{code|lua|"^$()%.[]*+-?"}} becomes {{code|lua|"%^%$%(%)%%%.%[%]%*%+%-%?"}}. This is necessary when constructing a pattern involving arbitrary text (e.g. from user input).]==] function export.pattern_escape(str) return (gsub(str, "[$%%()*+%-.?[%]^]", "%%%0")) end pattern_escape = export.pattern_escape --[==[Escapes only the magic characters used in [[mw:Extension:Scribunto/Lua reference manual#Patterns|pattern]] character sets: <code>%-]^</code>.]==] function export.charset_escape(str) return (gsub(str, "[%%%-%]^]", "%%%0")) end charset_escape = export.charset_escape --[==[Escapes only <code>%</code>, which is the only magic character used in replacement [[mw:Extension:Scribunto/Lua reference manual#Patterns|patterns]] with string.gsub and mw.ustring.gsub.]==] function export.replacement_escape(str) return (gsub(str, "%%", "%%%%")) end replacement_escape = export.replacement_escape do local function check_sets_equal(set1, set2) local k2 for k1, v1 in next, set1 do local v2 = set2[k1] if v1 ~= v2 and (v2 == nil or not check_sets_equal(v1, v2)) then return false end k2 = next(set2, k2) end return next(set2, k2) == nil end local function check_sets(bytes) local key, set1, set = next(bytes) if set1 == true then return true elseif not check_sets(set1) then return false end while true do key, set = next(bytes, key) if not key then return true elseif not check_sets_equal(set, set1) then return false end end end local function get_ranges(bytes) local ret, b, key, next_byte = {}, 0, next(bytes) while true do local range, n = {key}, 1 while true do key = next(bytes, key) if not key then break end n = n + 1 range[n] = key end b = b + 1 ret[b] = range if next_byte == true then break end bytes = next_byte key, next_byte = next(bytes) end return ret end local function make_charset(range) if #range == 1 then return char(range[1]) end sort(range) local compressed, n, start = {}, 0, range[1] for i = 1, #range do local this, nxt = range[i], range[i + 1] if nxt ~= this + 1 then n = n + 1 compressed[n] = this == start and char(this) or char(start) .. "-" .. char(this) start = nxt end end return "[" .. concat(compressed) .. "]" end --[==[Parses `pattern`, a ustring library pattern, and attempts to convert it into a string library pattern. If conversion isn't possible, returns false.]==] pattern_simplifier = require("Module:fun").memoize(function(pattern) if type(pattern) == "number" then return tostring(pattern) end local pos, captures, start, n, output = 1, 0, 1, 0 while true do local ch, nxt_pos pos, ch, nxt_pos = match(pattern, "()([%%(.[\194-\244][\128-\191]*)()", pos) if not ch then break end local nxt = sub(pattern, nxt_pos, nxt_pos) if ch == "%" then if nxt == "b" then if not match(sub(pattern, pos + 2, pos + 3), "^()[^\128-\255]*$") then return false end pos = pos + 4 elseif nxt == "f" then pos = pos + 2 nxt = sub(pattern, pos, pos) if nxt ~= "[" then return false end pos = pos + 1 nxt = sub(pattern, pos, pos) if nxt == "^" then return false end while true do pos, ch, nxt_pos = match(pattern, "()([%%%][\194-\244][\128-\191]*)()", pos) if not ch then return false elseif ch == "%" then if find("acdlpsuwxACDLPSUWXZ", sub(pattern, nxt_pos, nxt_pos), 1, true) then return false end pos = pos + 2 elseif ch == "]" then pos = pos + 1 break else return false end end elseif nxt == "Z" then pos = pos + 2 nxt = sub(pattern, pos, pos) if nxt == "*" or nxt == "+" or nxt == "-" then pos = pos + 1 else output = output or {} n = n + 1 if nxt == "?" then output[n] = sub(pattern, start, pos - 3) .. "[\1-\127\194-\244]?[\128-\191]*" pos = pos + 1 else output[n] = sub(pattern, start, pos - 3) .. "[\1-\127\194-\244][\128-\191]*" end start = pos end elseif find("acdlpsuwxACDLPSUWX", nxt, 1, true) then return false else pos = pos + 2 end elseif ch == "(" then if nxt == ")" or captures == 32 then return false end captures = captures + 1 pos = pos + 1 elseif ch == "." then if nxt == "*" or nxt == "+" or nxt == "-" then pos = pos + 2 else output = output or {} n = n + 1 if nxt == "?" then output[n] = sub(pattern, start, pos - 1) .. "[^\128-\191]?[\128-\191]*" pos = pos + 2 else output[n] = sub(pattern, start, pos - 1) .. "[^\128-\191][\128-\191]*" pos = pos + 1 end start = pos end elseif ch == "[" then if nxt == "^" then return false end local charset_pos, ch_len, bytes = pos pos = pos + 1 while true do -- TODO: non-ASCII charset ranges. pos, ch, nxt_pos = match(pattern, "()([^\128-\191][\128-\191]*)()", pos) if not ch then return false elseif ch == "%" then local nxt = sub(pattern, nxt_pos, nxt_pos) if find("acdlpsuwxACDLPSUWXZ", nxt, 1, true) then return false elseif nxt == "%" or nxt == "-" or nxt == "]" then if not ch_len then ch_len = 1 elseif ch_len ~= 1 then return false end pos = pos + 2 else pos = pos + 1 end elseif ch == "]" then if ch_len == 1 then pos = pos + 1 break end local nxt = sub(pattern, nxt_pos, nxt_pos) if ( (nxt == "?" or nxt == "*" or nxt == "-") or (nxt == "+" and ch_len > 2) or not check_sets(bytes) ) then return false end local ranges = get_ranges(bytes) if nxt == "+" then local range1, range2 = ranges[1], ranges[2] ranges[1] = make_charset(range1) ranges[3] = make_charset(range2) local n = #range2 for i = 1, #range1 do n = n + 1 range2[n] = range1[i] end ranges[2] = make_charset(range2) .. "*" pos = pos + 2 else for i = 1, #ranges do ranges[i] = make_charset(ranges[i]) end pos = pos + 1 end output = output or {} n = n + 1 output[n] = sub(pattern, start, charset_pos - 1) .. concat(ranges) start = pos break else if not ch_len then ch_len = #ch elseif ch_len ~= #ch then return false end if ch_len > 1 then bytes = bytes or {} local bytes = bytes for i = 1, ch_len - 1 do local b = byte(ch, i, i) bytes[b] = bytes[b] or {} bytes = bytes[b] end bytes[byte(ch, -1)] = true end pos = nxt_pos end end elseif nxt == "+" then if #ch ~= 2 then return false end output = output or {} n = n + 1 output[n] = sub(pattern, start, pos) .. "[" .. ch .. "]*" .. sub(ch, 2, 2) pos = nxt_pos + 1 start = pos elseif nxt == "?" or nxt == "*" or nxt == "-" then return false else pos = nxt_pos end end if start == 1 then return pattern end return concat(output) .. sub(pattern, start) end, true) export.pattern_simplifier = pattern_simplifier -- For testing. end function export.len(str) return type(str) == "number" and len(str) or #str - #gsub(str, "[^\128-\191]+", "") end ulen = export.len function export.sub(str, i, j) str, i = type(str) == "number" and tostring(str) or str, i or 1 if i < 0 or j and j < 0 then return usub(str, i, j) elseif j and i > j or i > #str then return "" end local n, new_i = 0 for loc1, loc2 in gmatch(str, "()[^\128-\191]+()[\128-\191]*") do n = n + loc2 - loc1 if not new_i and n >= i then new_i = loc2 - (n - i) - 1 if not j then return sub(str, new_i) end end if j and n > j then return sub(str, new_i, loc2 - (n - j) - 1) end end return new_i and sub(str, new_i) or "" end do local function _find(str, loc1, loc2, ...) if loc1 and not match(str, "^()[^\128-\255]*$") then -- Use raw values of loc1 and loc2 to get loc1 and the length of the match. loc1, loc2 = ulen(sub(str, 1, loc1)), ulen(sub(str, loc1, loc2)) -- Offset length with loc1 to get loc2. loc2 = loc1 + loc2 - 1 end return loc1, loc2, ... end --[==[A version of find which uses string.find when possible, but otherwise uses mw.ustring.find.]==] function export.find(str, pattern, init, plain) init = init or 1 if init ~= 1 and not match(str, "^()[^\128-\255]*$") then return ufind(str, pattern, init, plain) elseif plain then return _find(str, find(str, pattern, init, true)) end local simple = pattern_simplifier(pattern) if simple then return _find(str, find(str, simple, init)) end return ufind(str, pattern, init) end end --[==[A version of match which uses string.match when possible, but otherwise uses mw.ustring.match.]==] function export.match(str, pattern, init) init = init or 1 if init ~= 1 and not match(str, "^()[^\128-\255]*$") then return umatch(str, pattern, init) end local simple = pattern_simplifier(pattern) if simple then return match(str, simple, init) end return umatch(str, pattern, init) end --[==[A version of gmatch which uses string.gmatch when possible, but otherwise uses mw.ustring.gmatch.]==] function export.gmatch(str, pattern) local simple = pattern_simplifier(pattern) if simple then return gmatch(str, simple) end return ugmatch(str, pattern) end --[==[A version of gsub which uses string.gsub when possible, but otherwise uses mw.ustring.gsub.]==] function export.gsub(str, pattern, repl, n) local simple = pattern_simplifier(pattern) if simple then return gsub(str, simple, repl, n) end return ugsub(str, pattern, repl, n) end --[==[Like gsub, but pattern-matching facilities are turned off, so `pattern` and `repl` (if a string) are treated as literal.]==] function export.plain_gsub(str, pattern, repl, n) return gsub(str, pattern_escape(pattern), type(repl) == "string" and replacement_escape(repl) or repl, n) end --[==[Reverses a UTF-8 string; equivalent to string.reverse.]==] function export.reverse(str) return reverse(gsub(str, "[\194-\244][\128-\191]*", reverse)) end do local function err(cp) error("Codepoint " .. cp .. " is out of range: codepoints must be between 0x0 and 0x10FFFF.", 2) end local function utf8_char(cp) cp = tonumber(cp) if cp < 0 then err("-0x" .. format("%X", -cp + 1)) elseif cp < 0x80 then return char(cp) elseif cp < 0x800 then return char( 0xC0 + cp / 0x40, 0x80 + cp % 0x40 ) elseif cp < 0x10000 then if cp >= 0xD800 and cp < 0xE000 then return "?" -- mw.ustring.char returns "?" for surrogates. end return char( 0xE0 + cp / 0x1000, 0x80 + cp / 0x40 % 0x40, 0x80 + cp % 0x40 ) elseif cp < 0x110000 then return char( 0xF0 + cp / 0x40000, 0x80 + cp / 0x1000 % 0x40, 0x80 + cp / 0x40 % 0x40, 0x80 + cp % 0x40 ) end err("0x" .. format("%X", cp)) end function export.char(cp, ...) if ... == nil then return utf8_char(cp) end local ret = {cp, ...} for i = 1, select("#", cp, ...) do ret[i] = utf8_char(ret[i]) end return concat(ret) end u = export.char end do local function get_codepoint(b1, b2, b3, b4) if b1 < 128 then return b1, 1 elseif b1 < 224 then return 0x40 * b1 + b2 - 0x3080, 2 elseif b1 < 240 then return 0x1000 * b1 + 0x40 * b2 + b3 - 0xE2080, 3 end return 0x40000 * b1 + 0x1000 * b2 + 0x40 * b3 + b4 - 0x3C82080, 4 end function export.codepoint(str, i, j) if type(str) == "number" then return byte(str, i, j) end i, j = i or 1, j == -1 and #str or i or 1 if i == 1 and j == 1 then return (get_codepoint(byte(str, 1, 4))) elseif i < 0 or j < 0 then return ucodepoint(str, i, j) -- FIXME end local n, nb, ret, nr = 0, 1, {}, 0 while n < j do n = n + 1 if n < i then local b = byte(str, nb) nb = nb + (b < 128 and 1 or b < 224 and 2 or b < 240 and 3 or 4) else local b1, b2, b3, b4 = byte(str, nb, nb + 3) if not b1 then break end nr = nr + 1 local add ret[nr], add = get_codepoint(b1, b2, b3, b4) nb = nb + add end end return unpack(ret) end codepoint = export.codepoint function export.gcodepoint(str, i, j) i, j = i or 1, j ~= -1 and j or nil if i < 0 or j and j < 0 then return ugcodepoint(str, i, j) -- FIXME end local n, nb = 1, 1 while n < i do local b = byte(str, nb) if not b then break end nb = nb + (b < 128 and 1 or b < 224 and 2 or b < 240 and 3 or 4) n = n + 1 end return function() if j and n > j then return nil end n = n + 1 local b1, b2, b3, b4 = byte(str, nb, nb + 3) if not b1 then return nil end local ret, add = get_codepoint(b1, b2, b3, b4) nb = nb + add return ret end end end --[==[A version of lower which uses string.lower when possible, but otherwise uses mw.ustring.lower.]==] function export.lower(str) return (match(str, "^()[^\128-\255]*$") and lower or ulower)(str) end --[==[A version of upper which uses string.upper when possible, but otherwise uses mw.ustring.upper.]==] function export.upper(str) return (match(str, "^()[^\128-\255]*$") and upper or uupper)(str) end do local function add_captures(text, n, ...) -- Insert any captures from the splitting pattern. local offset, capture = n - 1, ... while capture do n = n + 1 text[n] = capture capture = select(n - offset, ...) end return n end local function iterate(str, str_len, text, n, start, _sub, loc1, loc2, ...) if not (loc1 and start <= str_len) then -- If no match, or there is but we're past the end of the string -- (which happens when the match is the empty string), then add -- the final chunk and return. n = n + 1 text[n] = _sub(str, start) return elseif loc2 < loc1 then -- Special case: If we match the empty string, then include the -- next character; this avoids an infinite loop, and makes -- splitting by an empty string work the way mw.text.split() does -- (including non-adjacent empty string matches with %f). If we -- reach the end of the string this way, return immediately, so we -- don't get a final empty string. If using the string library, we -- need to make sure we advance by one UTF-8 character. if _sub == sub then loc1 = loc1 + #match(str, "^[\128-\191]*", loc1 + 1) end n = n + 1 text[n] = _sub(str, start, loc1) start = loc1 + 1 if start > str_len then return add_captures(text, n, ...) end else -- Add chunk up to the current match. n = n + 1 text[n] = _sub(str, start, loc1 - 1) start = loc2 + 1 end return add_captures(text, n, ...), start end local function _split(str, pattern, str_len, _sub, _find, plain) local text, n, start = {}, 0, 1 repeat n, start = iterate(str, str_len, text, n, start, _sub, _find(str, pattern, start, plain)) until not start return text end --[==[Reimplementation of mw.text.split() that includes any capturing groups in the splitting pattern. This works like Python's re.split() function, except that it has Lua's behavior when the split pattern is empty (i.e. advancing by one character at a time; Python returns the whole remainder of the string). When possible, it will use the string library, but otherwise uses the ustring library. There are two optional parameters: `str_lib` forces use of the string library, while `plain` turns any pattern matching facilities off, treating `pattern` as literal.]==] function export.split(str, pattern, str_lib, plain) if str_lib or plain then return _split(str, pattern, #str, sub, find, plain) end local simple = pattern_simplifier(pattern) if simple then return _split(str, simple, #str, sub, find) end return _split(str, pattern, ulen(str), usub, ufind) end split = export.split export.capturing_split = split -- To be removed. end function export.gsplit(str, pattern, mode) local t, i = split(str, pattern, mode), 0 return function() i = i + 1 return t[i] end end function export.trim(str, charset) if not charset then return match(str, "^()%s*$") and "" or match(str, "^%s*(.*%S)") elseif match(charset, "^()[^\128-\255]*$") then return match(str, "^()[" .. charset .. "]*$") and "" or match(str, "^[" .. charset .. "]*(.*[^" .. charset .. "])") end return umatch(str, "^[" .. charset .. "]*(.-)[" .. charset .. "]*$") end do local entities local function decode_numeric_entity(code, pattern, base) local cp = match(code, pattern) and tonumber(code, base) return cp and cp < 0x110000 and u(cp) or nil end local function decode_entity(hash, x, code) if hash == "#" then return x == "" and decode_numeric_entity(code, "^%d+$") or decode_numeric_entity(code, "^%x+$", 16) end entities = entities or load_data("Module:data/entities") return entities[x .. code] end -- Non-ASCII characters aren't valid in proper HTML named entities, but MediaWiki uses them in some custom aliases which have also been included in [[Module:data/entities]]. function export.decode_entities(str) return find(str, "&", 1, true) and gsub(str, "&(#?)([xX]?)([%w\128-\255]+);", decode_entity) or str end end do local html_entities local function encode_entity(ch) local entity = html_entities[ch] if entity then return entity end entity = "&#" .. codepoint(ch) .. ";" html_entities[ch] = entity return entity end function export.encode_entities(str, charset, str_lib, plain) -- Memoized HTML entities (taken from mw.text.lua). html_entities = html_entities or { ["\""] = "&quot;", ["&"] = "&amp;", ["'"] = "&#039;", ["<"] = "&lt;", [">"] = "&gt;", ["\194\160"] = "&nbsp;", } if not charset then return (gsub(str, "[\"&'<>\194]\160?", html_entities)) elseif plain then return (gsub(str, "[" .. charset_escape(charset) .. "]", encode_entity)) elseif str_lib then if not match(charset, "^()[^\128-\255]*$") then error("Cannot use the string library with a character set that contains a character with a codepoint above U+007F.") end return (gsub(str, "[" .. charset .. "]", encode_entity)) end local pattern = charset and "[" .. charset .. "]" local simple = pattern_simplifier(pattern) if simple then return (gsub(str, simple, encode_entity)) end return (ugsub(str, pattern, encode_entity)) end end do local function decode_path(code) return char(tonumber(code, 16)) end local function decode(lead, trail) if lead == "+" or lead == "_" then return " " .. trail elseif #trail == 2 then return decode_path(trail) end return lead .. trail end function export.decode_uri(str, enctype) enctype = enctype and upper(enctype) or "QUERY" if enctype == "PATH" then return find(str, "%", 1, true) and gsub(str, "%%(%x%x)", decode_path) or str elseif enctype == "QUERY" then return (find(str, "%", 1, true) or find(str, "+", 1, true)) and gsub(str, "([%%%+])(%x?%x?)", decode) or str elseif enctype == "WIKI" then return (find(str, "%", 1, true) or find(str, "_", 1, true)) and gsub(str, "([%%_])(%x?%x?)", decode) or str end error("bad argument #2 to \"decode_uri\" (expected QUERY, PATH, or WIKI)", 2) end end do local function _remove_comments(str, pre) local head = find(str, "<!--", 1, true) if not head then return str end local ret, n = {sub(str, 1, head - 1)}, 1 while true do local loc = find(str, "-->", head + 4, true) if not loc then return pre and concat(ret) or concat(ret) .. sub(str, head) end head = loc + 3 loc = find(str, "<!--", head, true) if not loc then return concat(ret) .. sub(str, head) end n = n + 1 ret[n] = sub(str, head, loc - 1) head = loc end end --[==[Removes any HTML comments from the input text. `stage` can be one of three options: * {{lua|"PRE"}} (default) applies the method used by MediaWiki's preprocessor: all {{code||<nowiki><!-- ... --></nowiki>}} pairs are removed, as well as any text after an unclosed {{code||<nowiki><!--</nowiki>}}. This is generally suitable when parsing raw template or [[mw:Parser extension tags|parser extension tag]] code. (Note, however, that the actual method used by the preprocessor is considerably more complex and differs under certain conditions (e.g. comments inside nowiki tags); if full accuracy is absolutely necessary, use [[Module:template parser]] instead). * {{lua|"POST"}} applies the method used to generate the final page output once all templates have been expanded: it loops over the text, removing any {{code||<nowiki><!-- ... --></nowiki>}} pairs until no more are found (e.g. {{code||<nowiki><!-<!-- ... -->- ... --></nowiki>}} would be fully removed), but any unclosed {{code||<nowiki><!--</nowiki>}} is ignored. This is suitable for handling links embedded in template inputs, where the {{lua|"PRE"}} method will have already been applied by the native parser. * {{lua|"BOTH"}} applies {{lua|"PRE"}} then {{lua|"POST"}}.]==] function export.remove_comments(str, stage) if not stage or stage == "PRE" then return _remove_comments(str, true) end local processed = stage == "POST" and _remove_comments(str) or stage == "BOTH" and _remove_comments(str, true) or error("bad argument #2 to \"remove_comments\" (expected PRE, POST, or BOTH)", 2) while processed ~= str do str = processed processed = _remove_comments(str) end return str end end --[==[Lua equivalent of PHP's {{code|php|trim($string)}}, which trims {{code|lua|"\0"}}, {{code|lua|"\t"}}, {{code|lua|"\n"}}, {{code|lua|"\v"}}, {{code|lua|"\r"}} and {{code|lua|" "}}. This is useful when dealing with template parameters, since the native parser trims them like this.]==] function export.php_trim(str) return match(str, "%f[^%z\t\n\v\r ].*%f[%z\t\n\v\r ]") or "" end php_trim = export.php_trim --[==[Takes a parameter name as an input, and returns the Scribunto-normalized form (i.e. the key that that parameter would have in a {{code|lua|frame.args}} table). For example, {{code|lua|"1"}} is normalized to {{code|lua|1}} (a number), and {{code|lua|" foo "}} is normalized to {{code|lua|"foo"}}. If the input is not a string, it is returned unchanged. After being trimmed with {{code|lua|export.php_trim}}, strings are converted to numbers if: # They are integers, with no decimals (2.0) or leading zeroes (02). # They are ≤ 2{{sup|53}} and ≥ -2{{sup|53}}. # For positive values, they do not have a leading {{code|lua|+}} sign.]==] function export.scribunto_param_key(key) if type(key) ~= "string" then return key end key = php_trim(key) if match(key, "^-?[1-9]%d*$") then local num = tonumber(key) -- Lua integers are only accurate to 2^53 - 1, so we have to specifically check for 2^53 and -2^53, since 2^53 == 2^53 + 1 evaluates to true. return ( num <= 9007199254740991 and num >= -9007199254740991 or key == "9007199254740992" or key == "-9007199254740992" ) and num or key elseif key == "0" then return 0 end return key end do local byte_escapes local function escape_byte(b) return byte_escapes[b] or format("\\%03d", byte(b)) end function export.escape_bytes(str) byte_escapes = byte_escapes or load_data("Module:string utilities/data").byte_escapes return (gsub(str, ".", escape_byte)) end end function export.format_fun(str, fun) return (gsub(str, "{(\\?)((\\?)[^{}]*)}", function(p1, name, p2) if #p1 + #p2 == 1 then return name == "op" and "{" or name == "cl" and "}" or error(module_name .. ".format: unrecognized escape sequence '{\\" .. name .. "}'") elseif fun(name) and type(fun(name)) ~= "string" then error(module_name .. ".format: \"" .. name .. "\" is a " .. type(fun(name)) .. ", not a string") end return fun(name) or error(module_name .. ".format: \"" .. name .. "\" not found in table") end)) end format_fun = export.format_fun --[==[This function, unlike {{code|lua|string.format}} and {{code|lua|mw.ustring.format}}, takes just two parameters—a format string and a table—and replaces all instances of {{code|lua|{param_name}}} in the format string with the table's entry for {{code|lua|param_name}}. The opening and closing brace characters can be escaped with <code>{\op}</code> and <code>{\cl}</code>, respectively. A table entry beginning with a slash can be escaped by doubling the initial slash. ====Examples==== * {{code|lua|2=string_utilities.format("{foo} fish, {bar} fish, {baz} fish, {quux} fish", {["foo"]="one", ["bar"]="two", ["baz"]="red", ["quux"]="blue"})}} *: produces: {{code|lua|"one fish, two fish, red fish, blue fish"}} * {{code|lua|2=string_utilities.format("The set {\\op}1, 2, 3{\\cl} contains {\\\\hello} elements.", {["\\hello"]="three"})}} *: produces: {{code|lua|"The set {1, 2, 3} contains three elements."}} *:* Note that the single and double backslashes should be entered as double and quadruple backslashes when quoted in a literal string.]==] function export.format(str, tbl) return format_fun(str, function(key) return tbl[key] end) end do local function do_uclcfirst(str, case_func) -- Actual function to re-case of the first letter. local first_letter = case_func(match(str, "^.[\128-\191]*") or "") return first_letter .. sub(str, #first_letter + 1) end local function uclcfirst(str, case_func) -- If there's a link at the beginning, re-case the first letter of the -- link text. This pattern matches both piped and unpiped links. -- If the link is not piped, the second capture (linktext) will be empty. local link, linktext, remainder = match(str, "^%[%[([^|%]]+)%|?(.-)%]%](.*)$") if link then return "[[" .. link .. "|" .. do_uclcfirst(linktext ~= "" and linktext or link, case_func) .. "]]" .. remainder end return do_uclcfirst(str, case_func) end function export.ucfirst(str) return uclcfirst(str, uupper) end function export.lcfirst(str) return uclcfirst(str, ulower) end local function capitalize(w) return uclcfirst(w, uupper) end --[==[Capitalize each word of a string. WARNING: May be broken in the presence of multiword links.]==] function export.capitalize(str) if type(str) == "table" then -- allow calling from a template str = str.args[1] end -- Capitalize multi-word that is separated by spaces -- by uppercasing the first letter of each part. -- I assume nobody will input all CAP text. return (ugsub(str, "%S+", capitalize)) end end do local function word_ends_in_consonant_plus_y(str) -- FIXME, a subrule of rule #1 above says the -ies ending doesn't -- apply to proper nouns, hence "the Gettys", "the public Ivys". -- We should maybe consider applying this rule here; but it may not -- be important as this function is almost always called on common nouns -- (e.g. parts of speech, place types). return find(str, "[^aeiouAEIOU ]y$") end local function word_takes_es_plural(str) return find(str, "[sxz]$") or find(str, "[cs]h$") end local function do_pluralize(str) if word_ends_in_consonant_plus_y(str) then -- avoid returning multiple values return (gsub(str, "y$", "ies")) elseif word_takes_es_plural(str) then return str .. "es" end return str .. "s" end --[==[ Pluralize a word in a smart fashion, according to normal English rules. # If word ends in consonant + -y, replace the -y with -ies. # If the word ends in -s, -x, -z, -sh, -ch, add -es. # Otherwise, add -s. This handles links correctly: # If a piped link, change the second part appropriately. # If a non-piped link and rule #1 above applies, convert to a piped link with the second part containing the plural. # If a non-piped link and rules #2 or #3 above apply, add the plural outside the link. ]==] function export.pluralize(str) if type(str) == "table" then -- allow calling from a template str = str.args[1] end -- Check for a link. This pattern matches both piped and unpiped links. -- If the link is not piped, the second capture (linktext) will be empty. local beginning, link, linktext = match(str, "^(.*)%[%[([^|%]]+)%|?(.-)%]%]$") if not link then return do_pluralize(str) elseif linktext ~= "" then return beginning .. "[[" .. link .. "|" .. do_pluralize(linktext) .. "]]" elseif word_ends_in_consonant_plus_y(link) then return beginning .. "[[" .. link .. "|" .. gsub(link, "y$", "ies") .. "]]" end return beginning .. "[[" .. link .. "]]" .. (word_takes_es_plural(link) and "es" or "s") end end do local function do_singularize(str) local sing = match(str, "^(.-)ies$") if sing then return sing .. "y" end -- Handle cases like "[[parish]]es" return match(str, "^(.-[sc]h%]*)es$") or -- Handle cases like "[[box]]es" match(str, "^(.-x%]*)es$") or -- Handle regular plurals match(str, "^(.-)s$") or -- Otherwise, return input str end local function collapse_link(link, linktext) if link == linktext then return "[[" .. link .. "]]" end return "[[" .. link .. "|" .. linktext .. "]]" end --[==[ Singularize a word in a smart fashion, according to normal English rules. Works analogously to {pluralize()}. '''NOTE''': This doesn't always work as well as {pluralize()}. Beware. It will mishandle cases like "passes" -> "passe", "eyries" -> "eyry". # If word ends in -ies, replace -ies with -y. # If the word ends in -xes, -shes, -ches, remove -es. [Does not affect -ses, cf. "houses", "impasses".] # Otherwise, remove -s. This handles links correctly: # If a piped link, change the second part appropriately. Collapse the link to a simple link if both parts end up the same. # If a non-piped link, singularize the link. # A link like "[[parish]]es" will be handled correctly because the code that checks for -shes etc. allows ] characters between the 'sh' etc. and final -es. ]==] function export.singularize(str) if type(str) == "table" then -- allow calling from a template str = str.args[1] end -- Check for a link. This pattern matches both piped and unpiped links. -- If the link is not piped, the second capture (linktext) will be empty. local beginning, link, linktext = match(str, "^(.*)%[%[([^|%]]+)%|?(.-)%]%]$") if not link then return do_singularize(str) elseif linktext ~= "" then return beginning .. collapse_link(link, do_singularize(linktext)) end return beginning .. "[[" .. do_singularize(link) .. "]]" end end --[==[ Return the appropriate indefinite article to prefix to `str`. Correctly handles links and capitalized text. Does not correctly handle words like [[union]], [[uniform]] and [[university]] that take "a" despite beginning with a 'u'. The returned article will have its first letter capitalized if `ucfirst` is specified, otherwise lowercase. ]==] function export.get_indefinite_article(str, ucfirst) str = str or "" local is_vowel = false -- If there's a link at the beginning, examine the first letter of the -- link text. This pattern matches both piped and unpiped links. -- If the link is not piped, the second capture (linktext) will be empty. local link, linktext = match(str, "^%[%[([^|%]]+)%|?(.-)%]%]") if link then is_vowel = find(linktext ~= "" and linktext or link, "^[AEIOUaeiou]") else is_vowel = find(str, "^[AEIOUaeiou]") end return is_vowel and (ucfirst and "An" or "an") or (ucfirst and "A" or "a") end get_indefinite_article = export.get_indefinite_article --[==[ Prefix `text` with the appropriate indefinite article to prefix to `text`. Correctly handles links and capitalized text. Does not correctly handle words like [[union]], [[uniform]] and [[university]] that take "a" despite beginning with a 'u'. The returned article will have its first letter capitalized if `ucfirst` is specified, otherwise lowercase. ]==] function export.add_indefinite_article(text, ucfirst) return get_indefinite_article(text, ucfirst) .. " " .. text end return export en6p4ohk6y4mawce0kp7ost3psbl26r Module:template parser 828 3116 8592 2024-04-27T07:30:37Z Rebel Agent 2678 Created page with "--[[ NOTE: This module works by using recursive backtracking to build a node tree, which can then be traversed as necessary. Because it is called by a number of high-use modules, it has been optimised for speed using a profiler, since it is used to scrape data from large numbers of pages very quickly. To that end, it rolls some of its own methods in cases where this is faster than using a function from one of the standard libraries. Please DO NOT "simplify" the code by..." 8592 Scribunto text/plain --[[ NOTE: This module works by using recursive backtracking to build a node tree, which can then be traversed as necessary. Because it is called by a number of high-use modules, it has been optimised for speed using a profiler, since it is used to scrape data from large numbers of pages very quickly. To that end, it rolls some of its own methods in cases where this is faster than using a function from one of the standard libraries. Please DO NOT "simplify" the code by removing these, since you are almost guaranteed to slow things down, which could seriously impact performance on pages which call this module hundreds or thousands of times. It has also been designed to emulate the native parser's behaviour as much as possible, which in some cases means replicating bugs or unintuitive behaviours in that code; these should not be "fixed", since it is important that the outputs are the same. Most of these originate from deficient regular expressions, which can't be used here, so the bugs have to be manually reintroduced as special cases (e.g. onlyinclude tags being case-sensitive and whitespace intolerant, unlike all other tags). If any of these are fixed, this module should also be updated accordingly. ]] local require = require local m_parser = require("Module:parser") local m_str_utils = require("Module:string utilities") local mw = mw local mw_title = mw.title local string = string local table = table local concat = table.concat local decode_entities = m_str_utils.decode_entities local find = string.find local format = string.format local gsub = string.gsub local insert = table.insert local is_node = m_parser.is_node local lower = m_str_utils.lower local match = string.match local new_title = mw_title.new local next = next local parse -- defined as export.parse below local parse_template_name -- defined as export.parseTemplateName below local pcall = pcall local php_trim = m_str_utils.php_trim local rep = string.rep local scribunto_param_key = m_str_utils.scribunto_param_key local select = select local sub = string.sub local title_equals = mw_title.equals local tostring = m_parser.tostring local type = type local type_or_class = m_parser.type_or_class local umatch = mw.ustring.match local upper = m_str_utils.upper local data = mw.loadData("Module:template parser/data") local frame = mw.getCurrentFrame() local invalid_tag_attribute_name_char = data.invalid_tag_attribute_name_char local Parser, Node = m_parser.new() local function preprocess(text, args) return is_node(text) and text:preprocess(args) or text end local export = {} ------------------------------------------------------------------------------------ -- -- Nodes -- ------------------------------------------------------------------------------------ function Node:preprocess(args) local output = {} for i = 1, #self do output[i] = preprocess(self[i], args) end return concat(output) end local Wikitext = Node:new_class("wikitext") -- force_node ensures the output will always be a node. function Wikitext:new(this, force_node) if type(this) ~= "table" then return force_node and Node.new(self, {this}) or this elseif #this == 1 then local this1 = this[1] return force_node and not is_node(this1) and Node.new(self, this) or this1 end local success, str = pcall(concat, this) if success then return force_node and Node.new(self, {str}) or str end return Node.new(self, this) end -- First value is the argument name. -- Second value is the argument's default value. -- Any additional values are ignored: "{{{a|b|c}}}" is argument "a" with default value "b" (*not* "b|c"). local Argument = Node:new_class("argument") function Argument:new(this) local this2 = this[2] if type_or_class(this2) == "parameter" then insert(this2, 2, "=") this2 = Wikitext:new(this2) end return Node.new(self, {this[1], this2}) end function Argument:__tostring() local output = {} for i = 1, #self do output[i] = tostring(self[i]) end return "{{{" .. concat(output, "|") .. "}}}" end function Argument:next(i) i = i + 1 if i <= 2 then return self[i], i end end function Argument:get_name(args) return scribunto_param_key(preprocess(self[1], args)) end function Argument:get_default(args) return tostring(self[2]) or "{{{" .. tostring(self[1]) .. "}}}" end function Argument:preprocess(args) if not args then return preprocess(self[2], args) or "{{{" .. preprocess(self[1], args) .. "}}}" end local name = preprocess(self[1], args) return args[php_trim(name)] or preprocess(self[2], args) or "{{{" .. name .. "}}}" end local Parameter = Node:new_class("parameter") function Parameter:__tostring() return tostring(self[1]) .. "=" .. tostring(self[2]) end local Template = Node:new_class("template") function Template:__tostring() local output = {} for i = 1, #self do output[i] = tostring(self[i]) end return "{{" .. concat(output, "|") .. "}}" end function Template:get_params(args) local params, implicit = {}, 0 for i = 2, #self do local param = self[i] if type_or_class(param) == "parameter" then params[scribunto_param_key(preprocess(param[1], args))] = php_trim(tostring(param[2])) else implicit = implicit + 1 params[implicit] = tostring(param) -- Not trimmed. end end return params end -- Normalize the template name, check it's a valid template, then memoize results (using false for invalid titles). -- Parser functions (e.g. {{#IF:a|b|c}}) need to have the first argument extracted from the title, as it comes after the colon. Because of this, the parser function and first argument are memoized as a table. -- FIXME: Some parser functions have special argument handling (e.g. {{#SWITCH:}}). do local memo = {} local function get_array_params(self) local params = {} for i = 2, #self do params[i - 1] = tostring(self[i]) end return params end local function convert_to_parser_function(self, name, arg1) insert(self, 2, arg1) self.get_params = get_array_params return name end function Template:get_name(args) local name = preprocess(self[1], args) local norm = memo[name] if norm then if type(norm) == "table" then return convert_to_parser_function(self, norm[1], norm[2]) end return norm elseif norm == false then return end local chunks, pf_arg1 = parse_template_name(name, #self > 1) -- Fail if invalid. if not chunks then memo[name] = false return end local chunk1 = chunks[1] -- Fail on SUBST:. if chunk1 == "SUBST:" then memo[name] = false return -- If pf_arg1 is returned, it's a parser function with pf_arg1 as the first argument. -- Any modifiers are ignored. elseif pf_arg1 then local pf = chunks[#chunks] memo[name] = {pf, pf_arg1} return convert_to_parser_function(self, pf, pf_arg1) end -- Ignore SAFESUBST:, and treat MSGNW: as a parser function with the pagename as its first argument (ignoring any RAW: that comes after). if chunks[chunk1 == "SAFESUBST:" and 2 or 1] == "MSGNW:" then pf_arg1 = chunks[#chunks] memo[name] = {"MSGNW:", pf_arg1} return convert_to_parser_function(self, "MSGNW:", pf_arg1) end -- Ignore any remaining modifiers, as they've done their job. output = chunks[#chunks] memo[name] = output return output end end function Template:preprocess() return frame:preprocess(tostring(self)) end local Tag = Node:new_class("tag") function Tag:__tostring() local open_tag, attributes, i = {"<", self.name}, self:get_attributes(), 2 for attr, value in next, attributes do i = i + 1 -- Quote value using "" by default, '' if it contains ", and leave unquoted if it contains both. local quoter = not find(value, "\"", 1, true) and "\"" or not find(value, "'", 1, true) and "'" or match(value, "^()[^\t\n\f\r ]*$") and "" or -- This shouldn't happen, unless the node has been edited manually. Not possible to stringify in a way that can be interpreted by the native parser, since it doesn't recognise escapes. error("Tag attribute values cannot contain all three of \", ' and whitespace simultaneously.") open_tag[i] = " " .. attr .. "=" .. quoter .. value .. quoter end if self.self_closing then return concat(open_tag) .. "/>" end return concat(open_tag) .. ">" .. concat(self) .. "</" .. self.name .. ">" end function Tag:get_attributes() local raw = self.attributes if not raw then self.attributes = {} return self.attributes elseif type(raw) == "table" then return raw end if sub(raw, -1) == "/" then raw = sub(raw, 1, -2) end local attributes, head = {}, 1 -- Semi-manual implementation of the native regex. while true do local name, loc = match(raw, "([^\t\n\f\r />][^\t\n\f\r /=>]*)()", head) if not name then break end head = loc local value loc = match(raw, "^[\t\n\f\r ]*=[\t\n\f\r ]*()", head) if loc then head = loc value = match(raw, "^%b\"\"", head) or match(raw, "^%b''", head) if value then head = head + #value value = sub(value, 2, -2) else local raw_value raw_value, value = match(raw, "^([\"']?([^\t\n\f\r ]*))", head) head = head + #raw_value end end if not ( match(name, "^[%-%.]") or umatch(name, invalid_tag_attribute_name_char) ) then attributes[lower(name)] = value and decode_entities( php_trim(gsub(value, "[\t\n\r ]+", " ")) ) or "" end end self.attributes = attributes return attributes end function Tag:preprocess() return frame:preprocess(tostring(self)) end local Heading = Node:new_class("heading") function Heading:new(this) if #this > 1 then local success, str = pcall(concat, this) if success then return Node.new(self, { str, level = this.level, section = this.section, pos = this.pos }) end end return Node.new(self, this) end function Heading:__tostring() local eq = rep("=", self.level) return eq .. Node.__tostring(self) .. eq end function Heading:get_name(args) return php_trim(Node.preprocess(self, args)) end function Heading:preprocess(args) local eq = rep("=", self.level) return eq .. Node.preprocess(self, args) .. eq end ------------------------------------------------------------------------------------ -- -- Parser -- ------------------------------------------------------------------------------------ function Parser:read(i, j) local head, i = self.head, i or 0 return sub(self.text, head + i, head + (j or i)) end function Parser:advance(n) self.head = self.head + (n or self[-1].step or 1) end function Parser:consume(this) local layer = self[-1] if not this then local text, head = self.text, self.head local loc1, loc2 = find(text, layer.pattern, head) this = sub(text, head, loc1 and (loc1 == head and loc2 or loc1 - 1) or nil) end layer.step = #this return layer.handler(self, this) end -- Template or argument. -- Parsed by matching the opening braces innermost-to-outermost (ignoring lone closing braces). Arguments {{{ }}} take priority over templates {{ }} where possible, but a double closing brace will always result in a closure, even if there are 3+ opening braces. -- For example, "{{{{foo}}}}" (4) is parsed as an argument enclosed by single braces, and "{{{{{foo}}}}}" (5) is an argument inside a template. However, "{{{{{foo }} }}}" is a template inside an argument, due to "}}" forcing the closure of the inner node. do -- Handlers. local handle_name local handle_parameter function handle_name(self, ...) handle_name = self:switch(handle_name, { ["\n"] = Parser.heading_block, ["<"] = Parser.tag, ["["] = Parser.wikilink_block, ["{"] = Parser.braces, ["|"] = function(self) self:emit(Wikitext:new(self:pop_sublayer())) self:push_sublayer(handle_parameter) self[-1].pattern = "[\n<=%[{|}]" end, ["}"] = function(self) if self:read(1) == "}" then self:emit(Wikitext:new(self:pop_sublayer())) return self:pop() end self:emit("}") end, [""] = Parser.fail_route, [false] = Parser.emit }) return handle_name(self, ...) end function handle_parameter(self, ...) local function emit_parameter(self) local param = Wikitext:new(self:pop_sublayer()) local layer = self[-1] local key = layer.key if key then param = Parameter:new{key, param} layer.key = nil end self:emit(param) end handle_parameter = self:switch(handle_parameter, { ["\n"] = function(self) if self[-1].key then return self:heading_block() end self:newline() while self:read(0, 2) == "\n==" do self:advance() self:emit(select(2, self:get("do_heading_block"))) end end, ["<"] = Parser.tag, ["="] = function(self) local key = Wikitext:new(self:pop_sublayer()) self[-1].key = key self:push_sublayer(handle_parameter) self[-1].pattern = "[\n<%[{|}]" end, ["["] = Parser.wikilink_block, ["{"] = Parser.braces, ["|"] = function(self) emit_parameter(self) self:push_sublayer(handle_parameter) self[-1].pattern = "[\n<=%[{|}]" end, ["}"] = function(self) if self:read(1) == "}" then emit_parameter(self) return self:pop() end self:emit("}") end, [""] = Parser.fail_route, [false] = Parser.emit }) return handle_parameter(self, ...) end function Parser:do_template_or_argument() self:push_sublayer(handle_name) self[-1].pattern = "[\n<%[{|}]" end function Parser:template_or_argument() local text, head, node_to_emit = self.text, self.head -- Comments/tags interrupt the brace count. local braces = match(text, "^{+()", head) - head self:advance(braces) repeat local success, node = self:get("do_template_or_argument") if not success then self:emit(rep("{", braces)) break elseif node_to_emit then -- Nest the already-parsed node at the start of the new node. local node1 = node[1] node[1] = ( node1 == "" and node_to_emit or Wikitext:new{node_to_emit, node1} ) end if self:read(2) == "}" and braces > 2 then self:advance(3) braces = braces - 3 node = Argument:new(node) else self:advance(2) braces = braces - 2 node = Template:new(node) end local pos = head + braces node.pos = pos node.raw = sub(text, pos, self.head - 1) node_to_emit = node if braces == 1 then self:emit("{") break end until braces == 0 if node_to_emit then self:emit(node_to_emit) end return self:consume() end end -- Tag. do local tags = data.tags -- Handlers. local handle_start local handle_tag local function is_ignored_tag(self, this) if self.transcluded then return this == "includeonly" end return this == "noinclude" or this == "onlyinclude" end local function ignored_tag(self, text, head) local loc = find(text, ">", head, true) if not loc then return self:fail_route() end self.head = loc self[-1].ignored = true return self:pop() end function handle_start(self, this) if this == "/" then local text, head = self.text, self.head + 1 local this = match(text, "^[^%s/>]+", head) if this and is_ignored_tag(self, lower(this)) then head = head + #this if not match(text, "^/[^>]", head) then return ignored_tag(self, text, head) end end return self:fail_route() elseif this == "" then return self:fail_route() end this = lower(this) if not tags[this] then return self:fail_route() end local layer = self[-1] local text, head = self.text, self.head + layer.step if match(text, "^/[^>]", head) then return self:fail_route() elseif is_ignored_tag(self, this) then return ignored_tag(self, text, head) elseif this == "noinclude" or this == "includeonly" then layer.ignored = true -- Ignored block. end layer.name, layer.handler, layer.pattern = this, handle_tag, ">" end function handle_tag(self, this) if this == "" then return self:fail_route() elseif this ~= ">" then self[-1].attributes = this return elseif self:read(-1) == "/" then self[-1].self_closing = true return self:pop() end local text, head, layer = self.text, self.head + 1, self[-1] local loc1, loc2 = find(text, tags[layer.name], head) if loc1 then if loc1 > head then self:emit(sub(text, head, loc1 - 1)) end self.head = loc2 return self:pop() elseif layer.ignored then self.head = #self.text return self:pop() end return self:fail_route() end function Parser:do_tag() local layer = self[-1] layer.handler, layer.pattern = handle_start, "[%s/>]" self:advance() end local function find_next_chunk(text, pattern, head) return select(2, find(text, pattern, head, true)) or #text end function Parser:tag() -- HTML comment. if self:read(1, 3) == "!--" then self.head = find_next_chunk(self.text, "-->", self.head + 4) -- onlyinclude closing tag. elseif self.onlyinclude and self:read(1, 13) == "/onlyinclude>" then self.head = find_next_chunk(self.text, "<onlyinclude>", self.head + 14) else local success, tag = self:get("do_tag") if not success then self:emit("<") elseif not tag.ignored then self:emit(Tag:new(tag)) end end end end -- Heading. -- The preparser assigns each heading a number, which is used for things like section edit links. The preparser will only do this for heading blocks which aren't nested inside templates, arguments and parser tags. In some cases (e.g. when template blocks contain untrimmed newlines), a preparsed heading may not be treated as a heading in the final output. That does not affect the preparser, however, which will always count sections based on the preparser heading count, since it can't know what a template's final output will be. do -- Handlers. local handle_start local handle_body local handle_possible_end function handle_start(self, ...) -- ===== is "=" as an L2; ======== is "==" as an L3 etc. local function newline(self) local layer = self[-1] local eq = layer.level if eq <= 2 then return self:fail_route() end -- Calculate which equals signs determine the heading level. local level_eq = eq - (2 - eq % 2) level_eq = level_eq > 12 and 12 or level_eq -- Emit the excess. self:emit(rep("=", eq - level_eq)) layer.level = level_eq / 2 return self:pop() end local function whitespace(self) local success, possible_end = self:get("do_heading_possible_end") if success then self:emit(Wikitext:new(possible_end)) local layer = self[-1] layer.handler, layer.pattern = handle_body, "[\n<={]" return self:consume() end return newline(self) end handle_start = self:switch(handle_start, { ["\t"] = whitespace, ["\n"] = newline, [" "] = whitespace, [""] = newline, [false] = function(self) -- Emit any excess = signs once we know it's a conventional heading. Up till now, we couldn't know if the heading is just a string of = signs (e.g. ========), so it wasn't guaranteed that the heading text starts after the 6th. local layer = self[-1] local eq = layer.level if eq > 6 then self:emit(1, rep("=", eq - 6)) layer.level = 6 end layer.handler, layer.pattern = handle_body, "[\n<={]" return self:consume() end }) return handle_start(self, ...) end function handle_body(self, ...) handle_body = self:switch(handle_body, { ["\n"] = Parser.fail_route, ["<"] = Parser.tag, ["="] = function(self) -- Comments/tags interrupt the equals count. local eq = match(self.text, "^=+", self.head) local eq_len = #eq self:advance(eq_len) local success, possible_end = self:get("do_heading_possible_end") if success then self:emit(eq) self:emit(Wikitext:new(possible_end)) return self:consume() end local layer = self[-1] local level = layer.level if eq_len > level then self:emit(rep("=", eq_len - level)) elseif level > eq_len then layer.level = eq_len self:emit(1, rep("=", level - eq_len)) end return self:pop() end, ["{"] = function(self) if self:read(1) == "{" then return self:template_or_argument() end self:emit("{") end, [""] = Parser.fail_route, [false] = Parser.emit }) return handle_body(self, ...) end function handle_possible_end(self, ...) handle_possible_end = self:switch(handle_possible_end, { ["\n"] = Parser.fail_route, ["<"] = function(self) local head = ( self:read(1, 3) == "!--" and select(2, find(self.text, "-->", self.head + 4, true)) ) if not head then return self:pop() end self.head = head end, [""] = Parser.fail_route, [false] = function(self, this) if not match(this, "^[\t ]+$") then return self:pop() end self:emit(this) end }) return handle_possible_end(self, ...) end function Parser:do_heading() local layer, head = self[-1], self.head layer.handler, layer.pattern, layer.pos = handle_start, "[\t\n ]", head -- Comments/tags interrupt the equals count. local eq = match(self.text, "^=+()", head) - head layer.level = eq self:advance(eq) end function Parser:do_heading_possible_end() local layer = self[-1] layer.handler, layer.pattern = handle_possible_end, "[\n<]" end function Parser:heading() local success, heading = self:get("do_heading") if success then local section = self.section + 1 heading.section = section self.section = section self:emit(Heading:new(heading)) return self:consume() else self:emit("=") end end end ------------------------------------------------------------------------------------ -- -- Block handlers -- ------------------------------------------------------------------------------------ -- Block handlers. -- These are blocks which can affect template/argument parsing, since they're also parsed by Parsoid at the same time (even though they aren't processed until later). -- All blocks (including templates/arguments) can nest inside each other, but an inner block must be closed before the outer block which contains it. This is why, for example, the wikitext "{{template| [[ }}" will result in an unprocessed template, since the inner "[[" is treated as the opening of a wikilink block, which prevents "}}" from being treated as the closure of the template block. On the other hand, "{{template| [[ ]] }}" will process correctly, since the wikilink block is closed before the template closure. It makes no difference whether the block will be treated as valid or not when it's processed later on, so "{{template| [[ }} ]] }}" would also work, even though "[[ }} ]]" is not a valid wikilink. -- Note that nesting also affects pipes and equals signs, in addition to block closures. -- These blocks can be nested to any degree, so "{{template| [[ [[ [[ ]] }}" will not work, since only one of the three wikilink blocks has been closed. On the other hand, "{{template| [[ [[ [[ ]] ]] ]] }}" will work. -- All blocks are implicitly closed by the end of the text, since their validity is irrelevant at this stage. -- Language conversion block. -- Opens with "-{" and closes with "}-". However, templates/arguments take priority, so "-{{" is parsed as "-" followed by the opening of a template/argument block (depending on what comes after). -- Note: Language conversion blocks aren't actually enabled on the English Wiktionary, but Parsoid still parses them at this stage, so they can affect the closure of outer blocks: e.g. "[[ -{ ]]" is not a valid wikilink block, since the "]]" falls inside the new language conversion block. do local function handle_language_conversion_block(self, ...) handle_language_conversion_block = self:switch(handle_language_conversion_block, { ["\n"] = Parser.heading_block, ["<"] = Parser.tag, ["["] = Parser.wikilink_block, ["{"] = Parser.braces, ["}"] = function(self) if self:read(1) == "-" then self:emit("}-") self:advance() return self:pop() end self:emit("}") end, [""] = Parser.pop, [false] = Parser.emit }) return handle_language_conversion_block(self, ...) end function Parser:do_language_conversion_block() local layer = self[-1] layer.handler, layer.pattern = handle_language_conversion_block, "[\n<%[{}]" end function Parser:braces() if self:read(1) == "{" then return self:template_or_argument() end self:emit("{") if self:read(-1) == "-" then self:advance() self:emit(Wikitext:new(select(2, self:get("do_language_conversion_block")))) end end end -- Headings -- Opens with "\n=" (or "=" at the start of the text), and closes with "\n" or the end of the text. Note that it doesn't matter whether the heading will fail to process due to a premature newline (e.g. if there are no closing signs), so at this stage the only thing that matters for closure is the newline or end of text. -- Note: Heading blocks are only parsed like this if they occur inside a template, since they do not iterate the preparser's heading count (i.e. they aren't proper headings). -- Note 2: if directly inside a template parameter with no previous equals signs, a newline followed by a single equals sign is parsed as a parameter equals sign, not the opening of a new L1 heading block. This does not apply to any other heading levels. As such, {{template|parameter\n=}}, {{template|key\n=value}} or even {{template|\n=}} will successfully close, but {{template|parameter\n==}}, {{template|key=value\n=more value}}, {{template\n=}} etc. will not, since in the latter cases the "}}" would fall inside the new heading block. do local function handle_heading_block(self, ...) handle_heading_block = self:switch(handle_heading_block, { ["\n"] = function(self) self:newline() return self:pop() end, ["<"] = Parser.tag, ["["] = Parser.wikilink_block, ["{"] = Parser.braces, [""] = Parser.pop, [false] = Parser.emit }) return handle_heading_block(self, ...) end function Parser:do_heading_block() local layer = self[-1] layer.handler, layer.pattern = handle_heading_block, "[\n<%[{]" end function Parser:heading_block() self:newline() while self:read(0, 1) == "\n=" do self:advance() self:emit(Wikitext:new(select(2, self:get("do_heading_block")))) end end end -- Wikilink block. -- Opens with "[[" and closes with "]]". do local function handle_wikilink_block(self, ...) handle_wikilink_block = self:switch(handle_wikilink_block, { ["\n"] = Parser.heading_block, ["<"] = Parser.tag, ["["] = Parser.wikilink_block, ["]"] = function(self) if self:read(1) == "]" then self:emit("]]") self:advance() return self:pop() end self:emit("]") end, ["{"] = Parser.braces, [""] = Parser.pop, [false] = Parser.emit }) return handle_wikilink_block(self, ...) end function Parser:do_wikilink_block() local layer = self[-1] layer.handler, layer.pattern = handle_wikilink_block, "[\n<%[%]{]" end function Parser:wikilink_block() if self:read(1) == "[" then self:emit("[[") self:advance(2) self:emit(Wikitext:new(select(2, self:get("do_wikilink_block")))) else self:emit("[") end end end -- Lines which only contain comments, " " and "\t" are eaten, so long as they're bookended by "\n" (i.e. not the first or last line). function Parser:newline() local text, head = self.text, self.head while true do repeat local loc = match(text, "^[\t ]*<!%-%-()", head + 1) if not loc then break end loc = select(2, find(text, "-->", loc, true)) head = loc or head until not loc -- Fail if no comments found. if head == self.head then break end head = match(text, "^[\t ]*()\n", head + 1) if not head then break end self.head = head end self:emit("\n") end do -- Handlers. local handle_start local main_handler -- If the first character is "=", try parsing it as a heading. function handle_start(self, this) local layer = self[-1] layer.handler, layer.pattern = main_handler, "[\n<{]" if this == "=" then return self:heading() end return self:consume() end function main_handler(self, ...) main_handler = self:switch(main_handler, { ["\n"] = function(self) self:newline() if self:read(1) == "=" then self:advance() return self:heading() end end, ["<"] = Parser.tag, ["{"] = function(self) if self:read(1) == "{" then return self:template_or_argument() end self:emit("{") end, [""] = Parser.pop, [false] = Parser.emit }) return main_handler(self, ...) end -- If `transcluded` is true, then the text is checked for a pair of onlyinclude tags. If these are found (even if they're in the wrong order), then the start of the page is treated as though it is preceded by a closing onlyinclude tag. -- Note 1: unlike other parser extension tags, onlyinclude tags are case-sensitive and cannot contain whitespace. -- Note 2: onlyinclude tags *can* be implicitly closed by the end of the text, but the hard requirement above means this can only happen if either the tags are in the wrong order or there are multiple onlyinclude blocks. function Parser:do_parse(transcluded) local layer = self[-1] layer.handler, layer.pattern = handle_start, "." self.section = 0 if not transcluded then return end self.transcluded = true local text = self.text if find(text, "</onlyinclude>", 1, true) then local head = find(text, "<onlyinclude>", 1, true) if head then self.onlyinclude = true self.head = head + 13 end end end function export.parse(text, transcluded) local text_type = type(text) return (select(2, Parser:parse{ text = text_type == "string" and text or text_type == "number" and format("%.14g", text) or error("bad argument #1 (string expected, got " .. text_type .. ")"), node = {Wikitext, true}, route = {"do_parse", transcluded} })) end parse = export.parse end do local parser_functions_s = data.parser_functions_case_sensitive local parser_functions_i = data.parser_functions_case_insensitive local parser_variables_s = data.parser_variables_case_sensitive local parser_variables_i = data.parser_variables_case_insensitive local transclusion_modifiers = data.transclusion_modifiers -- Mainspace titles starting with "#" should be invalid, but a bug in mw.title.new means a title object is returned that has the empty string for prefixedText, so we need to filter them out. Interwiki links aren't valid as templates, either. local function is_valid_title(title) return title and #title.prefixedText > 0 and #title.interwiki == 0 end function export.parseTemplateName(name, has_args) local chunks, colon, start, n, p = {}, find(name, ":", 1, true), 1, 0, 0 while colon do -- Pattern is a PHP left-trim. local chunk = match(sub(name, start, colon), "[^%z\t-\v\r ].*") or "" local normalized = upper(chunk) local priority = transclusion_modifiers[normalized] if not (priority and priority > p) then local pf = parser_functions_s[chunk] or parser_functions_i[normalized] if pf then n = n + 1 chunks[n] = normalized return chunks, sub(name, colon + 1) end break end n = n + 1 chunks[n] = normalized start, p = colon + 1, priority colon = find(name, ":", start, true) end if start > 1 then name = sub(name, start) end name = php_trim(name) -- Parser variables can only take SUBST:/SAFESUBST: as modifiers. if not has_args and p <= 1 then local pv = parser_variables_s[name] or parser_variables_i[upper(name)] if pv then n = n + 1 chunks[n] = pv return chunks end end local title = new_title(name, 10) if not is_valid_title(title) then return nil end -- Resolve any redirects. -- Unlike links, double redirects seem to work (but not higher). -- If the redirect target is an interwiki link, then the template won't fail, but the redirect page itself gets transcluded (i.e. the template name shouldn't be normalized to the target). for _ = 1, 2 do local redirect = title.redirectTarget if not is_valid_title(redirect) then break end title = redirect end local namespace = title.namespace n = n + 1 -- Normalize name. -- If not in the template namespace, include the prefix (or ":" if mainspace). if namespace ~= 10 then chunks[n] = namespace == 0 and ":" .. title.text or title.prefixedText return chunks end -- Otherwise if the template shares a name with a magic word, it needs the prefix "Template:". local text = title.text if parser_functions_s[text] or parser_variables_s[text] then chunks[n] = title.prefixedText return chunks end local normalized = upper(text) if ( parser_functions_i[normalized] or parser_variables_i[normalized] or transclusion_modifiers[normalized] ) then chunks[n] = title.prefixedText elseif not find(text, ":", 1, true) then chunks[n] = text -- Also if the prefix is necessary for disambiguation (e.g. "Template:Category:Foo" can't be abbreviated to "Category:Foo"). else local check = new_title(text, 10) chunks[n] = check and title_equals(title, check) and text or title.prefixedText end return chunks end parse_template_name = export.parseTemplateName end function export.parseTemplate(text, not_transcluded) text = parse(text, not not_transcluded) if type_or_class(text) == "template" then local name = text:get_name() if name then return name, text:get_params() end end end do local function next_template(iter) while true do repeat -- break acts like continue local node = iter() if not node then return elseif type_or_class(node) ~= "template" then break end local name = node:get_name() if name then return name, node:get_params(), node.raw, node.pos end until true end end function export.findTemplates(text, not_transcluded) return next_template, parse(text, not not_transcluded):__pairs("next_node") end end do local function next_argument(iter) while true do local node = iter() if not node then return elseif type_or_class(node) == "argument" then local args = iter.args return node:get_name(args), node:get_default(args), node.raw, node.pos end end end function export.findArguments(text, args, not_transcluded) local iter = parse(text, not not_transcluded):__pairs("next_node") iter.args = args return next_argument, iter end end do local function check_level(level) if type(level) ~= "number" then error("Heading levels must be numbers.") elseif level < 1 or level > 6 or level % 1 ~= 0 then error("Heading levels must be integers between 1 and 6.") end return level end local function next_heading(iter) while true do repeat -- break acts like continue local node = iter() if not node then return elseif type_or_class(node) ~= "heading" then break end local level = node.level if level < iter.i or level > iter.j then break end local name = node:get_name() if not find(name, "\n", 1, true) then return name, level, node.section, node.pos end until true end end -- Note: heading names can contain "\n" (e.g. inside nowiki tags), which causes any heading containing them to fail. When that happens, the heading is not returned by this function, but the heading count is still iterated, since Parsoid's preprocessor still counts it as a heading for the purpose of heading strip markers (i.e. the section number). -- TODO: section numbers for edit links seem to also include headings nested inside templates and arguments (but apparently not those in parser extension tags - need to test this more). If we ever want to add section edit links manually, this will need to be accounted for. function export.findHeadings(text, i, j) local iter = parse(text):__pairs("next_node") iter.i, iter.j = i and check_level(i) or 1, j and check_level(j) or 6 return next_heading, iter end end return export s8717116d0sf2mt0kia1zeiak6ph738 Module:fun 828 3117 8595 2024-04-27T07:46:56Z Rebel Agent 2678 Created page with "local export = {} local libraryUtil = require("libraryUtil") local checkType = libraryUtil.checkType local checkTypeMulti = libraryUtil.checkTypeMulti local format = string.format local getmetatable = getmetatable local ipairs = ipairs local is_callable -- defined as export.is_callable below local pairs = pairs local select = select local tostring = tostring local type = type local unpack = unpack local iterableTypes = { "table", "string" } local function _check(func..." 8595 Scribunto text/plain local export = {} local libraryUtil = require("libraryUtil") local checkType = libraryUtil.checkType local checkTypeMulti = libraryUtil.checkTypeMulti local format = string.format local getmetatable = getmetatable local ipairs = ipairs local is_callable -- defined as export.is_callable below local pairs = pairs local select = select local tostring = tostring local type = type local unpack = unpack local iterableTypes = { "table", "string" } local function _check(funcName, expectType) if type(expectType) == "string" then return function(argIndex, arg, nilOk) return checkType(funcName, argIndex, arg, expectType, nilOk) end else return function(argIndex, arg, expectType, nilOk) if type(expectType) == "table" then if not (nilOk and arg == nil) then return checkTypeMulti(funcName, argIndex, arg, expectType) end else return checkType(funcName, argIndex, arg, expectType, nilOk) end end end end -- Iterate over UTF-8-encoded codepoints in string. local function iterString(str) local iter = string.gmatch(str, ".[\128-\191]*") local i = 0 local function iterator() i = i + 1 local char = iter() if char then return i, char end end return iterator end --[==[ Return {true} if the input is a function or functor (a table which can be called like a function, because it has a {__call} metamethod). ]==] function export.is_callable(f) local f_type = type(f) if f_type == "function" then return true elseif f_type ~= "table" then return false end local mt = getmetatable(f) -- __call metamethods have to be functions, not functors. return mt and type(mt.__call) == "function" or false end is_callable = export.is_callable function export.chain(func1, func2, ...) return func1(func2(...)) end -- map(function(number) return number ^ 2 end, -- { 1, 2, 3 }) --> { 1, 4, 9 } -- map(function (char) return string.char(string.byte(char) - 0x20) end, -- "abc") --> { "A", "B", "C" } function export.map(func, iterable, isArray) local check = _check 'map' check(1, func, "function") check(2, iterable, iterableTypes) local array = {} local iterator = type(iterable) == "string" and iterString or (isArray or iterable[1] ~= nil) and ipairs or pairs for i_or_k, val in iterator(iterable) do array[i_or_k] = func(val, i_or_k, iterable) end return array end function export.mapIter(func, iter, iterable, initVal) local check = _check 'mapIter' check(1, func, "function") check(2, iter, "function") check(3, iterable, iterableTypes, true) -- initVal could be anything local array = {} local i = 0 for x, y in iter, iterable, initVal do i = i + 1 array[i] = func(y, x, iterable) end return array end function export.forEach(func, iterable, isArray) local check = _check 'forEach' check(1, func, "function") check(2, iterable, iterableTypes) local iterator = type(iterable) == "string" and iterString or (isArray or iterable[1] ~= nil) and ipairs or pairs for i_or_k, val in iterator(iterable) do func(val, i_or_k, iterable) end return nil end ------------------------------------------------- -- From http://lua-users.org/wiki/CurriedLua -- reverse(...) : take some tuple and return a tuple of elements in reverse order -- -- e.g. "reverse(1,2,3)" returns 3,2,1 local function reverse(...) -- reverse args by building a function to do it, similar to the unpack() example local function reverseHelper(acc, v, ...) if select('#', ...) == 0 then return v, acc() else return reverseHelper(function() return v, acc() end, ...) end end -- initial acc is the end of the list return reverseHelper(function() return end, ...) end function export.curry(func, numArgs) -- currying 2-argument functions seems to be the most popular application numArgs = numArgs or 2 -- no sense currying for 1 arg or less if numArgs <= 1 then return func end -- helper takes an argTrace function, and number of arguments remaining to be applied local function curryHelper(argTrace, n) if n == 0 then -- kick off argTrace, reverse argument list, and call the original function return func(reverse(argTrace())) else -- "push" argument (by building a wrapper function) and decrement n return function(onearg) return curryHelper(function() return onearg, argTrace() end, n - 1) end end end -- push the terminal case of argTrace into the function first return curryHelper(function() return end, numArgs) end ------------------------------------------------- -- some(function(val) return val % 2 == 0 end, -- { 2, 3, 5, 7, 11 }) --> true function export.some(func, t, isArray) if isArray or t[1] ~= nil then -- array for i, v in ipairs(t) do if func(v, i, t) then return true end end else for k, v in pairs(t) do if func(v, k, t) then return true end end end return false end -- all(function(val) return val % 2 == 0 end, -- { 2, 4, 8, 10, 12 }) --> true function export.all(func, t, isArray) if isArray or t[1] ~= nil then -- array for i, v in ipairs(t) do if not func(v, i, t) then return false end end else for k, v in pairs(t) do if not func(v, k, t) then return false end end end return true end function export.filter(func, t, isArray) local new_t = {} if isArray or t[1] ~= nil then -- array local new_i = 0 for i, v in ipairs(t) do if func(v, i, t) then new_i = new_i + 1 new_t[new_i] = v end end else for k, v in pairs(t) do if func(v, k, t) then new_t[k] = v -- or create array? end end end return new_t end function export.fold(func, t, accum) for i, v in ipairs(t) do accum = func(accum, v, i, t) end return accum end ------------------------------- -- Fancy stuff local function capture(...) local vals = { n = select('#', ...), ... } return function() return unpack(vals, 1, vals.n) end end -- Log input and output of function. -- Receives a function and returns a modified form of that function. function export.logReturnValues(func, prefix) return function(...) local inputValues = capture(...) local returnValues = capture(func(...)) if prefix then mw.log(prefix, inputValues()) mw.log(returnValues()) else mw.log(inputValues()) mw.log(returnValues()) end return returnValues() end end export.log = export.logReturnValues -- Convenience function to make all functions in a table log their input and output. function export.logAll(t) for k, v in pairs(t) do if type(v) == "function" then t[k] = export.logReturnValues(v, tostring(k)) end end return t end ----- M E M O I Z A T I O N----- -- Memoizes a function or callable table. -- Supports any number of arguments and return values. -- If the optional parameter `simple` is set, then the memoizer will use a faster implementation, but this is only compatible with one argument and one return value. If `simple` is set, additional arguments will be accepted, but this should only be done if those arguments will always be the same. do -- Placeholders. local args, nil_, pos_nan, neg_nan, neg_0 -- Certain potential argument values can't be used as table keys, so we use placeholders for them instead: e.g. f("foo", nil, "bar") would be memoized at f["foo"][nil_]["bar"][args]. These values are: -- nil. -- -0, which is equivalent to 0 in most situations, but becomes "-0" on conversion to string; it also behaves differently in some operations (e.g. 1/a evaluates to inf if a is 0, but -inf if a is -0). -- NaN and -NaN, which are the only values for which n == n is false; they only seem to differ on conversion to string ("nan" and "-nan"). local function get_key(input) -- nil if input == nil then if not nil_ then nil_ = {} end return nil_ -- -0 elseif input == 0 and 1 / input < 0 then if not neg_0 then neg_0 = {} end return neg_0 -- Default elseif input == input then return input -- NaN elseif format("%f", input) == "nan" then if not pos_nan then pos_nan = {} end return pos_nan -- -NaN elseif not neg_nan then neg_nan = {} end return neg_nan end -- Return values are memoized as tables of return values, which are looked up using each input argument as a key, followed by args. e.g. if the input arguments were (1, 2, 3), the memo would be located at t[1][2][3][args]. args is always used as the final lookup key so that (for example) the memo for f(1, 2, 3), f[1][2][3][args], doesn't interfere with the memo for f(1, 2), f[1][2][args]. local function get_memo(memo, n, nargs, key, ...) key = get_key(key) local next_memo = memo[key] if next_memo == nil then next_memo = {} memo[key] = next_memo end memo = next_memo return n == nargs and memo or get_memo(memo, n + 1, nargs, ...) end -- Catch the function output values, and return the hidden variable arg (which is {...}, and available when a function has ...). We do this instead of catching the output in a table directly, because arg also contains the key "n", which is equal to select("#", ...). i.e. it's the number of arguments in ..., including any nils returned after the last non-nil value (e.g. select("#", nil) == 1, select("#") == 0, select("#", nil, "foo", nil, nil) == 4 etc.). The distinction between nil and nothing affects some native functions (e.g. tostring() throws an error, but tostring(nil) returns "nil"), so it needs to be reconstructable from the memo. local function catch_output(...) return arg end function export.memoize(func, simple) if not is_callable(func) then local _type = type(func) error(format( "Only functions and callable tables are memoizable. Received %s.", _type == "table" and "non-callable table" or _type )) end local memo = {} return simple and function(...) local key = get_key(...) local output = memo[key] if output ~= nil then return output ~= nil_ and output or nil end output = func(...) if output ~= nil then memo[key] = output return output elseif not nil_ then nil_ = {} end memo[key] = nil_ return nil end or function(...) local nargs = select("#", ...) local memo = nargs == 0 and memo or get_memo(memo, 1, nargs, ...) if not args then args = {} end local output = memo[args] if output == nil then output = catch_output(func(...)) memo[args] = output end -- Unpack from 1 to the original number of return values (memoized as output.n); unpack returns nil for any values not in output. return unpack(output, 1, output.n) end end end return export cq936sw2ekfspygsaaxwu752m0037tx Module:utilities/require when needed 828 3118 8596 2024-04-27T07:49:19Z Rebel Agent 2678 Created page with "local loaded = package.loaded local require = require local setmetatable = setmetatable return function(text, key) local module = loaded[text] if module then return key and module[key] or module end local mt = {} function mt:__index(k) module = module or key and require(text)[key] or require(text) return module[k] end function mt:__call(...) module = module or key and require(text)[key] or require(text) return module(...) end return setmetat..." 8596 Scribunto text/plain local loaded = package.loaded local require = require local setmetatable = setmetatable return function(text, key) local module = loaded[text] if module then return key and module[key] or module end local mt = {} function mt:__index(k) module = module or key and require(text)[key] or require(text) return module[k] end function mt:__call(...) module = module or key and require(text)[key] or require(text) return module(...) end return setmetatable({}, mt) end 85qck5th0299lnt46ryhotuf3eo6il2 Module:parameters/remove holes 828 3119 8598 2024-04-27T08:04:06Z Rebel Agent 2678 Created page with "-- A helper function that removes empty numeric indexes in a table, -- so that the values are tightly packed like in a normal Lua table. -- equivalent to require("Module:table").compressSparseArray return function(t) local highest = 0 for num, _ in pairs(t) do if type(num) == "number" and num > 0 and num < math.huge and math.floor(num) == num then highest = math.max(highest, num) end end local need_to_compress = false for i = 1, highest do if t[i] == nil th..." 8598 Scribunto text/plain -- A helper function that removes empty numeric indexes in a table, -- so that the values are tightly packed like in a normal Lua table. -- equivalent to require("Module:table").compressSparseArray return function(t) local highest = 0 for num, _ in pairs(t) do if type(num) == "number" and num > 0 and num < math.huge and math.floor(num) == num then highest = math.max(highest, num) end end local need_to_compress = false for i = 1, highest do if t[i] == nil then need_to_compress = true break end end if not need_to_compress then -- The previous algorithm always copied, which implicitly removed 'maxindex' (and other non-numeric keys). -- Some code calls next(val) to check for a value being present, which depends on 'maxindex' not being present, -- so remove it. t.maxindex = nil return t else local ret = {} local index = 1 for i = 1, highest do if t[i] ~= nil then ret[index] = t[i] index = index + 1 end end return ret end end cmogfb9nj7saiou8cd10kssumk1m2w1 Karolo:gld:All topics 14 3121 8629 2024-08-14T01:25:29Z 24.218.187.220 Created page with "''Сөздік''" 8629 wikitext text/x-wiki ''Сөздік'' juqb081u5c9ravlhos02vvrrym9e8dl